Redes de Computadores – DCC UFMG <#>
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
Redes de Computadores – DCC UFMG <#>
IP Internet
• Concatenation of Networks R2 R1 H4 H5 H3 H2 H1 Network 2 (Ethernet) Network 1 (Ethernet) H6 Network 3 (FDDI) Network 4 (point-to-point) H7 R3 H8Redes de Computadores – DCC UFMG <#>
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
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
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:
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
Rede virtual
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 R1 ETH FDDI IP IP ETH TCP R2 FDDI PPP IP R3 PPP ETH IP H1 IP ETH TCP H8Redes de Computadores – DCC UFMG <#>
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
Version HLen TOS Length
Ident Flags Offset
TTL Protocol Checksum
SourceAddr DestinationAddr
Options (variable) Pad
(variable)
0 4 8 16 19 31
Data
Formato do pacote IP
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
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
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
Formato do pacote IP
• Opções:
– Forma de incluir informações não presentes na versão
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 R1 R2 R3 H8 ETH IP (1400) FDDI IP (1400) PPP IP (512) PPP IP (376) PPP IP (512) ETH IP (512) ETH IP (376) ETH IP (512)Example
Ident= xStart of headerOffset= 0 0 Rest of header 1400 data bytes Ident= x Offset= 0 Start of header 1 Rest of header 512 data bytes Ident= x Offset=64 Start of header 1 Rest of header 512 data bytes Ident= x Offset= 128 Start of header 0 Rest of header 376 data bytesRemontagem 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
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
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 Network Host 7 24 0 A: Network Host 14 16 1 0 B: Network Host 21 8 1 1 0 C:
Redes de Computadores – DCC UFMG <#>
Classes de endereçamento IP
Redes de Computadores – DCC UFMG <#>
Endereço IP
• É chamado de auto-identificável:
– A classe de um endereço pode ser calculada do próprio endereço
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
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
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
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 R2 R1 H4 H5 H3 H2 H1 Network 2 (Ethernet) Network 1 (Ethernet) H6 Network 3 (FDDI) Network 4 (point-to-point) H7 R3 H8Redes de Computadores – DCC UFMG <#>
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) Network Number Next Hop
1 R3 2 R1 3 interface 1 4 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
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
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
TargetHardwareAddr (bytes 2– 5) TargetProtocolAddr (bytes 0– 3) SourceProtocolAddr (bytes 2– 3)
Hardware type = 1 ProtocolType = 0x0800
SourceHardwareAddr (bytes 4– 5)
TargetHardwareAddr (bytes 0– 1) SourceProtocolAddr (bytes 0– 1) HLen = 48 PLen = 32 Operation
SourceHardwareAddr (bytes 0– 3)
0 8 16 31
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
ATMARP
• Subredes lógicas IP – LIS
– Possibilita dividir uma rede ATM grande em sub-redes menores.
– Todos nodos de uma sub-rede, uma mesma rede IP
• Uso de roteadores, como no IP clássico
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 <#>
ATMARP
• Protocolo de resolução usado em ATM • Quando uma rede ATM opera como parte de
uma interrede IP
• Problema: difusão de pacotes • Soluções:
– Uso de emulação de LAN (pode não ser eficiente) – Procedimento de ARP em redes ATM
• ATMARP
– Parte do modelo Classical Ip over ATM – Baseia-se num servidor para resolução de
endereços
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 <#>