670 likes | 840 Views
Redes industriais. Carlos Roberto da Silva Filho, M. Eng. Camada de Rede. Uma das principais funções da camada de rede são: repasse e roteamento; Repasse : mover pacotes da entrada do roteador para a saída apropriada do roteador;
E N D
Redes industriais Carlos Roberto da Silva Filho, M. Eng.
Camada de Rede Uma das principais funções da camada de rede são: repasse e roteamento; Repasse: mover pacotes da entrada do roteador para a saída apropriada do roteador; Roteamento: determinar rota seguida pelos pacotes da origem ao destino;
Camada de Rede aplicação transporte rede enlace física aplicação transporte rede enlace física 1. Envia dados 2. Recebe dados
Visão geral do Roteador As duas funções principais do roteador: Executar algoritmos/protocolo de roteamento (RIP, OSPF, BGP) Repassar datagramas do enlace de entrada para saída;
Roteamento e Repasse algoritmo de roteamento tabela de repasse local enlace saída valor cab. 0100 0101 0111 1001 3 2 2 1 valor no cabeçalhodo pacote de chegada 1 0111 2 3
Camada de Rede Funções na camada de rede do host e roteador: protocolo ICMP • informe de erro • “sinalização” do roteador protocolo IP • conversão de endereçamento • formato de datagrama • conversão manuseio de pacote Camada de transporte: TCP, UDP prots. roteamento • seleção caminho • RIP, OSPF, BGP Camada de rede tabela de repasse Camada de enlace Camada física
Roteamento - Protocolos Protocolos conhecidos como Interior Gateway Protocols (IGP); Protocolos de roteamento intra-AS (sistemas autônomos) mais comuns: RIP: Routing Information Protocol; OSPF: Open Shortest Path First; IGRP: Interior Gateway roteamento Protocol (proprietário da Cisco);
RIP - Routing Information Protocol Algoritmo de vetor de distância; Incluído na distribuição BSD-UNIX em 1982; Métrica de distância: # de saltos (máx. = 15); Vetores de distância: trocados entre vizinhos a cada 30 s por meio de mensagem de resposta (também conhecida como anúncio); Cada anúncio: lista de até 25 sub-redes de destino dentro do AS;
RIP - Falha e Recuperação Se nenhum anúncio for ouvido após 180 s --> vizinho/enlace declarado morto; Rotas via vizinho invalidadas; Novos anúncios enviados aos vizinhos; Vizinhos por sua vez enviam novos anúncios (se não houver tabelas alteradas) Informação de falha do enlace rapidamente (?)se propaga para rede inteira;
Roteamento 3a 3b 2a AS3 AS2 1a AS1 2c 2b 1b 1d 3c 1c algoritmode roteamentointer-AS algoritmode roteamentointra-AS tabela derepasse - Tabela de repasse configurada por algoritmo de roteamento intra e inter-AS: - intra-AS: define entradas para destinos internos - inter-AS & intra-AS: definem entradas para destinos externos
OSPF - Open Shortest Path First “open”: publicamente disponível; Usa algoritmo Link State (estado do link); Disseminação de pacote LS; Mapa de topologia em cada nó; Cálculo de rota usando algoritmo de Dijkstra; Anúncio OSPF transporta uma entrada por roteador vizinho; Anúncios disseminados ao AS inteiro (com inundação); Transportados nas mensagens OSPF diretamente por IP (em vez de TCP ou UDP);
Fragmentação Enlaces de rede têm MTU – unidade máxima de transferência) – maior quadro possível. Diferentes tipos de enlace, diferentes MTUs. Grande datagrama IP dividido (“fragmentado”) dentro da rede; Um datagrama torna-se vários datagramas; Deve ser “reconstruído” apenas no destino; Bits de cabeçalho IP usados para identificar, ordenar fragmentos relacionados;
Fragmentação - exemplo tam. = 4000 tam. = 1040 tam. = 1500 tam. = 1500 ID = x ID = x ID = x ID = x desloc. = 185 desloc. = 370 desloc. = 0 fragflag = 1 fragflag = 1 fragflag = 0 fragflag = 0 desloc. = 0 Exemplo • datagrama de 4000 bytes • MTU = 1500 bytes Um datagrama grande torna-se vários datagramas menores 1480 bytes nocampo de dados deslocamento = 1480/8
Endereço 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 do hosp. parte de sub-rede 11001000 0001011100010000 00000000 200.23.16.0/23
DHCP - Visão Geral 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 novos que queiram se juntar à rede;
DHCP - Visão Geral 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 - Visão Geral servidor DHCP: 223.1.2.5 cliente chegando Oferta DHCP src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 654 Lifetime: 3600 secs Solicitação DHCP src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs tempo DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs Descoberta DHCP src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654
DHCP - Visão Geral O 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 host do endereço);
Endereçamento IP Como um ISP recebe bloco de endereços? ICANN: Internet Corporation for Assigned Names and Numbers: aloca endereços; administra o DNS; atribui nomes de domínio e resolve disputas;
NAT – Motivação Rede local usa apenas um endereço IP no que se refere ao mundo exterior; Intervalo de endereços não necessário pelo ISP apenas um endereço IP para todos os dispositivos; Pode mudar os endereços dos dispositivos na rede local sem notificar o mundo exterior;
NAT – Motivação Pode mudar de ISP sem alterar os endereços dos dispositivos na rede local; Dispositivos dentro da rede local não precisam ser explicitamente endereçáveis ou visíveis pelo mundo exterior (uma questão de segurança);
NAT – Visão Geral NAT: Network Address Translation; restante da Internet rede local (p. e., rede doméstica) 10.0.0/24 10.0.0.1 10.0.0.4 138.76.29.7 datagramas com origem oudestino nesta rede têm endereço 10.0.0/24 para origem/destino (como sempre) todos os datagramas saindo da rede local têm mesmo endereço IP NAT de origem: 138.76.29.7, mas diferentes números de porta de origem
NAT – Implementação Implementação: roteador NAT deve: Enviando datagramas: substituir (endereço IP de origem, # porta) de cada datagrama saindo por (endereço IP da NAT, novo # porta); Clientes/servidores remotos responderão usando (endereço IP da NAT, novo # porta) como endereço de destino;
NAT – Implementação Lembrar (na tabela de tradução NAT) de cada par de tradução (endereço IP de origem, # porta) para (endereço IP da NAT, novo # porta); Recebendo datagramas: substituir (endereço IP da NAT, novo # porta) nos campos de destino de cada datagrama chegando por (endereço IP origem, # porta) correspondente, armazenado na tabela NAT;
Protocolos de Transporte Oferecem comunicação lógica entre processos de aplicação rodando em hosts diferentes; Protocolos de transporte rodam em sistemas finais; Lado remetente: divide as msgs da aplicação em segmentos, passa à camada de rede; Lado destinatário: remonta os segmentos em msgs, passa à camada de aplicação; Mais de um protocolo de transporte disponível às aplicações: Internet: TCP e UDP;
Protocolos de Transporte aplicação transporte rede enlace física aplicação transporte rede enlace física transporte lógico fim a fim
Protocolos de Transporte Remessa confiável e em ordem: TCP; Controle de congestionamento; Controle de fluxo; Estabelecimento da conexão; Remessa não confiável e desordenada: UDP; Extensão sem luxo do IP pelo “melhor esforço”; Serviços não disponíveis: Garantias de atraso; Garantias de largura de banda;
TCP – Visão Geral Ponto a ponto: Um remetente, um destinatário; Cadeia de bytes confiável, em ordem: Sem “limites de mensagem”; Paralelismo: Congestionamento TCP e controle de fluxo definem tamanho da janela; Buffers de envio & recepção;
TCP – Visão Geral Dados full duplex: Dados bidirecionais fluem na mesma conexão; MSS: tamanho máximo do segmento; Orientado a conexão: Apresentação (troca de msgs de controle) inicia estado do remetente e destinatário antes da troca de dados; Fluxo controlado: Remetente não sobrecarrega destinatário;
TCP – Visão Geral 32 bits contagem porbytes de dados (não segmentos!) URG: dados urgentes (quase não usado) porta origem porta destino número sequência ACK: # ACK válido número reconhecimento compr. cab. não usado janela recepção U A P R S F # bytes destinatáriopode aceitar PSH: empurrar dados agora (quase não usado) soma verificação ponteiro dados urg. opções (tamanho variável) RST, SYN, FIN: estab. conexão (comandos setup,teardown) dados daaplicação (tamanho variável) soma de verificação da Internet
Multiplexação e Demultiplexação entregando segmentosrecebidos ao socket correto colhendo dados de múltiplos sockets, envelopando dados com cabeçalho (usados depois para demultiplexação) = socket = processo aplicação P4 aplicação aplicação P1 P2 P3 P1 transporte transporte transporte rede rede rede enlace enlace enlace física física física multiplexação no remetente: demultiplexação no destinatário: host3 host2 host 1
Sockets Processo envia/recebe mensagens de/para seu socket; Socket semelhante à porta; Processo enviando empurra mensagem pela porta; Processo enviando conta com infraestrutura de transporte no outro lado da porta, que leva a mensagem ao socket no processo receptor;
Sockets hospedeiroou servidor hospedeiroou servidor controlado pelodesenvolvedorda aplicação processo processo socket socket TCP combuffers,variáveis TCP combuffers,variáveis Internet controlado pelo OS
Multiplexação e Demultiplexação Hospedeiro recebe datagramas IP; Cada datagrama tem endereço IP de origem, endereço IP de destino; Cada datagrama carrega 1 segmento da camada de transporte; Cada segmento tem número de porta de origem, e porta de destino; Hospedeiro usa endereços IP e números de porta para direcionar segmento ao socket apropriado;
Multiplexação e Demultiplexação 32 bits # porta origem # porta destino outros campos de cabeçalho dados da aplicação (mensagem) formato do segmento TCP/UDP
Multiplexação e Demultiplexação S-IP: B D-IP:C SP: 9157 SP: 5775 SP: 9157 P1 P4 P5 P2 P3 P1 P6 cliente IP: A DP: 80 DP: 80 DP: 80 cliente IP:B servidor IP: C S-IP: A S-IP: B D-IP:C D-IP:C
Aplicações de Rede Web, e-mail, mensagem instantânea; Login remoto; Compartilhamento de arquivos P2P; Jogos em rede multiusuários; Clipes de vídeo armazenados em fluxo contínuo; Redes sociais; Voice over IP; Vídeoconferência em tempo real;
Aplicações de Rede aplicação transporte rede enlace física aplicação transporte rede enlace física aplicação transporte rede enlace física
Arquitetura Cliente - Servidor Servidor: Host sempre ligado; Endereço IP permanente; Server farms por expansão; Clientes: Comunicam-se com o servidor; Podem estar conectados intermitentemente; Podem ter endereços IP dinâmicos; Não se comunicam diretamente entre si;
Arquitetura Cliente - Servidor cliente/servidor
Arquitetura P2P Nenhum servidor sempre ligado; Sistemas finais arbitrários se comunicam diretamente; Pares são conectados intermitentemente e mudam endereços IP; Altamente escalável, mas difícil de administrar; peer-peer
Arquitetura Híbrida Skype: Aplicação P2P voice-over-IP; Servidor centralizado: achando endereço da parte remota; Conexão cliente-cliente: direta;
Arquitetura Híbrida Mensagem instantânea: Bate-papo entre dois usuários é P2P; Serviço centralizado: detecção/localização da presença do cliente; Usuário registra seu endereço IP com servidor central quando entra on-line; Usuário contacta servidor central para descobrir endereços IP dos parceiros;
Serviço de Transporte Que tipo de serviço de transporte uma aplicação precisa? Perda de dados: algumas aplicações (ex.: áudio) podem tolerar alguma perda; outras aplicações (ex.: transferência de arquivos) exigem transferência de dados 100% confiável; Segurança: Criptografia, integridade de dados,…
Serviço de Transporte Que tipo de serviço de transporte uma aplicação precisa? Temporização: algumas aplicações (ex.: telefonia na Internet jogos interativos) exigem pouco atraso para serem “eficazes”; Vazão: algumas apls. (p. e., multimídia) exigem um mínimo de vazão para serem “eficazes” outras apls. (“apls. elásticas”) utilizam qualquer vazão que receberem;