Ligação Inter-redes Conceitos, Arquiteturas e Protocolos

Preview:

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