Baixe o app para aproveitar ainda mais
Prévia do material em texto
Resumo P1 -Cap 1 Definição de um protocolo Classificação das Redes de Computadores Elas podem ser classificadas de acordo com seu alcance geográfico: Redes são ditas confinadas quando as distancias entre os módulos processadores são menores que alguns poucos metros. Redes Locais de Computadores (LANs) são sistemas cuja distância entre os nodos processadores está na faixa de alguns poucos metros a alguns poucos quilômetros. Redes Metropolitanas (MANs) são sistemas que cobrem a área de uma cidade. Sistemas cuja dispersão é maior do que alguns quilômetros são chamadas Redes Geograficamente Distribuídas (WANs). Redes Locais (LANs) Permite a interconexão de equipamentos de comunicação de dados numa pequena região que são distancias entre 100m e 25km. Embora as limitações associadas as técnicas utilizadas em redes locais não imponham limites a essas distancias. Outras características típicas Altas taxas de transmissão (de 10 Mbps a Gbps) Baixas taxas de erro (de 10-8 a 10-11) Redes Metropolitanas (MANs) Cobrem uma cidade com distancias abaixo de 200 Km. Necessita a intervenção de operadoras públicas. Redes de Longa Distância ou Redes Geograficamente Distribuidas (WANs) Necessita a intervenção de operadoras públicas. Face a várias considerações em relação ao custo É utilizado um arranjo topológico especifico e diferente daqueles utilizados em redes locais. Caminhos alternativos devem ser oferecidos de forma a interligar os diversos módulos por questão de confiabilidade. Classificação por escala: Estrutura da rede Borda da rede: aplicações e hospedeiros (hosts). Núcleo da rede: roteadores, rede de redes. Redes de acesso, meio físico: enlaces de comunicação. Borda da rede Sistemas finais (hosts): Rodam programas de aplicação. Ex: WWW, email… Modelo cliente/servidor: Host cliente faz os pedidos que são atendidos pelos servidores. Ex: browser/servidor. Modelo peer-peer: Interação simétrica entre os hosts. Ex: uTorrent. Borda da rede: serviço orientado a conexões Objetivo: transferência de dados entre sistemas finais. Handshaking: inicialização da transf. De dados. TCP: serviço orientado a conexão da Internet. Transferência de dados através de um fluxo de bytes ordenados e confiável. Controle de fluxo Controle de congestionamento Borda da rede: serviço sem conexão Objetivo: transferência de dados entre sistemas finais. UDP: serviço sem conexão da Internet. Transferência de dados não confiável. Não controla o fluxo, nem congestionamento. Aplicações que usam TCP: HTTP, FTP, Telnet, SMTP. Aplicações que usam UDP: Streaming media, teleconferência, telefonia Internet O núcleo da rede Malha de roteadores interconectados Responsáveis por encaminhar os dados da origem ao destino. Comutação: processo de alocação de recursos para a transmissão. Tipos de comutação Comutação de mensagens Comutação de pacotes Comutação de circuitos: circuito dedicado por chamada (ex: rede telefônica) Comutação de mensagens Dado é completamente enviado em uma mensagem ao longo de uma rota da fonte ao destino. Cada mensagem usa toda a banda disponível ao ser transmitida. Em cada nó do caminho, a mensagem é primeiro armazenada, e depois passada a frente, ao próximo nó Quando o canal de transmissão que liga esses nós estiver disponível. Mensagem pode monopolizar o enlace por muito tempo Provoca atrasos grandes de transmissão de outras mensagens Mensagem de 7,5MB transmitido em uma rede de 10Mbps: Mensagem é serializada em (7,5*1024*1024*8)/10M = 6,29s Atravessando 4 roteadores => 25,17s Comutação de pacotes Mensagem é quebrada em quadros ou pacotes antes da transmissão ser efetuada Cada pacote usa toda a banda disponível ao ser transmitido Transmissão de cada pacote pode ser feita por um único caminho ou por caminhos diferentes sendo a mensagem reagrupada quando chega ao destino Mensagem de 7,5MB transmitido como 5000 pacotes de 1500 B em uma rede de 10Mbps: Pacote é serializado em 1,2ms (1500*8/10M) Atravessando 4 roteadores => 5000*1,2ms + 3*1,2ms = 6s Comutação de pacotes: Contenção de recursos A demanda agregada por recursos pode exceder a capacidade disponível Armazenar-e-retransmitir: pacotes se movem de um roteador para o outro antes de serem retransmitidos Espera vez no enlace (aguardando em filas de encaminhamento) Transmite no enlace Congestionamento: filas de pacotes, aumento do tempo de envio, perda de pacotes Comutação de circuito São reservados os recursos necessários ao longo de um caminho (buffers, taxa de transmissão de enlaces) para prover a comunicação entre os sistemas finais pelo período da sessão de comunicação. Circuito é implementado em um enlace por Multiplexação por Divisão de Frequência (FDM) ou Multiplexação por Divisão de Tempo (TDM). Alocação de um canal para a comunicação Garante taxa de transmissão Comutação de mensagens e de pacotes Não existe a alocação de um canal dedicado da estação fonte a destino Otimiza o uso dos meios de comunicação Tentando evitar a monopolização de todo o caminho durante uma conversação. Não há garantias de taxa Roteamento A escolha do caminho fim a fim entre o modulo de origem ao nó de destino Necessária a definição de mecanismos de endereçamento Tipos de roteamento A priori, antes do envio de dados É estabelecida uma rota entre os nós de origem e destino por onde deverão transitar as mensagens enquanto perdurar a conexão. Passo a passo Cada nó intermediário do caminho é responsável pela escolha do próximo nó do caminho no instante que recebe a mensagem a despachar. Baseado na existência de tabelas de rotas nos roteadores Caminho de transmissão é escolhido dinamicamente Com base nas condições da rede Rede é capaz de contornar efeitos adversos: um canal ou dispositivo de comunicação sobrecarregado, ou ainda uma falha de componentes Rede de redes Rede quase hierárquica Provedores de Backbone nacionais/internacionais (NBPs) – “tier-1” Ex: Embratel, Oi POP: Pontos de Presença Pontos de acesso regionais Local onde uma rede permite acesso a sub-redes e a provedores de serviços locais Oferece serviço a Internet Um pacote passa através de diversas redes -Cap 2 Topologias das WANs Primeira Solução: Topologia Totalmente Ligada Todas as estações são interligadas duas a duas entre si através de um caminho físico dedicado Enlaces utilizados poderiam ser ponto a ponto com comunicação full-duplex Embora essa topologia apresente maior grau de paralelismo de comunicação, torna-se quase sempre impraticável em redes com grande número de estações e fisicamente dispersas. Numa rede com N estações seriam necessárias: N(N-1)/2 ligações ponto a ponto para que se pudesse conectar todos os pares de estações através de linhas dedicadas. Custo do sistema cresceria com o quadrado do número de estações. Segunda solução: Topologia em Anel Procura-se diminuir ao máximo o número de enlaces Utiliza-se ligações ponto a ponto que operam num único sentido da transmissão (ligação simplex), fazendo com que o anel apresente uma orientação ou sentido único de transmissão. Fatores limitantes: Aumento de pontos intermediários entre os pontos finais de comunicação Inexistência de caminhos alternativos para o trafego das mensagens Considerando as limitações de confiabilidade e velocidade é preciso criar caminhos redundantes. Terceira solução: Topologia Parcialmente Ligada Topologia intermediaria usada na maioria das redes geograficamente distribuídas Possui caminhos redundantes Caso em que estações sem conexão física direta desejem se comunicar Mensagem é encaminhada para alguma outra estação que possa fazer a entrega da mensagem para a estação de destino Processo pode se repetir várias vezes, de forma que uma mensagem pode passar por vários sistemas intermediários até ao seu destino final Topologias das Redes Locais e Metropolitanas Topologia Física Decorre do modo como a rede se apresenta instalada noespaço a ser coberto Topologia Lógica Decorre do modo como as estações vão se comunicar entre si, fazendo o fluxo de mensagem Topologia Física em Estrela Topologia Cada nó é interligado a um nó central (mestre) através do qual todas as mensagens devem passar Nó central Pode ter tanto função de gerencia de comunicação como facilidades de processamento de dados Pode ter como única função o gerenciamento das comunicações Cuja função é chaveamento (ou comutação) entre as estações Comumente é um concentrador (hub) ou switch Hub Periférico que repete para todas as suas portas os pacotes que chegam Topologia fisicamente será em estrala, porem logicamente ela é uma rede de topologia de barra Existe o problema de colisão e disputa para ver qual estação utilizara o meio físico Ethernet: usa CSMA/CD Switch Rede será fisicamente e logicamente em estrela Periférico com a capacidade de analisar o cabeçalho de endereçamento dos pacotes de dados A rede torne-se mais segura e muito mais rápida Elimina problemas de colisão Duas ou mais transmissões podem ser efetuadas simultaneamente Vantagens Confiável quanto aos hospedeiros Facilidade de manutenção Facilidade de identificação de problemas Facilidade de ampliação Desvantagens Custo, precisa de mais cabos Confiabilidade, falhas no nó central ocasiona a parada total do sistema Modularidade, configuração pode ser expandida até um certo limite imposto pelo nó central Desempenho, desempenho é limitado pela capacidade de processamento do nó central Topologia em Anel Topologia Nós vão-se ligando uns aos outros formando um anel Cabo não tem inicia nem fim Cada estação funciona como repetidor Padrão mais conhecido é o Token Ring Vantagens Baixo consumo de cabo Regeneração do sinal em cada nó permite cobrir maiores áreas Problema Vulnerabilidade a erros e pouca tolerância a falhas Alternativa para contornar os problemas Uso de estação monitora Permite iniciar o anel, enviar mensagens de teste e diagnostico e outras tarefas de manutenção Pode ser uma estação dedicada ou uma estação qualquer na rede que assuma estas funções Topologia Física em Barramento Topologia Todas as estações se ligam ao mesmo meio de transmissão Características Quando uma estação lança um sinal na rede ele percorre em ambas as direções atingindo a todos os nós Existe um mecanismo de controle de acesso ao barramento, uma forma de multiplexação no tempo do barramento Confiabilidade melhorada usando concentradores (hubs) Facilita a localização e o isolamento de falhas Escalabilidade, Hubs podem ser interconectados de forma a expandir a rede -Cap 3 Comparação entre Arquiteturas OSI e TCP/IP Proposito geral dos modelos RM-OSI Define formalmente os serviços de cada camada, interface entre camadas e os protocolos Alguns dos serviços definidos para as camadas são opcionais Flexibilidade tem aspectos positivos, mas pode levar a situações onde dois sistemas em conformidade com a arquitetura OSI não consigam se comunicar. Arquitetura TCP/IP Objetivo é resolver um problema prático: interligar redes com tecnologias distintas Foi desenvolvido um conjunto especifico de protocolos que resolveu o problema de forma bastante simples e satisfatória. Inflexibilidade da arquitetura Internet TCP/IP é uma das principais razoes de seu sucesso Camada de Redes é o protocolo IP: fato de um sistema utilizar ou não o protocolo IP foi usado inclusive para distinguir os sistemas que “estão na Internet” dos que não estão Camada de transporte: Protocolos TCP e UDP Camada de Sessão e Apresentação do RM-OSI Na arquitetura Internet as funções destas camadas foram levadas para o aplicativo (camada aplicação) Desenvolvedor é responsável por implementar funcionalidades Se não são necessárias reduz a sobrecarga destas camadas, reduz o atraso de encaminhamento e taxa de bits Desconsiderando a sobrecarga das camadas Abordagem da ISO é mais razoável, no sentido em que permite uma maior reutilização de esforços durante o desenvolvimento de aplicações distribuídas. Arquitetura Internet é um padrão de fato Pelo fato de implementações de seus protocolos terem sido a primeira opção de solução não-proprietária para a interconexão de sistemas Arquitetura ISO é um padrão de direito (de jure) Estrutura organizacional da ISO com membros representando vários países Aumenta o tempo de desenvolvimento dos padrões Confere aos mesmos uma representatividade bem maior -Cap 4: Introdução Os protocolos da camada de aplicação definem: Tipos de mensagens trocadas Sintaxe dos tipos das mensagens Semântica dos campos Regras para quando os processos enviam e respondem as mensagens Aplicações de rede: Jargão Um processo é um programa que roda em um host Dentro do mesmo host os processos se comunicam usando comunicação inter-processos fornecido pelo SO. Processo rodando em diferentes hosts se comunicam via protocolo do nível aplicação enviando e recebendo mensagens de suas portas. Socket Um processo envia/recebe mensagens para/de seu socket O socket é análogo a uma porta O processo de envio confia na infraestrutura de transporte no outro lado da porta que leva a mensagem para o socket no processo de recepção API entre a camada de aplicação e a camada de transporte. Desenvolvedor: Cria o programa (processo) Escolhe o protocolo de transporte Fixa alguns parâmetros da camada de transporte Endereçamento de processos Para um processo se comunicar com outro, o processo originador tem de identificar o processo destinatário. Para identificar o processo destinatário deve-se especificar: Node ou endereço da máquina hospedeira Identificador que especifique a identidade do processo destinatário no hospedeiro de destino (número da porta) Endereçamento da máquina hospedeira Através do endereço IP (valor de 32bits [IPv4]) Identifica unicamente uma máquina na Internet Mais correto: identifica exclusivamente a interface que liga o hospedeiro a rede Identificação do processo na máquina hospedeira Através do número da porta Alguns números de portas foram reservados para aplicações mais populares -Cap 4: DNS Domain Name System: Base de dados distribuída Implementada em uma hierarquia de muitos servidores de nomes Protocolo de camada de aplicação Permite que hospedeiros, roteadores se comuniquem com servidores de nomes para resolver nomes (tradução endereço/nome) Utiliza o protocolo UDP e usa a porta 53 Outros serviços: Apelidos para hospedeiros (aliasing) Apelido para o servidor de Emails Distribuição de carga Por que não centralizar o DNS? Ponto único de falha Volume de trafego Base de dados centralizada e distante Manutenção (da BD) Não é escalável Nenhum servidor mantem todos os mapeamentos nome-para-endereço IP Servidor de nomes local: Cada provedor, empresa tem servidor de nomes local Pedido DNS de hospedeiro vai primeiro ao servidor de nomes local Servidor de nomes autorizados: Servidores DNS de organizações, provêm nome de hospedeiro autorizado para mapeamentos IP para servidores de organizações Podem ser mantidos por uma organização ou provedor de serviços Servidor de nomes local Conhecido por cada host Cada computador deve conhecer o endereço IP do servidor DNS local Ponto de partida para pedidos de tradução Caso o computador não souber o endereço IP de uma máquina ela envia uma solicitação ao servidor DNS local Servidor DNS autorizado Todo hospedeiro está registrado em um servidor de nomes autorizado Um servidor de nomes do ISP local do hospedeiro Um servidor de nomes possui autoridade para um hospedeiro se ele tem sempre um registro DNS que traduz o nome do hospedeiro para o endereço IP do hospedeiro Muitos servidores de nomes agem como servidores de nomes locais e também como servidores de nomes autorizados Servidores top-level domain (TLD) Responsáveis pelos domínios com, org, net, edu, etc. e todos os domínios top-level nacionais ud, fr, ca, jp. Tipos: gTLD's (Generic Top Level Domains) domíniogenéricos usados no mundo todo ccTLD’s (Country Code Top Level Domains) extensões de domínios administrados pelos países. Servidor de nome raiz Contactado pelo servidor de nomes local que não consegue resolver o nome O servidor Raiz possui uma tabela que indica qual DNS será responsável pela resolução dos domínios para cada extensão de domínio (TLD) diferente Exemplo simples de DNS Tipos de consulta: Consulta recursiva Transfere a tarefa de resolução do nome para o servidor de nomes consultado Coloca peso da resolução de nome sobre o servidor de nomes contactado Carga pesada? Consulta encadeada (repetida) Servidor contatado responde com o nome de outro servidor de nomes para contato “Eu não sei isto, mas pergunte a este servidor” Cacheamento Uma vez que um servidor de nomes aprende um mapeamento, ele armazena o mapeamento num registro do tipo cache (expira em dois dias) …pulei um monte de coisa… Segurança O DNS pode ser aproveitado para ações ilegais Um modo de fazer isso é induzir um nome a apontar para um endereço diferente do correto (envenenamento) DNSEC Devido a problemas como o mencionado anteriormente, a IETF criou esta extensão do DNS Ela autentica as informações do DNS e garante que as mesmas são autenticas e integras. Sua adoção depende de cada Top Level Domain. -Cap 4: HTTP Protocolo HTTP Usa serviço de transporte TCP: Cliente inicia conexão TCP (cria socket) com servidor, porta 80 Servidor aceita conexão TCP do cliente Mensagens HTTP trocadas entre browser e servidor Web Encerra conexão TCP HTTP é “sem estado” Servidor não mantem informação sobre pedidos anteriores do cliente Conexões não-persistentes HTTP/1.0 utiliza conexões não persistentes Conexão TCP é fechada após o servidor HTTP enviar o objeto Desvantagens: Uma conexão deve ser estabelecida por objeto Necessário alocar buffers no TCP e manter variáveis do TCP tanto no cliente quanto no servidor Atraso na transferência dos objetos Partida lenta do TCP causado pelo controle de congestionamento Conexões podem ser em serie ou paralelo Sobrecarrega servidores que atendem vários clientes ao mesmo tempo Conexões paralelas reduzem o atraso Conexões persistentes Default para o HTTP/1.1 Servidor deixa a conexão TCP aberta após o envio da resposta Conexão é fechada após um certo tempo de inatividade Duas versões: Sem paralelismo: cliente lança uma nova requisição somente quando a resposta prévia é recebida Com paralelismo: cliente pode lançar pedidos sem respostas previas Vantagem: Reduz o problema de partida lenta do TCP Reduz o atraso Desvantagens da sem paralelismo Conexão TCP fica pendurada enquanto resposta não é recebida Vantagens da com paralelismo Conexão fica pendurada por um menor tempo Modelagem do tempo de resposta Definição de RTT (Round Trip Time): Intervalo de tempo entre a ida e a volta de um pacote entre um cliente e um servidor. Tempo de resposta: Um RTT para iniciar a conexão TCP Um RTT para o pedido HTTP e o retorno dos primeiros bytes da resposta HTTP Tempo de transmissão do objeto (página, imagem, etc) Total: 2RTT + Tempo de transmissão do objeto Mensagem de Pedido HTTP: HTTP/1.0 Método GET: Solicita objeto especificado Método Post: Usando quando o usuário preenche um formulário Método Head: Similar ao método GET mas o servidor envia a resposta sem o objeto solicitado HTTP/1.1 Métodos GET, POST, HEAD Método PUT: Envia o arquivo no corpo da entidade para o caminho especificado no campo de URL Método DELETE: Apaga o arquivo especificado no campo da URL Outros: TRACE: Ecoa o pedido, de maneira que o cliente possa saber o que os servidores intermediários estão mudando em seu pedido. OPTIONS: Recupera os métodos HTTP que o servidor aceita. CONNECT: Serve para uso com um proxy que possa se tornar um túnel SSL Mensagem de Reposta HTTP: Códigos de status: 1xx: Informação 2xx: Sucesso 3xx: Redirecionamento 4xx: Erro no cliente 5xx: Erro no servidor Interação usuário-servidor: autenticação .htpasswd Arquivo que servirá como base para as senhas .htaccess Arquivo de orientação/leitura utilizado pelo servidor Apache Interação usuário-servidor: cookies Interação usuário-servidor: GET condicional Meta: não enviar objeto se cliente já tem (no cache) versão atual Web Caches (proxy server) Meta: satisfazer pedido do cliente sem envolver o servidor de origem Protocolo HTTPS Implementação do protocolo HTTP sobre uma camada SSL ou do TLS Permite que os dados sejam transmitidos através de uma conexão criptografada e que se verifique a autenticidade do servidor e do cliente através de certificados digitais. Porta TCP usada por norma para o protocolo HTTPs é a 443 Redes de distribuição de conteúdo (CDNs) Os provedores de conteúdo são os clientes da CDN Replicação de conteúdo: A empresa da CDN instala centenas de servidores através da Internet A CDN replica o conteúdo de seus clientes nos servidores CDN. Quando o provedor atualiza o conteúdo, a CDN atualiza seus servidores. Seleção do Servidor Como redirecionar o cliente para um servidor particular?
Compartilhar