Upload
internet
View
112
Download
3
Embed Size (px)
Citation preview
Ligação Inter-redes
Conceitos, Arquiteturas e Protocolos
Introdução
Cada tecnologia é projetada para satisfazer um conjunto específico de restrições LANs são projetadas para fornecer comunicação
de alta velocidade através de curtas distancias WANs são projetadas para fornecer comunicação
através se áreas geograficamente distantes Não há uma tecnologia que seja melhor para
todas as necessidades Solução: Tecnologia de ligação inter-redes
Serviço Universal
Sistema telefônico Comunicação entre quaisquer dois telefones Serviço universal
Redes de Computadores Comunicação entre quaisquer dois computadores Serviço universal Interconexão de diferentes tecnologias
Incompatibilidades (elétrica, formato de quadro, endereçamento, etc)
Ligação Inter-Redes
Esquema que fornece comunicação universal entre redes heterogênias
Solução baseada em hardware e software Hardware interconectando redes físicas Software em cada computador
Redes interconectadas Inter-rede, internet.
Roteador
Componente de hardware usado para interconectar redes heterogêneas (tecnologia diferente) Interface física com múltiplas redes
Encaminha pacotes entre redes Ajusta pacote de acordo com especificações de
cada tecnologia
Arquitetura Inter-Redes
Interconexão de redes através de roteadores
Um roteador pode ter mais de duas interfaces
Roteadores em uma Organização
Um roteador Pode comprometer confiabilidade e desempenho Ponto central por onde passa todo a
comunicação Múltiplos roteadores
Melhora confiabilidade
Rede Virtual
Ilusão de um único sistema integrado de comunicação ao qual muitos computadores são acoplados, ou seja, a ilusão de uma rede única próximo
Construída sob software fornecendo Serviço universal Endereçamento universal
Detalhes da rede física escondidos de usuários e aplicações.
Protocolos para Inter-redes
Suite TCP-IP (Transmission Control Protocol / Internet Protocol)
Suite de protocolos mais utilizado em ligações inter-redes
Protocolos proposto para ligação inter-redes Definição da arquitetura inter-redes Definição de internet Possibilitou a ligação mundial de computadores
em rede (Internet) Vendedores e plataformas independentes
Outros suites: IPX, AppleTalk, Vines
Modelo de Camadas TCP-IP
Modelo OSI: Não inclui ligação inter-redes
Modelo de Camadas TCP-IP
Host
Host (host computer) Computar conectado a uma inter-redes e que
executa aplicativos Computador de qualquer tamannho e capacidade
O TCP-IP permite comunicação direta entre pares de hosts
Hosts e roteadores possuem TCP-IP Hosts não encaminham pacotes Roteadores não necessitam dos níveis 4 e 5
Endereçamento IP
Endereço IP
Classes de Endereços
Introdução
Rede Virtual Formato de endereço padrão
Endereço de hardware (físico) Formato diferente por tecnologia
Formato do endereço deve ser independente do endereço físico
Software de Protocolo Endereçamento uniforme em uma inter-rede Endereço abstrato único por host Usuários e aplicativos usam endereços abstratos
Endereço Uniforme
Origem Colocar endereço de destino no pacote
Roteador Interpretar endereço de destino Encaminha pacotes
Suite de Protocolos TCP-IP
Endereçamento especificado pelo IP Endereço IP
Número de 32 bits Única por host de uma internet Usado para comunicação entre hosts Endereço hierárquico
Roteamento eficiente Composto por prefixo(Identifica rede) e sufixo
(identifica host de uma rede)
Endereço IP
Número de rede mais número de host Número de rede
Cada rede de uma inter-rede TCP-IP tem número de rede único
Distribuição coordenada globalmente Número de host
Único dentre de uma rede (número de rede) Pode ser reutilizado em redes diferentes Distribuição gerenciada localmente
Endereço IP de uma host Combinação do número de rede mais número de host
(combinação deve ser única)
Classes de Endereços IP
Endereço IP: 32 bits Divisão de bits entre rede e host (prefixo e sufixo)
Rede maior que host Muitas redes, poucos hosts por rede
Host maior que rede Poucas redes, muitos hosts por rede
Classes de endereços Esquema de endereço que combina redes grandes e
pequenas 3 classes primárias (A,B,C) 2 classes especiais (D,E) Uma classe é identificada pelos primeiros quatro bits do
endereço
Classes de Endereços IP
Classes de Endereços IP
Identificaçao da classe de um endereço Bits iniciais
do endereço
Classes de Endereços IP
Notação decimal pontilhada Notação mais conveniente para usuários Conversão da notação de 32 bits em quatro
números decimais de 8 bits, separados por pontos
Classes de Endereços IP
Notação decimal pontilhada Determinação da classe
Classes de Endereços IP
Divisão do espaço de endereçamento Necessidade de utilização otimizada
Endereços Especiais
Endereço de Rede Referencia uma rede Valor: Bits do host com zero (128.211.0.0)
Broadcast direcionado Referencia todos os hosts de uma rede Valor: Bits do host com um decimal(128.211.1.1)
Broadcast limitado Referencia todos os hosts da rede local Valor: Bits de rede e host com um binario
(255.255.255.255)
Endereços Especiais Endereço desse computador
Referencia um host Valor: Bits de rede e host com zero (0.0.0.0)
Loopback Endereço para teste de aplicativos de rede Não coloca dados no enlace Nenhum pacote deixa o host Em uma transmissão, ao chegar no nível 3, retorna para o nível
4, não sendo repassado para o nível 2
O endereço de loopback nunca aparece em um pacote que viaja através da rede
Valor: Classe A 127 (127.0.0.1)
Endereços Especiais
Roteadores e TCP-IP
O endereço IP é atribuído a interface de rede, não a um computador
Um roteador tem endereço IP Um roteador tem múltiplas interfaces de rede Um roteador tem múltiplos endereços IPs
Roteadores e TCP-IP
Resolução de Endereços
Tabelas
Computação
Protocolo ARP
Introdução
Um protocolo usa endereço virtual (endereço do protocolo) para entrega de pacotes
Uma rede usa endereço de hardware para entrega de pacotes
O endereço de protocolo precisa ser traduzido no endereço de hardware Resolução de endereços Protocolo ARP
Resolução de Endereços
Aplicações usam endereços de protocolos Rede virtual Esconde detalhes de hardware
Tradução ocorre no nível 2 (Network Interface) Acima do nível 2 tem-se endereço IP O nível 2 traduz o endereço IP em endereço de
hardware O nível 1 utiliza endereço de hardware
Resolução de Endereços
A resolução acontece dentro de uma rede Uma rede só resolve endereços de
componentes da mesma rede
Resolução de Endereços
O host A resolve o endereço de B quando A envia uma mensagem para B
O host A não resolve o endereço de F Uma mensagem de A para F passa pelos
roteadores R1 e R2 O host A resolve o endereço de R1
Técnicas de Resolução
Pesquisa em tabela Amarrações de endereços armazenadas em
tabelas Computação de forma fechada
Endereço de hardware computado a partir do endereço de protocolo usando operações aritméticas e lógicas
Troca de mensagens (ARP) Os computadores trocam mensagens através da
rede para resolver um endereço
Pesquisa em Tabela
Lista de endereços IPs e endereços de hardware
Baseado no endereço IP, se extrai o endereço de hardware
Pesquisa em Tabela
Limitação Busca sequencial
Técnica hash
Computação Fechada
Endereços de interfaces configuráveis Administrado escolhe endereço de hardware
Administrador escolhe endereço IP Resolução de endereço por computação
Define-se função que mapeia um endereço IP em um endereço de hardware
Não exige que valores sejam armazenados Exemplo
Endereço_de_hardware = endereço_Ip & 0xff
Troca de Mensagens
Endereço de hardware obtido por troca de mensagens entre computadores
Duas implementações Baseada em Servidor
Computador envia mensagem para servidor que resolve endereço
Opção centralizada Custo e administração de servidores
Distribuída Computador destino resolve endereço Sem administração de servidor
ARP – Address Resolution Protocol
Protocolo do suite TCP-IP Resolução de endereços por troca de mensagens,
de forma distribuída Funcionalidade Parte 1: Request
Origem envia mensagem solicitando endereço de hardware
Parte 2: Response Destino responde enviando endereço de hardware
ARP - Request
Mensagem colocada em frame ethernet Campo tipo de quadro (Ethernet = 806) Campo endereço de destino preenchido com
o endereço de broadcast Endereço IP do destino incluído na área de
dados
ARP - Request
Todos os computadores examinam o request
O computador que possui IP igual ao que foi solicitado envia mensagem response Coloca seu endereço de hardware na resposta Preenche campo endereço de destino com o
endereço físico do computador que enviou a mensagem de request
O computador que enviou o request recebe então o endereço de hardware desejado
ARP - Ilustração
ARP - Exemplo
ARP – Formato da Mensagem
Endereço IP e endereço de hardware possuem tamanhos diferentes Ethernet 6 octetos IP 4 octetos
Formato único para request e response
ARP – Formato da Mensagem
Enviando mensagem ARP
Remetente constrói a mensagem ARP A mensagem ARP é encapsulada em um
frame (Ethernet)
Endereços ARP Armazenados
Resolução ARP para cada pacote a ser transmitido Duas mensagens a mais na rede (overhead)
Solução: Armazenar respostas Tabela em memória Administração de forma eficiente (cache)
Antes de solicitar resolução, consulta tabela Se existe amarração, utiliza dados da memória Se não existe amarração, encaminha request
Mensagem ARP que Chega
Request Se o receptor é o endereço de destino então
prepare mensagem response Envie reponse para remetente Atualize cache
Response Atualize cache Envie mensagem pendente (
ARP – Modelo de Camadas
ARP : Nível 2 - Network Interface
Datagrama IP
Formato de uma pacote IP
Roteamento
Introdução
Ligação inter-redes Serviço de comunicação ponto a ponto
Suíte TCP-IP Serviço sem conexão Serviço com conexão
Serviço de comunicação do protocolo IP Serviço sem conexão
Formato do pacote IP Datagrama IP
Serviço sem Conexão
Comutação de pacotes Transmissão de pacotes individuais e independentes Cada pacote contém informações que identificam o destino
pretendido
Transmissão de pacotes na inter-rede Roteador encaminha pacotes
Rede Virtual Serviço universal Endereçamento universal Pacote universal
Serviço sem Conexão
Formato de pacote Formato padrão para todas as tecnologias de rede Pacote universal (Datagrama IP) Formato uniforme e independente de tecnologia
CabeçalhoDados
Encapsulamento
Um pacote é encapsulado em um frame de uma dada tecnologia
Frame é transmitido na rede física
Suite PCP-IP
Camada de transporte (Suite TCP-IP) Serviço sem conexão (UDP) Serviço com conexão (TCP)
Datagrama IP
Um pacote da dados IP é chamado datagrama Formato geral
Cabeçalho (20 octetos) Dados (1 a 216 octetos =65536 bits (64 Kbits))
Tamanho variável O tamanho é determinado pelo aplicativo que envia dados
Endereços do cabeçalho Datagrama (Endereço IP) Frame (Endereço de Hardware)
Datagrama - Encaminhamento
O cabeçalho contém informações para roteamento Endereço de origem Endereço de destino Identificador
O roteador examina o cabeçalho do datagrama e encaminha pacote para destino Tabela de rotas
Tabela de Rotas Contém informações para roteamento
Destino é uma rede Tabela de endereços contendo as colunas
Rede destino Mascara de sub-rede Próximo hop (computador- router)
Manutenção de tabela Inicialização Atualização (mudanças na rede)
Rota default Reduz tamanho da tabela de rotas Entrada na tabela que será utiliza por redes de destino que não
estão listadas explicitamente na tabela de rotas
Tabela de Rotas
OBS: O número de entrada na tabela é proporcional ao numero de redes da inter-rede
Colunas da Tabela de Rotas
Rede destino Prefixo de rede da rede destino
Mascara de endereço (sub-rede) Quantidade de bits de rede de destino que
correspondem ao prefixo de rede Próximo hop (computador- router)
Endereço IP (se próximo hop é um roteador) Interface da rede (entrega direta)
Tabela de Rotas
Encaminhamento
Linha na tabela de rotas a ser utilizada Aplica-se a máscara sobre o endereço de destino e
compara-se o resultado com o endereço de rede da tabela
if ((Mask[i] & D) == Dest[i]) forward to NextHop[i]
Exemplo: 128.1.15.56
128.1.15.56 and 255.0.0.0 = 128.0.0.0 (<> 30.0.0.0)128.1.15.56 and 255.0.0.0 = 128.0.0.0 (<> 40.0.0.0)128.1.15.56 and 255.255.0.0 = 128.1.0.0 (=128.1.0.0)
Endereço de Destino Versus Próximo Hop
O endereço de destino de um datagrama IP sempre se refere ao destino final e não muda durante o encaminhamento
O roteador identifica o endereço do próximo hop e encaminha o datagrama
Camada 2 (Network Interface) tem-se dois parâmetros Datagrama IP com endereço de destino Endereço do próximo Hop
Endereço do próximo hop Nunca aparece no datagrama IP
Endereço de Destino Versus Próximo Hop
Todas as rotas são definidas baseadas no endereço do datagrama IP (endereço de destino)
O software IP usa ARP para definir endereço físico
Entrega de Melhor Esforço
Protocolo IP Formato do datagrama Serviço de melhor esforço
Serviço de melhor esforço não não garante transmissão confiável Duplicação de datagrama Atraso de datagrama Perda de datagrama Adulteração de dados
Camadas mais altas tratam erros (nível de transporte)
Datagrama IP
Roteadores e TCP-IP
VERS Versão do IP (currently 4)
H. LEN Comprimento do cabeçalho
TOTAL LENGTH Total de octetos do datagrama
TTL (time to live) Decrementado em cada roteador
Discartado quando chega a 0 (ttl=0)
TYPE Tipo do protocolo (TCP, UDP)
H.CHECKSUM Checksum do cabeçalho
SOURCE IP ADDRESS Endereço de origem
DEST IP ADDRESS Endereço de destino
IDENT, FLAGS, FRAGMENT OFFSET Fragmentação
Encapsulamento IP
Encapsulamento
Fragmentação
Remontagem
Introdução
Camada Internet Constrói datagrama IP Determina próximo hop Repassa datagrama para o nível Network Interface
Camada Network Interface Resolve endereço de hardware Prepara datagrama para transmissão
Frame não entende IP Solução : Encapsulamento do datagrama em um frame
Encapsulamento
Ato de inserir um datagrama em um quadro de rede para que ele possa ser transportado
O datagrama é transportado na parte de dados do quadro de rede
O encapsulamento do datagrama IP acontece no nível 2 (Network Interface)
O endereço de destino do quadro é o endereço do próximo hop
Frame possui campo tipo de quadro
Encapsulamento
Encapsulamento na Inter-rede Cada roteador do caminho
Desfaz encapsulamento retirando datagrama do frame Processa o datagrama (identifica próximo hop) Encapsula datagrama em um frame
O endereço IP de destino é o mesmo desde a origem até o destino, porém o endereço físico muda a cada no roteador
Um datagrama pode ser encapsulado em diferentes formatos de frame a cada hop
O datagrama não muda nunca
MTU – Maximum Transmission Unit
Cada tecnologia defini o tamanho máximo de uma frame Ethernet 1500 bits Toke Ring 4096 bits Datagrama IP 216
MTU – Tamanho máximo do frame de uma rede Qualquer datagrama encapsulado em um frame
deve ser menor que a MTU da rede O datagrama é particionado para transmissão
MTU – Maximum Transmission Unit
Inter-rede Redes heterogêneas – frames e MTU diferentes
Fragmentação Divisão de um datagrama em pedaços pequenos
chamandos fragmentos A divisão é feita baseada na MTU da rede
O roteador detecta que o datagrama é maior que a MTU da rede e realiza a fragmemtação
Fragmentação - Detalhes
Cada fragmento é um datagrama independente Possui cabeçalho Bit do cabeçalho indica se datagrama é
fragmento Outros campos ajudam a reconstruir o datagrama
original Campo Offset : Localização do fragmento no
frame
Fragmentação
Remontagem
Reconstrução de um datagrama original a partir de seus fragmentos
Não acontece remontagem nos roteadores A remontagem acontece no computador
destino final Reduz processamento nos roteadores Permite mudança da de rota
Fragmentos de mesmo datagrama possuem mesmo valor no campo Identification
Remontagem
Perdas de fragmentos Um datagrama só é remontado quando chegam
todos os seus fragmentos Se faltar um fragmento, todo o datagrama é
eliminado e se pede re-transmissão Tudo ou nada Remetente não sabe da fragmentação Não existe garantia que um datagrama
retransmitido seja fragmentado da mesma maneira que o original
Fragmentando um segmento
O esquema de fragmentação foi cuidadosamente projetado para possibilitar que um fragmento seja fragmentado ainda mais sem necessidade de remontagem hierárquica
O IP não destingue entre fragmento originais e sub-fragmentos
Offset (Distância da posição inicial)
ICMP
Protocolo ICMP
Mensagens de Erros
Ferramentas baseadas no ICMP
Introdução
O IP define serviço de melhor esforço Sem confiabilidade Descarte de pacotes
O IP não ignora completamente os erros Técnicas de detecção de erros Protocolo para relatar erros
ICMP Protocolo para relatar erros
Detecção de Erros
Camada Internet – Nível 3 Técnicas
Checksum sobre header Expiração de TTL Roteamento impossível (rede de destino sem
rota) Resolução de endereço impossível
Procedimento A camada Internet descarta datagrama com
problema
ICMP – Internet Control Message Protocol
Define mensagens de erros Relato de Erros
Alguns erros são informados aos remetentes
Um roteador envia mensagens para a origem Uma mensagem de erro contém informações
relativas ao erro ocorrido Mensagens de erros são encapsuladas em datagramas IP
O IP usa o ICMP para enviar mensagens de erros O ICMP usa o IP para transportar suas mensagens
Mensagens ICMP
Mensagens de erros Source Quench (capacidade do buffer) Time Exceed (TTL) Destination Unreachable (rede incontáctável) Redirect (mudança de rota) Parameter Problem (parametro incorreto)
Mensagens informativas Echo request/replay
Replay responde a um request Address mask request/replay
Encapsulamento
Mensagens ICMP são criadas em resposta a um erro de datagrama Endereço de destino é a origem do datagrama
Mensagens ICMP não são construídas para erros de datagrama que possuem mensagem ICMP
ICMP e Ping
Ping Verifica se destino pode ser alcançado Implementado sobre mensagens ICMP echo request e echo replay
A origem envia uma mensagem echo request Se mensagem alcança destino é gerada uma
resposta (echo replay) Se resposta não chega, origem deduz que destino
não pode ser alcançado
ICMP e Traceroute
Traceroute Lista roteadores entre uma origem e um destino
especificado Implementado sobre mensagem ICMP Time Exceeded
Origem envia mensagem com ttl=1O primeiro roteador decrementa ttl e envia para
origem time exceededOrigem envia mensagem ttl=2
Segundo roteador decrementa ttl e envia para origem time exceeded
ICMP - MTU
Para evitar fragmentação é necessário identificar MTU mínima em um caminho
Origem envia datagrama IP sem autorização para fragmentação (don't fragment flag)
Roteador que não possa encaminha mensagem envia para origem mensagem ICMP fragmentation required
Origem envia datagram IP de menor tamanho
Camada de Transporte
Protocolo UDP
Protocolo TCP
Técnicas para Obter Confiabilidade
Introdução
O IP define serviço de melhor esforço Sem confiabilidade Descarte de pacotes
Transmissão confiável é importante para as aplicações
Camada de Transporte Transmissão confiável UDP – Serviço de datagrama TCP – Entrega confiável
Suite TCP-IP
UDP – User Datagram Protocol
Entrega de datagramas entre aplicações Melhor esforço Checksum
Porta Abstração que os protocolos de transporte do
TCP-IP utilizam para distinguir vários destinos de um mesmo host
Número inteiros Um aplicativo especifica uma porta do protocolo
UDP – User Datagram Protocol
Transmissão de dados UDP Endereço de destino Número da porta do destino Número da porta do remetente
Portas de origem e destino podem ser diferentes
Datagrama UDP
Seleção do Número da Porta
Um servidor abre uma porta e espera mensagens
Um cliente envia mensagem para porta aberta pelo servidor
Os servidores trabalham em portas conhecidas
Números de Portas Conhecidos
TCP - Transmission Control Protocol
Protocolo de transporte Fornece serviço confiável utilizando datagrama IP Características
Orientado a conexão Comunicação ponto a ponto Comunicação full-duplex Confiabilidade completa Interface de stream Partida de conexão confiável (3 estados) Desligamento de conexão confiável
TCP – Datagrama IP
O TCP usa IP para entrega de pacotes As extremidades trabalham sobre portas O IP trata o TCP como qualquer outro dado,
sem interpretar o conteúdo de mensagem Um roteador encaminha pacotes baseado no
cabeçalho do IP O TCP de destino interpreta a mensagem
TCP original
TCP – Datagrama IP
TCP – Entrega Confiável
O TCP usa técnicas para fornecer entrega confiável
Problemas Perda de pacotes Duplicação de pacotes Atrasos de pacotes Corrupção de dados Controle de fluxo Congestionamento
TCP – Entrega Confiável
Número de sequência As aplicações entregam dados ao TCP na forma
de stream O TCP quebra dados em fragmentos O TCP enumera fragmentos O TCP encapsula fragmentos em datagramas IP O stream original é recomposto no destino
TCP – Entrega Confiável
Reconhecimento positivo (com retransmissão) Destino envia mensagem ACK para origem
indicando entrega de dados com sucesso O emissor marca o instante de uma transmissão e
se o reconhecimento não chegar até um tempo específica é feita uma retransmissão, com novo controle de tempo
TCP – Entrega Confiável
Retransmissão adaptativa Timeout longo
Retransmissões com atraso Timeout curto
Retransmissões desnecessárias O timeout de retransmissão deve ser diferente
para cada transmissão e deve ser configurado dinamicamente LAN (Timeout curto) WAN (Timeout longo)
Timeout Adaptativo
TCP – Entrega Confiável
Janela deslizante (controle de fluxo) Origem e destino acordam o tamanho de uma
janela de transmissão A origem transmite dados sem receber
reconhecimento até que estejam pendentes reconhecimento da quantidade da dados especificada pelo tamanho da janela
Janela Deslizante
TCP – Entrega Confiável
Controle de Congestionamento O TCP analisa a perda de pacotes como um
medida de congestionamento e responde reduzindo a taxa em que se transmite dados (desacelera rapidamente)
Estabelecimento de Conexões
Estabelecimento ou encerramento de conexões confiáveis Troca de três mensagens Acordo segura apesar das perdas de pacotes
Estabelecimento de uma conexão SYN + ACK + ACK
Encerramento de uma conexão FIN + ACK + ACK
Estabelecimento de Conexões
Header TCP