Internetworking

Propaganda
Internetworking
Interconexão de Redes
Sumário
–
–
–
–
Interconexão de redes heterogêneas
Serviço universal de comunicação
O modelo de serviço de interredes
Esquema de endereçamento global
Curso de Redes de Computadores, 2004
DCC - ICEx - UFMG
Prof. José Marcos Silva Nogueira
Redes de Computadores – DCC UFMG
<#>
IP Internet
• Concatenation of Networks
Network 1 (Ethernet)
H7
H2
H1
R3
H8
H3
Network 4
(point-to-point)
Network 2 (Ethernet)
R1
R2
H4
Network 3 (FDDI)
H5
Redes de Computadores – DCC UFMG
H6
<#>
Motivação para interconexão
• Diferentes tecnologias de rede oferecem
diferentes características:
– LANs: alta velocidade, pequena distância
– WANs: comunicação numa grande área
– Não existe uma única tecnologia de rede que é
melhor para todas as necessidades
Redes de Computadores – DCC UFMG
<#>
Motivação para interconexão
• É comum uma grande organização ter várias
redes físicas, cada uma adequada para um
determinado tipo de ambiente
Redes de Computadores – DCC UFMG
<#>
Conceito de Serviço Universal
• Serviço universal:
– Permite que um usuário ou aplicação num
computador troque informações com qualquer
outro usuário ou aplicação em outro computador
da rede
• Um sistema de comunicação que provê
serviço universal permite que pares
arbitrários de computadores se comuniquem
Redes de Computadores – DCC UFMG
<#>
Conceito de Serviço Universal
• Incompatibilidades entre hardware de rede e
endereçamento físico fazem com que não
seja possível criar uma rede com diferentes
tecnologias
• Solução
– Interconexão entre redes através de hardware e
software
• Sistema resultante:
– internet
Redes de Computadores – DCC UFMG
<#>
Hardware básico de uma internet
• Roteador
– Computador de finalidade especial
dedicado a interconexão de redes
• As redes podem usar diferentes
tecnologias como meio físico,
endereçamento, formato de pacotes
Redes de Computadores – DCC UFMG
<#>
Arquitetura de uma internet
• Roteadores comerciais podem ser usa-dos
para conectar mais de duas redes
• Um único roteador não é usado para
conectar todas as redes de uma organização:
– Provável incapacidade do roteador de processar
todos os pacotes entre as redes de forma
apropriada
– Falta de confiabilidade e redundância
Redes de Computadores – DCC UFMG
<#>
Como obter serviço universal
• Objetivo de interconexão:
– Ter serviço universal entre redes heterogêneas
• Como?
– Roteadores devem negociar a sintaxe e
semântica de pacotes entre origem e destino
– Rede virtual: sistema de comunicação é uma
abstração
Redes de Computadores – DCC UFMG
<#>
Rede virtual
Redes de Computadores – DCC UFMG
<#>
Rede virtual
Redes de Computadores – DCC UFMG
<#>
Protocolos para interconexão
• Mais importante de todos: IP
• Interconexão:
– Conceito fundamental das redes modernas
• Para que haja interconexão, hosts e
roteadores precisam do protocolo IP
• Hoje, é comum encontrar roteadores que
executam alguma aplicação também como
funções de gerência
Redes de Computadores – DCC UFMG
<#>
IP Internet
• Protocol Stack
H1
H8
TCP
R1
IP
IP
ETH
R2
ETH
R3
IP
FDDI
Redes de Computadores – DCC UFMG
FDDI
IP
PPP
PPP
TCP
IP
ETH
ETH
<#>
Service Model
• Connectionless (datagram-based)
• Best-effort delivery (unreliable service)
–
–
–
–
packets are lost
packets are delivered out of order
duplicate copies of a packet are delivered
packets can be delayed for a long time
Redes de Computadores – DCC UFMG
<#>
Princípio de funcionamento do
protocolo IP
• Entrega será feita com o “maior esforço”
(best-effort delivery)
• No entanto, IP não garante que não haja:
–
–
–
–
–
Duplicação de pacotes
Entrega atrasada ou fora de ordem
Alteração de dados
Perda de pacotes
Protocolos de outros níveis devem tratar desses
problemas
Redes de Computadores – DCC UFMG
<#>
Service Model
• Datagram format
0
4
Version
8
16
TOS
HLen
31
Length
Ident
TTL
19
Flags
Protocol
Offset
Checksum
SourceAddr
DestinationAddr
Options (variable)
Pad
(variable)
Data
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Version:
– Indica o número da versão corrente
– Permite uma transição “suave” entre versões
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• IHL (Tamanho do cabeçalho):
– Qte de 32 bits presente no cabeçalho
– Mínimo: 5 (sem nenhuma opção)
– Máximo: 15 a 60 bytes (40 opções)
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Tipo de serviço - TOS
– Prioridade (3 bits)
– Flags indicam o que é
mais importante para a
aplicação: menor atraso,
maior vazão, maior
confia-bilidade (3 bits)
– Dois bits não usados
– Na prática, os roteadores
tendem a ignorar este
campo
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Comprimento total do pacote:
– Pode ser até 65535 bytes
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Identificação:
– Identifica o fragmento de um datagrama
– É usado pelo destinatário para remontagem
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Bit DF (don't fragment):
– Indica que o pacote não
deve ser fragmentado
• Bit MF (more
fragments):
– Todos os fragmentos de
um pacote, exceto o
último, setam este bit
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Fragment Offset:
– Indica onde o fragmento se encaixa dentro do pacote
– Cada fragmento, exceto o último, deve ser múltiplo de 8
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Time To Live:
– Teoricamente, indica o tempo máximo que um
pacote pode existir, i.e., 255 s
– Na prática, indica o número máximo de
roteadores que pode passar
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Protocolo:
– Indica o protocolo para o qual deve-se passar o
pacote
– A identificação dos protocolos é dada pela RFC 1700
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Checksum do cabeçalho:
– Tem como objetivo aumentar a confiabilidade do
pacote entregue às camadas superiores
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Endereços dos computadores origem e
destino
Redes de Computadores – DCC UFMG
<#>
Formato do pacote IP
• Opções:
– Forma de incluir informações não presentes na
versão
Redes de Computadores – DCC UFMG
<#>
Fragmentação de pacotes
• A camada de rede de cada protocolo
especifica uma quantidade máxima de dados
que pode enviar de cada vez
• Este limite é conhecido como MTU
(Maximum Transmission Unit)
• Logo, pacotes devem ter no máximo esse
tamanho
Redes de Computadores – DCC UFMG
<#>
Fragmentação de pacotes
• Problema encontrado frequentemente na
prática
Redes de Computadores – DCC UFMG
<#>
Fragmentação de pacotes
• Cabeçalho original deve ser preservado na
fragmentação
• Bit MF e campos de Identificação e Fragment
Offset devem ser usados
Redes de Computadores – DCC UFMG
<#>
Fragmentation and Reassembly
• Each network has some MTU
• Strategy
–
–
–
–
–
–
–
fragment when necessary (MTU < Datagram)
try to avoid fragmentation at source host
re-fragmentation is possible
fragments are self-contained datagrams
use CS-PDU (not cells) for ATM
delay reassembly until destination host
do not recover from lost fragments
Redes de Computadores – DCC UFMG
<#>
Example
H1
ETH IP (1400)
R1
R2
FDDI IP (1400)
Redes de Computadores – DCC UFMG
R3
H8
PPP IP (512)
ETH IP (512)
PPP IP (512)
ETH IP (512)
PPP IP (376)
ETH IP (376)
<#>
Example
Start of header
Ident= x
0
Offset= 0
Rest of header
1400 data bytes
Start of header
Ident= x
1
Offset= 0
Rest of header
512 data bytes
Start of header
Ident= x
1 Offset=64
Rest of header
512 data bytes
Start of header
Ident= x
0 Offset= 128
Rest of header
376 data bytes
Redes de Computadores – DCC UFMG
<#>
Remontagem de pacotes
• Processo inverso ao da fragmentação
• Quem é responsável por essa tarefa?
– Computador de destino responsável por essa
tarefa
Redes de Computadores – DCC UFMG
<#>
Remontagem de pacotes
• O que ocorre se fragmentos são perdidos,
chegam foram de ordem ou atrasados?
• RX não tem como informar TX para enviar
um fragmento já que TX não conhece nada
sobre fragmentação
Redes de Computadores – DCC UFMG
<#>
Remontagem de pacotes
• Solução:
– RX ao receber o primeiro fragmento de um pacote
inicializa um temporizador
– Se todos os fragmentos não chegam antes do
temporizador se esgotar então todos os
fragmentos são ignorados
Redes de Computadores – DCC UFMG
<#>
Fragmentação de fragmentos
• É possível fragmentar fragmentos?
– Sim. O protocolo IP não faz distinção de níveis de
fragmentação
• Na prática, a remontagem pode ser feita mais
rápida se todos os fragmentos forem do
mesmo tamanho
Redes de Computadores – DCC UFMG
<#>
Endereçamento numa
rede virtual
• Componente crítico da abstração fornecida
por uma internet
• Independente dos endereços físicos como os
usados em redes locais
• Ajuda a criar a ilusão de uma rede única e
integrada
• Usuários, aplicações e protocolos de alto
nível usam endereços abstratos para se
comunicar
Redes de Computadores – DCC UFMG
<#>
Esquema de
endereçamento IP
• Na arquitetura TCP/IP, o endereçamento é
especificado pelo Internet Protocol (IP)
• Endereço IP de um computador:
– Número binário único de 32 bits
• Dividido em duas partes:
– Prefixo: identifica a rede física na qual o
computador se encontra (número de rede)
– Sufixo: identifica o computador na rede
Redes de Computadores – DCC UFMG
<#>
Esquema de
endereçamento IP
• Número de rede é único
• Número do prefixo deve ser controlado
globalmente
• Número do sufixo pode ser controlado
localmente
Redes de Computadores – DCC UFMG
<#>
Classes de endereçamento IP
• Compromisso entre tamanho de prefixo e
sufixo que reflete diferentes tamanhos de
rede
• Classes primárias: A, B e C
• Classe D: comunicação em grupo
• Classe E: extensão futura (sem uso)
• É chamado de auto-identificável:
– A classe de um endereço pode ser calculada do
próprio endereço
Redes de Computadores – DCC UFMG
<#>
Global Addresses
• Properties
– globally unique
– hierarchical: network + host
• Dot Notation
– 10.3.2.4
– 128.96.33.81
– 192.12.69.77
A:
B:
C:
Redes de Computadores – DCC UFMG
0
7
24
Network
Host
1 0
1 1 0
14
16
Network
Host
21
8
Network
Host
<#>
Classes de endereçamento IP
Redes de Computadores – DCC UFMG
<#>
Endereço IP
• É chamado de autoidentificável:
– A classe de um endereço
pode ser calculada do
próprio endereço
Redes de Computadores – DCC UFMG
<#>
Endereço IP
• Notação decimal com ponto:
– 32 bits: 4 x 8 bits
• Forma usual de representar endereços
• Exemplo:
– turmalina.dcc.ufmg.br: 150.164.10.1
Redes de Computadores – DCC UFMG
<#>
Endereço IP
• Valores do primeiro octeto do endereço:
• Espaço de endereçamento:
Redes de Computadores – DCC UFMG
<#>
Exemplo de endereçamento
Redes de Computadores – DCC UFMG
<#>
Endereços especiais
• Existem alguns endereços que são
reservados e não são atribuídos a
computadores
Redes de Computadores – DCC UFMG
<#>
Endereços de roteadores
• Roteadores devem ter endereços IP
• Cada roteador deve ter dois ou mais
endereços IP
– Um roteador tem conexões para diferentes redes
físicas
– Cada endereço IP contém um prefixo que
especifica uma rede física
Redes de Computadores – DCC UFMG
<#>
Endereços de roteadores
Redes de Computadores – DCC UFMG
<#>
Computadores muti-homed
• Computadores ligados a mais de uma rede
física
• Objetivos:
– Confiabilidade
– Desempenho
• O computador possui um endereço IP em
cada rede que se conecta
Redes de Computadores – DCC UFMG
<#>
Datagram Forwarding
• Forwarding – encaminhamento
– O processo de pegar um pacote de uma entrada e
passá-lo para uma saída apropriada.
• Routing – roteamento
– O processo de construção de tabelas que permitem
a correta saída de um pacote ser determinada.
Redes de Computadores – DCC UFMG
<#>
Datagram Forwarding
• Strategy
– every datagram contains destination’s address
– if directly connected to destination network, then
forward to host
– if not directly connected to destination network, then
forward to some router
– forwarding table maps network number into next hop
– each host has a default router
– each router maintains a forwarding table
Redes de Computadores – DCC UFMG
<#>
Datagram Forwarding
• Example network
Network 1 (Ethernet)
H7
H2
H1
R3
H8
H3
Network 4
(point-to-point)
Network 2 (Ethernet)
R1
R2
H4
Network 3 (FDDI)
H5
Redes de Computadores – DCC UFMG
H6
<#>
Datagram Forwarding
• Example (R2)
Network Number Next Hop
1
R3
2
R1
(From fig. 4.1)
Redes de Computadores – DCC UFMG
<#>
Datagram Forwarding
• Example (R2)
Redes de Computadores – DCC UFMG
Network Number
1
2
3
4
Next Hop
R3
R1
interface 1
interface 0
<#>
Datagram Forwarding
• Redes escaláveis
– Para se obter escalabilidade, é preciso reduzir a
quantidade de informação armazenada em cada
nodo
– A maneira mais comum é usar agregação
hierárquica
Redes de Computadores – DCC UFMG
<#>
Datagram Forwarding
• Escalabilidade com IP
– Dois níveis de hierarquia
• Redes no nível superior
• Nodos no nível inferior
• Roteadores tratam apenas dados agregados
– Consideram apenas as redes, e não os nodos
Redes de Computadores – DCC UFMG
<#>
Address Translation
• Map IP addresses into physical addresses
– destination host
– next hop router
• Techniques
– encode physical address in host part of IP address
(don’t work, addresses are limited)
– table-based: a table in each host
Redes de Computadores – DCC UFMG
<#>
Address Translation
• ARP
– Address Resolution Protocol
– table of IP to physical address bindings
– broadcast request if IP address not in table
– target machine responds with its physical address
– table entries are discarded if not refreshed
Redes de Computadores – DCC UFMG
<#>
ARP– The Address Resolution
Protocol
Three interconnected /24 networks: two
Ethernets and an FDDI ring.
Redes de Computadores – DCC UFMG
<#>
ARP Packet Format
0
8
16
Hardware type = 1
HLen = 48
PLen = 32
31
ProtocolType = 0x0800
Operation
SourceHardwareAddr (bytes 0– 3)
SourceHardwareAddr (bytes 4– 5) SourceProtocolAddr (bytes 0– 1)
SourceProtocolAddr (bytes 2– 3) TargetHardwareAddr (bytes 0– 1)
TargetHardwareAddr (bytes 2– 5)
TargetProtocolAddr (bytes 0– 3)
Redes de Computadores – DCC UFMG
<#>
ARP Details
• Request Format
–
–
–
–
–
HardwareType: type of physical network (e.g., Ethernet)
ProtocolType: type of higher layer protocol (e.g., IP)
HLEN & PLEN: length of physical and protocol addresses
Operation: request or response
Source/Target-Physical/Protocol addresses
• Notes
–
–
–
–
table entries timeout in about 10 minutes
update table with source when you are the target
update table if already have an entry
do not refresh table entries upon reference
Redes de Computadores – DCC UFMG
<#>
Error reporting in the Internet
• Embora o protocolo IP simplesmente
descarte os pacotes com problemas,
• Na prática, os problemas são reportados às
fontes de pacotes
• Protocolo ICMP, companheiro do IP
– Define uma coleção de mensagens de erro
Redes de Computadores – DCC UFMG
<#>
Internet Control Message
Protocol (ICMP)
• Echo (ping)
• Destination unreachable (protocol, port, or
host)
• TTL exceeded (so datagrams don’t cycle
forever)
• Checksum failed
• Reassembly failed
• Cannot fragment
• Redirect (from router to source host)
Redes de Computadores – DCC UFMG
<#>
Dynamic Host Configuration
Protocol
Operation of DHCP.
Redes de Computadores – DCC UFMG
<#>
Download