Redes de Computadores e Internet transparências baseadas no livro “Computer Networking: A Top-Down Approach Featuring the Internet” James Kurose e Keith Ross http://occawlonline.pearsoned.com/bookbind/pubbooks/kurose-ross1/ 1: Introdução 1 Serviços Necessários à Comunicação computador central terminal • CASO 1: Como enviar informações entre um terminal e um computador ? • Enviar unidades binárias (BInary uniT = BIT) em série ou paralelo • Codificação dos BITs (representação para 0 e 1 e duração de cada bit) • Codificação dos caracteres (ex.: ASCII, EBCDIC) • Sincronização entre emissor e receptor • Tratamento de erros de transmissão • Controle de fluxo • Estabelecer regras de troca de dados (protocolo) 1: Introdução 2 Serviços Necessários à Comunicação computador central terminais • Múltiplos terminais • Surge necessidade de endereçamento 1: Introdução 3 Parte I: Introdução Visão geral: • o que é Internet • o que é um protocolo? • borda da rede • núcleo da rede • rede de acesso, meio físico • desempenho: perdas, atrasos • camadas de protocolo, modelos de serviço • backbones, NAPs, ISPs • histórico 1: Introdução 4 O que é Internet: visão “componentes” • milhões de dispositivos computacionais conectados: hosts, sistemas finais o o workstations, servidores telefones PDAs, torradeiras roteador servidor estação trabalho móvel ISP local executando aplicações de rede • links de comunicação o • ISP regional fibra, cobre, rádio, satélite roteadores: passam adiante (forward) pacotes de dados através da rede rede corporativa 1: Introdução 5 O que é Internet: visão “componentes” • protocolos: envio e recepção de msgs o • e.g., TCP, IP, HTTP, FTP, PPP Internet: “rede de redes” o router server workstation mobile local ISP aproximadamente hierárquica regional ISP • Padrões Internet o RFC: Request for comments o IETF: Internet Engineering Task Force company network 1: Introdução 6 O que é Internet: visão “de serviços” • infraestrutura de comunicação possibilita aplicações distribuídas: o WWW, email, jogos, ecommerce, database, votações, compartilhamento de arquivos (MP3) • serviços de comunicação fornecidos: o o sem conexão orientada a conexão 1: Introdução 7 O que é protocolo? protocolos humanos: • “que horas são?” • “Eu tenho uma questão” … msgs específicas enviadas … ações específicas tomadas quando msgs recebidas, ou outros eventos protocolos de rede: • máquinas em vez de humanos • toda atividade de comunicação na Internet governada por protocolos protocolos definem formatos, ordens de mensagens enviadas e recebidas entre entidades de rede, e ações tomadas 1: Introdução 8 O que é protocolo? um protocolo humano e um protocolo computacional de rede: requisição conexão TCP Oi Oi conexão TCP resposta. Tem horas? Get http://gaia.cs.umass.edu/index.htm 2:00 <arq> tempo Q: Outro protocolo humano? 1: Introdução 9 Estrutura de rede: • borda da rede: aplicações e hosts • núcleo da rede: o o roteadores rede de redes • redes de acesso, meios físicos: links de comunicação 1: Introdução 10 A borda da rede: • sistemas finais (hosts): o o o executam programas de aplicação e.g., WWW, e-mail situam-se na “borda da rede” • modelo cliente/servidor o o cliente host faz requisições, recebem serviços do servidor e.g., WWW cliente (navegador)/ servidor; e-mail cliente/servidor • modelo par-a-par: o o interação simétrica entre hosts e.g.: Gnutella, KaZaA 1: Introdução 11 Borda da rede: serviço orientado a conexão Objetivo: transferência de • dados entre sistemas. handshaking: setup (prepara para) transferência de dados o o • Alô, alô protocolo humano de telefone setup “estado” em dois hosts se comunicando TCP - Transmission Control Protocol o Serviço orientado a conexões da Internet serviço TCP [RFC 793] • confiável, transferência de dados ordenada byte-stream o • controle de fluxo: o • perdas: acknowledgements (reconhecimentos) e retransmissões emissor não pode “oprimir”o receptor controle de congestão o emissores “reduzem a taxa de envio” qdo a rede está congestionada 1: Introdução 12 Borda da rede: serviço sem conexão Objetivo: transferência de dados entre sistemas finais o • mesmo que o anterior! UDP - User Datagram Protocol [RFC 768]: serviço sem conexão da Internet o transferência de dados não-confiável o sem controle de fluxo o sem controle de congestão Aplics usando TCP: • HTTP (WWW), FTP (transf. arq.), Telnet (login remoto), SMTP (email) Aplics usando UDP: • streaming media, teleconferencing, Internet telephony 1: Introdução 13 O núcleo da rede • • malha de roteadores interconectados questão fundamental: como os dados são transferidos através da rede? o comutação (chaveamento) de circuitos: circuito dedicado por chamada: rede telefônica o comutação de pacotes: dados enviados através da rede em “pedaços” 1: Introdução 14 Núcleo da rede: comutação de circuitos Recursos fim a fim reservados por chamada • largura de banda no enlace (link), capacidade no switch • recursos dedicados: sem compartilhamento • desempenho garantido • requer setup na chamada 1: Introdução 15 Redes de pacotes: roteamento • Objetivo: mover pacotes entre roteadores da origem para destino o iremos estudar algoritmos de roteamento • rede datagrama: o o o endereço de destino determina próximo hop rota pode mudar durante sessão analogia: dirigir perguntando direção • rede de circuito virtual: o cada pacote carrega um tag (virtual circuit ID), que determina o próximo hop o caminho fixo determinado em tempo de setup de chamada, permanece fixo durante chamada o roteadores mantêm estado por chamada 1: Introdução 16 Redes de acesso e meios físicos Q: Como conectar sistemas finais aos roteadores de borda? • • • redes de acesso residencial redes de acesso institucional (escola, companhia) redes de acesso móveis Tenha em mente: • • bandwidth (bits por segundo) da rede de acesso? compartilhados ou dedicados? 1: Introdução 17 Acesso residencial: acesso ponto a ponto • Discagem via modem até 56Kbps acesso direto ao roteador (conceitualmente) • ISDN: integrated services digital network: 128Kbps conectados ao roteador • ADSL: asymmetric digital subscriber line o até 1 Mbps casa-roteador o até 8 Mbps roteador-casa o ADSL ainda em desenvolvimento o 1: Introdução 18 Acesso residencial: modens a cabo • HFC: hybrid fiber coax assimétrico: até 10Mbps downstream, 1 Mbps upstream • rede de cabo e fibra interliga casas ao roteador ISP o acesso compartilhado ao roteador o questões: congestionamento, dimensionamento • disponíveis através de companhias de cabo o 1: Introdução 19 Acesso institucional: redes locais • local area network (LAN) conectam sistemas finais a roteador de borda • Ethernet: o cabo compartilhado ou dedicado conecta sistema final e roteador o 10 Mbs, 100Mbps, Gigabit Ethernet 1: Introdução 20 Redes de acesso sem fio • rede de acesso sem fio e compartilhada conecta sistema final ao roteador • wireless LANs: o o espectro de rádio substitui fio e.g., Lucent Wavelan 11 Mbps roteador estação base • wider-area wireless access o CDPD: acesso sem fio ao roteador ISP via rede celular hosts móveis 1: Introdução 21 “Camadas” de protocolos Redes são complexas! • muitas “peças”: o hosts o roteadores o vários tipos de links o aplicações o protocolos o hardware, software Questão: Existe alguma esperança em organizar a estrutura de rede? Ou pelo menos a discussão sobre redes? 1: Introdução 22 Por que usar camadas? Para lidar com sistemas complexos: • estrutura explícita permite identificar o relacionamento entre peças do sistema complexo o modelo de referência em camadas facilita discussão • modularização facilita manutenção e atualização do sistema o mudança na implementação de serviços de camadas transparentes para o resto do sistema • uso de camadas pode ser prejudicial? 1: Introdução 23 Organização de viagens aéreas passagem (compra) passagem (reclama) bagagem (entrega) bagagem (recupera) portão (embarque) portão (desembarque) decolagem aterrissagem roteamento do avião roteamento do avião roteamento do avião • uma série de passos 1: Introdução 24 Organização de viagens aéreas: outra visão passagem (compra) passagem (reclama) bagagem (entrega) bagagem (recupera) portão (embarque) portão (desembarque) decolagem aterrissagem roteamento do avião roteamento do avião roteamento do avião Camadas: cada camada implementa um serviço o através das ações internas da própria camada o uso dos serviços providos pela camada inferior 1: Introdução 25 Viagens aéreas em camadas: serviços entrega balcão a balcão de passageiros/bagagem entrega de bagagem do check-in à esteira entrega pessoas: p. embarque ao p. desembarque entrega de avião: aeroporto a aeroporto roteamento do avião da origem ao destino 1: Introdução 26 passagem (compra) passagem (reclama) bagagem (entrega) bagagem (recupera) portão (embarque) portão (desembarque) decolagem aterrissagem roteamento do avião roteamento do avião Aeroporto de desembarque Aeroporto de embarque Implementação distribuída da funcionalidade da camada locais intermediários de tráfego aéreo roteamento do avião roteamento do avião roteamento do avião 1: Introdução 27 Pilha de protocolos da Internet • aplicação: suporta aplicações de rede o • transporte: transferência de dados entre hosts o • ip, protocolos de roteamento enlace: transferência de dados entre elementos de rede “vizinhos” o • tcp, udp rede: roteamento de datagramas da origem para destino o • ftp, smtp, http ppp, ethernet física: bits “no fio” aplicação transporte rede enlace física 1: Introdução 28 Camadas: comunicação lógica Cada camada: • distribuída • “entidades” implementam funções de camadas em cada nó • entidades executam ações, trocam mensagens com seus pares aplicação transporte rede enlace física aplicação transporte rede enlace física rede enlace física aplicação transporte rede enlace física aplicação transporte rede enlace física 1: Introdução 29 Camadas: comunicação logica E.g.: transporte • • • • • pega dados da aplic. adiciona endereço, informação de confiabilidade p/ formar “datagrama” envia datagrama para seu par espera confirmação de recepção de seu par analogia: correio dados aplicação transport transporte rede enlace física aplicação transporte rede enlace física ack dados rede enlace física aplicação transporte rede enlace física dados aplicação transport transporte rede enlace física 1: Introdução 30 Camadas: comunicação física dados aplicação transporte rede enlace física aplicação transporte rede enlace física rede enlace física aplicação transporte rede enlace física dados aplicação transporte rede enlace física 1: Introdução 31 Protocolo em camadas e dados Cada camada recebe dados da camada acima • adiciona cabeçalho de informação para criar nova unidade de dados • passa nova unidade de dados para camada abaixo origem destino M Ht M Hn Ht M Hl Hn Ht M aplicação transporte rede enlace física aplicação Ht transporte Hn Ht rede Hl Hn Ht enlace física M mensagem M segmento M M datagrama frame 1: Introdução 32 Estrutura da Internet: rede de redes • • mais ou menos hierárquica national/international backbone providers (NBPs) o o • regional ISP NBP B NAP NAP ISPs regionais o • e.g. Embratel, BBN/GTE, Sprint, AT&T, IBM, UUNet interconecta cada par com outro privativamente, ou em um Network Access Point (NAP) público local ISP conecta em NBPs (ex. Telesc) ISP local, companhia o conecta em ISP regional (ex. UOL, UFSC) NBP A regional ISP local ISP 1: Introdução 33 Exemplo: Backbone da Rede Nacional de Pesquisa - RNP 1: Introdução 34 História da Internet 1972-1980: Inter-redes, redes novas e proprietárias • • • • • • 1970: ALOHAnet rede via satélite em Havaí 1973: tese de doutorado de Metcalfe propõe Ethernet 1974: Cerf and Kahn arquitetura para interligar redes fim dos 70: arquiteturas proprietárias: DECnet, SNA, XNA fim dos 70: comutação de pacotes de tamanho fixo (precursor do ATM) 1979: ARPAnet tem 200 nós Cerf and Kahn: princípios de inter-redes: o minimalismo, autonomia - nenhuma mudança interna necessária para interligar redes o modelo de serviço de melhor esforço o roteadores sem estado o controle descentralizado definem a arquitectura da Internet de hoje 1: Introdução 35 História da Internet 1980-1990: novos protocolos, proliferação de redes • 1983: implantação de • • • • TCP/IP 1982: definição do protocolo smtp (correio) 1983: definição do DNS para tradução de nome para endereço IP 1985: definição do protocolo ftp 1988: TCP: controle de congestionamento • novas redes nacionais: Csnet, BITnet, NSFnet, Minitel • 100,000 hospedeiros ligados à confederação de redes • Brasil - início da BITnet em 1988 (LNCC e FAPESP) • Brasil - início da UUCP em 1989 (Alternex) 1: Introdução 36 História da Internet 1990’s: commercialização, WWW • • • Início dos 1990: fim da ARPAnet 1991: NSF remove restrições em uso comercial da NSFnet (aposentada, 1994) início dos 1990: WWW o hypertexto [Bush 1945, Nelson 1960’s] o HTML, http: Berners-Lee o 1994: Mosaic, depois Netscape o fim dos 1990: comercialização da WWW Fim dos 1990: • • • est. 50 milhões de computadores na Internet est. 100 milhões+ de usuários enlaces backbone funcionando em 1 Gbps 1: Introdução 37 A Internet no Brasil Pequena cronologia • 1991 - rede TCP/IP experimental (SP, RJ, RS) até 9.600 bps • 1992 - Rede-Rio, ANSP, RNP até 64 kbps • 1994/5 - RNPv2, com enlaces de 2 Mbps • 1994/5 - abertura comercial, Embratel, Comitê Gestor • 1999 - criação das ReMAVs, Rede-Rio 2, enlaces de 155 Mbps • 1999 - novo backbone da Rede-UFF 622 Mbps • 2000 - backbone ATM da RNP2 • 2001 - conexão internacional em 155 Mbps 1: Introdução 38 Capítulo 1: Sumário Cobrimos muita matéria! • • • • • • • • visão geral da Internet o que que é um protocolo? Borda e núcleo de rede, rede de acesso desempenho: perdas, retardo modelos de camadas e serviços backbones, PTTs, provedores história redes ATM Com sorte, você já adquiriu: • contexto, visão geral, intuição de redes • profundidade e detalhes maiores mais tarde no curso 1: Introdução 39