Redes de Computadores 1 Prof. Marcelo Diniz Fonte: http://wps.aw.com/br_kurose_rede_1/ 1: Introdução 1 Roteiro do Capítulo 1 1.1 O Que é a Internet? 1.2 A Borda (Periferia) da Internet 1.4 Redes de acesso e meios físicos 1.3 O Núcleo da Rede 1.5 ISPs e backbones da Internet 1.6 Atraso, perda e vazão em redes de comutação de pacotes 1.7 Camadas de protocolos e seus modelos de serviços (1.6 Redes sob ataque) 1.8 História das redes de computadores e da Internet 1c: Introdução 2 Como ocorrem as perdas e atrasos? pacotes enfileiram nos buffers do roteador r taxa de chegada de pacotes ao enlace excede a capacidade do link de saída. r pacotes enfileram, esperam pela vez pacote em transmissão (atraso) A B enfileiramento de pacotes (atraso) buffers livres (disponíveis): pacotes que chegam são descartados (perda) se não houver buffers livres 1c: Introdução 3 Quatro fontes de atraso dos pacotes r 1. processamento do nó: r 2. enfileiramento m tempo de espera no enlace de m verificação de bits saída até a transmissão errados m depende do nível de m identificação do enlace de congestionamento do roteador saída transmissão A propagação B processamento do nó (nodal) enfileiramento (fila) 1c: Introdução 4 Atraso em redes comutadas por pacotes 3. Atraso de transmissão: r R=largura de banda do enlace (bps) r L=compr. do pacote (bits) r tempo para enviar os bits no enlace = L/R transmissão A 4. Atraso de propagação: r d = compr. do enlace r s = velocidade de propagação no meio (~2x108 m/seg) r atraso de propagação = d/s Nota: s e R são valores muito diferentes! propagação B processamento enfileiramento no nó 1c: Introdução 5 Analogia com uma Caravana 100 km Caravana de dez carros r r r r pedágio Os carros se “propagam” a 100 km/h O pedágio leva 12 seg para atender um carro (tempo de transmissão) carro~bit; caravana ~ pacote P: Quanto tempo leva até que a caravana esteja enfileirada antes do segundo pedágio? 100 km pedágio r r r Tempo para “atravessar” toda a caravana através do pedágio para a estrada = 12*10 = 120 seg Tempo para que o último carro se propaga do primeiro para o segundo pedágio: 100km/(100km/h)= 1 h R: 62 minutos 1c: Introdução 6 Analogia com uma caravana (mais) 100 km Caravana de dez carros r r r pedágio Os carros agora se “propagam” a 1000 km/h Os pedágios agora levam em torno de 1 min para atender um carro P: Os carros chegarão ao segundo pedágio antes que todos os carros tenham sido atendidos no primeiro pedágio? 100 km pedágio r r Sim! Após 7 min, o 1o. Carro chega ao 2o. Pedágio e ainda há 3 carros no 1o. pedágio. O 1o. bit do pacote pode chegar ao 2o. Roteador antes que o pacote tenha sido totalmente transmitido no 1o. roteador! m Veja o applet Ethernet no site da AWL 1c: Introdução 7 Atraso por nó dnó dproc dfila dtrans dprop r dproc = atraso de processamento m tipicamente de poucos microsegs ou menos r dfila = atraso de enfileiramento m depende do congestionamento r dtrans = atraso de transmissão m = L/R, significativo para canais de baixa velocidade r dprop = atraso de propagação m poucos microsegs a centenas de msegs 1c: Introdução 8 Atrasos e rotas “reais” da Internet r r Como são os atrasos e as perdas reais da Internet? Programa Traceroute : fornece medições de atraso da fonte até os diversos roteadores ao longo do caminho fim-afim até o destino. Para cada i: m m m Envia três pacotes que alcançarão o roteador i no caminho até o destino. O roteador i devolverá os pacotes ao transmissor O transmissor calcula o intervalo de tempo decorrido entre a transmissão e a chegada da resposta. 3 probes 3 probes 3 probes 1c: Introdução 9 Atrasos e rotas “reais” traceroute: gaia.cs.umass.edu para www.eurocom.fr Três medições de atraso de gaia.cs.umass.edu p/cs-gw.cs.umass.edu 1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms 2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms 3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms 4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms 5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms 6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms 7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms link trans8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms oceânico 9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms 10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms 11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms 12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms 13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms 14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms 15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms 16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms 17 * * * * sem resposta (pacote perdido, roteador não responde) 18 * * * 19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms 1c: Introdução 10 Traceroute (www.traceroute.org) traceroute to nuperc.unifacs.br (200.128.80.130), 30 hops max, 40 byte packets 1 lightning.sdsc.edu (132.249.20.6) 0.729 ms 0.333 ms 0.471 ms 2 piranha.sdsc.edu (132.249.30.8) 0.343 ms 0.348 ms 0.358 ms 3 riv-hpr--sdsc-sdsc2-ge.cenic.net (137.164.27.53) 2.608 ms 2.547 ms 2.604 ms 4 lax-hpr--riv-hpr-10ge.cenic.net (137.164.25.4) 8.720 ms 8.680 ms 8.596 ms 5 clara--calren-hpr.cenic.net (137.164.27.91) 11.964 ms 11.928 ms 11.843 ms 6 tijuana-saopaulo.core.redclara.net (200.0.204.5) 178.829 ms 178.816 ms 178.712 ms 7 rnp-br-spau.peer.redclara.net (200.0.204.194) 365.759 ms 390.888 ms 374.856 ms 8 * * * 9 so-0-0-0-r1-ba.bkb.rnp.br (200.143.252.33) 203.427 ms 203.377 ms 203.390 ms 10 s2-ba.bkb.rnp.br (200.143.252.250) 203.894 ms 203.785 ms 244.287 ms 11 200.128.80.130 (200.128.80.130) 203.762 ms 203.937 ms 203.884 ms 1c: Introdução 11 Traceroute (www.traceroute.org) traceroute to saturno.unifacs.br (200.223.74.117), 30 hops max, 40 byte packets 1 lightning.sdsc.edu (132.249.20.6) 0.515 ms 0.346 ms 0.228 ms 2 piranha.sdsc.edu (132.249.30.8) 0.348 ms 0.469 ms 0.362 ms 3 inet-lax-isp--sdsc-sdsc2-ge.cenic.net (137.164.24.205) 3.977 ms 4.238 ms 3.980 ms 4 lsanca3lcx1-gige14-0-13.wcg.net (64.200.200.49) 4.229 ms 3.862 ms 4.232 ms 5 lsanca3lcx1-globalcrossing-pos.wcg.net (64.200.142.194) 14.590 ms 14.764 ms 14.465 ms 6 so1-0-0-2488M.ar3.jfk1.gblx.net (67.17.72.26) 69.126 ms 69.305 ms 69.164 ms 7 Telemar-Norte-Leste-S-A.ge-1-2-1.ar3.JFK1.gblx.net (64.215.184.22) 76.708 ms 76.921 ms 77.094 ms 8 PO3-0.VLM-SP-ROTN-01.telemar.net.br (200.223.131.234) 187.207 ms 187.720 ms 187.424 ms 9 200.223.131.42 (200.223.131.42) 197.788 ms 197.973 ms 197.784 ms 10 PO6-0.BDEA-BA-ROTN-01.telemar.net.br (200.223.131.49) 228.203 ms 228.204 ms 228.256 ms 11 PO5-0.BDEA-BA-ROTD-02.telemar.net.br (200.223.131.62) 217.232 ms 217.442 ms 217.739 ms 12 Po3.BDEA-BA-ROTD-01.telemar.net.br (200.164.60.66) 228.179 ms 228.212 ms 228.578 ms 13 200.223.254.34 (200.223.254.34) 218.964 ms 218.848 ms 218.970 ms 14 200.223.64.90 (200.223.64.90) 234.829 ms 230.929 ms 231.592 ms 15 200.223.74.249 (200.223.74.249) 230.333 ms 231.585 ms 230.357 ms 16 * * * 1c: Introdução 12 Perda de pacotes r fila (buffer) anterior a um canal possui capacidade finita r quando um pacote chega numa fila cheia, o pacote é descartado (perdido) r o pacote perdido pode ser retransmitido pelo nó anterior, pelo sistema origem, ou não ser retransmitido buffer (área de espera) A B pacote em transmissão pacote que encontra o buffer cheio é descartado/perdido 1c: Introdução 13 Vazão (Throughput) r vazão: taxa (bits/unidade de tempo) na qual os bits são transferidos entre o transmissor e o receptor instantânea: taxa num certo instante de tempo m média: taxa num período de tempo mais longo m link capacity cano que pode server,envia with servidor Rs bits/sec fluído à file(fluído) of F bits bits no transportar taxa de to send to client cano Rs bits/seg link capacity cano que pode Rc bits/sec transportar fluído à taxa de Rc bits/seg 1c: Introdução 14 Vazão (mais) r Rs < Rc Qual é a vazão média fim-a-fim? Rs bits/seg Rs Rc bits/seg > Rc Qual é a vazão média fim-a-fim? Rs bits/seg Rc bits/seg Enlace gargalo link no caminho fim-a-fim que restringe a vazão fim-a-fim 1c: Introdução 15 Vazão: cenário da Internet r vazão por conexão fim-a-fim: min(Rc,Rs,RG) r na prática: Rc ou Rs são freqüentemente o gargalo Rs Rs Rs RG Rc Rc Rc 1c: Introdução 16 Roteiro do Capítulo 1 1.1 O Que é a Internet? 1.2 A Borda (Periferia) da Internet 1.4 Redes de acesso e meios físicos 1.3 O Núcleo da Rede 1.5 ISPs e backbones da Internet 1.6 Atraso, perda e vazão em redes de comutação de pacotes 1.7 Camadas de protocolos e seus modelos de serviços (1.6 Redes sob ataque) 1.8 História das redes de computadores e da Internet 1c: Introdução 17 “Camadas” de Protocolos As redes são complexas! r muitos “pedaços”: m hosts m roteadores m enlaces de diversos meios m aplicações m protocolos m hardware, software Pergunta: Há alguma esperança em conseguirmos organizar a estrutura da rede? Ou pelo menos a nossa discussão sobre redes? 1c: Introdução 18 Organização de uma viagem aérea Uma série de passos/ações 1c: Introdução 19 Funcionalidade de uma linha aérea em camadas Camadas: cada camada implementa um serviço m através de ações internas à camada m depende dos serviços providos pela camada inferior 1c: Introdução 20 Por que dividir em camadas? Lidar com sistemas complexos: r estrutura explícita permite a identificação e relacionamento entre as partes do sistema complexo m modelo de referência em camadas para discussão r modularização facilita a manutenção e atualização do sistema m mudança na implementação do serviço da camada é transparente para o resto do sistema m ex., mudança no procedimento no portão não afeta o resto do sistema r divisão em camadas é considerada prejudicial? 1c: Introdução 21 Pilha de protocolos (TCP/IP) r aplicação: dá suporte a aplicações de rede m FTP, SMTP, HTTP r transporte: transferência de dados processo a processo m TCP, UDP r rede: roteamento de datagramas da origem até o destino m IP, protocolos de roteamento r enlace: transferência de dados aplicação transporte rede enlace física entre elementos de rede vizinhos m PPP, Ethernet r física: bits “no fio” 1c: Introdução 22 Modelo de referência ISO/OSI r apresentação: permite às aplicações interpretar o significado dos dados, ex., cifragem, compressão, convenções específicas de máquina r sessão: sincronização, verificação, recuperação da troca de dados r a pilha Internet não contém estas camadas! m estes serviços, caso necessários, devem ser implementados na aplicação m eles são necessários? aplicação apresentação sessão transporte rede enlace física 1c: Introdução 23 Comparação: OSI x TCP/IP aplicação apresentação sessão transporte rede enlace física aplicação transporte rede enlace física 1c: Introdução 24 Roteiro do Capítulo 1 1.1 O Que é a Internet? 1.2 A Borda (Periferia) da Internet 1.4 Redes de acesso e meios físicos 1.3 O Núcleo da Rede 1.5 ISPs e backbones da Internet 1.6 Atraso, perda e vazão em redes de comutação de pacotes 1.7 Camadas de protocolos e seus modelos de serviços (1.6 Redes sob ataque) 1.8 História das redes de computadores e da Internet 1c: Introdução 25 Segurança de Redes r O campo de segurança de redes lida com: m como os bandidos podem atacar as redes m como podemos defender as redes contra ataques m como projetar arquiteturas que sejam imunes a ataques r A Internet não foi projetada inicialmente com (muita) segurança em mente m m m visão original: “um grupo de usuários mutuamente confiáveis conectados a uma rede transparente Projetistas dos protocolos Internet estão “correndo atrás do prejuízo” Considerações sobre segurança em todas as camadas! 1c: Introdução 26 Os atacantes podem colocar malware nos hospedeiros pela Internet r O Malware pode entrar nos hospedeiros através de vírus, worms, ou cavalo de Tróia. r Spyware pode registrar teclas digitadas, sítios web visitados, carregar informações para sítio de coleta. r Hospedeiro infectado podem ser incluídos numa botnet, usada para gerar spams e ataques DDoS. r Malware é freqüentemente auto-replicante: cada hospedeiro invadido procura invadir novos hospedeiros. 1c: Introdução 27 Os atacantes podem colocar malware nos hospedeiros pela Internet r Cavalo de Tróia m Parte escondida em algum programa útil m Hoje é encontrado freqüentemente numa página Web (Active-X, plugin) r Vírus m Infecção pela execução ativa de objetos recebidos (ex., anexo de e-mail). m auto-replicante: propaga-se para outros hospedeiros, usuários Worm: infecção através da recepção passiva de objetos que são executados auto-replicante: propaga-se para outros hospedeiros, usuários Sapphire Worm: taxa agregada de scans/seg nos primeiros 5 minutos do surto (CAIDA, UWisc data) Introduction 28 Ataque a servidores e à infraestrutura da rede r Negação de serviço (DoS): atacantes deixam os recursos (servidor, banda) indisponíveis para o tráfego legítimo sobrecarregando o recurso com tráfego falso 1. seleciona o alvo 2. Invade hospedeiros na rede (vide botnet) 3. envia pacotes para o alvo a partir de hospedeiros invadidos alvo 1c: Introdução 29 Os atacantes podem bisbilhotar os pacotes Bisbilhotagem (sniffing) de pacotes: m m meios de difusão (Ethernet compartilhado, sem fio) interface promíscua de rede lê/registra todos os pacotes que passam (incluindo senhas!) C A src:B dest:A payload B O programa Wireshark usado para os laboratórios no final do capítulo é um sniffer grátis de pacotes 1c: Introdução 30 Os atacantes podem usar endereços de origem falsos r Imitação (spoofing) de pacotes IP: envia pacotes com endereços origem falsos C A src:B dest:A payload B 1c: Introdução 31 Os atacantes podem gravar e reproduzir r gravar e reproduzir: copia informações confidenciais (ex., senha), para usar posteriormente m o possuidor da senhaé aquele usuário do ponto de vista do sistema A C src:B dest:A user: B; password: foo B 1c: Introdução 32 Segurança de Rede r Mais ao longo do curso r Capítulo 8: foco em segurança r técnicas de criptografia: usos óbvios e usos não tão óbvios 1c: Introdução 33 Roteiro do Capítulo 1 1.1 O Que é a Internet? 1.2 A Borda (Periferia) da Internet 1.4 Redes de acesso e meios físicos 1.3 O Núcleo da Rede 1.5 ISPs e backbones da Internet 1.6 Atraso, perda e vazão em redes de comutação de pacotes 1.7 Camadas de protocolos e seus modelos de serviços (1.6 Redes sob ataque) 1.8 História das redes de computadores e da Internet 1c: Introdução 34 História da Internet 1961-1972: Estréia da comutação de pacotes r r r r 1961: Kleinrock - teoria das filas demonstra eficiência da comutação por pacotes 1964: Baran - comutação de pacotes em redes militares 1967: concepção da ARPAnet pela ARPA (Advanced Research Projects Agency) 1969: entra em operação o primeiro nó da ARPAnet 1c: Introdução 35 História da Internet 1961-1972: Estréia da comutação de pacotes r 1972: m demonstração pública da ARPAnet m NCP (Network Control Protocol) primeiro protocolo host-host m primeiro programa de e-mail m ARPAnet com 15 nós 1c: Introdução 36 História da Internet 1972-1980: Interconexão de redes novas e proprietárias r r r r r r 1970: rede de satélite ALOHAnet no Havaí 1973: Metcalfe propõe a Ethernet em sua tese de doutorado 1974: Cerf e Kahn arquitetura para a interconexão de redes fim dos anos 70: arquiteturas proprietárias: DECnet, SNA, XNA fim dos anos 70: comutação de pacotes de comprimento fixo (precursor do ATM) 1979: ARPAnet com 200 nós Princípios de interconexão de Cerf e Kahn: m minimalismo, autonomia - não é necessária nenhuma mudança interna para interconectar redes m modelo de serviço best effort roteadores sem estados m controle descentralizado definem a arquitetura atual da Internet m 1c: Introdução 37 História da Internet 1980-1990: novos protocolos, proliferação de redes r r r r r 1983: implantação do TCP/IP 1982: definição do protocolo SMTP para e-mail 1983: definição do DNS para tradução de nome para endereço IP 1985: definição do protocolo FTP 1988: controle de congestionamento do TCP r r novas redes nacionais: Csnet, BITnet, NSFnet, Minitel 100.000 hosts conectados numa confederação de redes 1c: Introdução 38 História da Internet Anos 90 e 2000: comercialização, a Web, novas aplicações r r r início dos anos 90: ARPAnet desativada 1991: NSF remove restrições ao uso comercial da NSFnet (desativada em 1995) início dos anos 90 : Web m hypertexto [Bush 1945, Nelson 1960’s] m HTML, HTTP: BernersLee m 1994: Mosaic, posteriormente Netscape m fim dos anos 90: comercialização da Web Final dos anos 90-00: r r r r r novas aplicações: mensagens instantâneas, compartilhamento de arquivos P2P preocupação com a segurança de redes est. 50 milhões de computadores na Internet est. mais de 100 milhões de usuários enlaces de backbone a Gbps 1c: Introdução 39 História da Internet 2007: r ~500 milhões de hospedeiros r Voz, Vídeo sobre IP r Aplicações P2P: BitTorrent (compartilhamento de arquivos) Skype (VoIP), PPLive (vídeo) r Mais aplicações: YouTube, jogos r wireless, mobilidade 1c: Introdução 40 Evolução do Número de Hosts 1c: Introdução 41 Evolução do Número de Hosts 1c: Introdução 42 Internet/BR EVOLUÇÃO DO NÚMERO DE HOSTS DO BRASIL EVOLUÇÃO DA POSIÇÃO DO NÚMERO DE HOSTS DO BRASIL EM RELAÇÃO AO MUNDO 1c: Introdução 43