Chapter 1 Introduction A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we’d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Thanks and enjoy! JFK/KWR All material copyright 1996-2006 J.F Kurose and K.W. Ross, All Rights Reserved 1: Introdução 1 O que é a Internet: visão dos componentes milhões de dispositivos de computação conectados: hosts = sistemas finais rodando aplicações de rede enlaces (canais) de comunicação roteador workstation servidor móvel ISP local ISP regional fibra, cobre, rádio, satélite Taxa de transmissão = largura de banda (bandwidth) roteadores: encaminham pacotes (pedaços) de dados através da rede Rede da empresa 1: Introdução 2 O que é a Internet: visão dos serviços a infra-estrutura de comunicação permite o uso de aplicações distribuídas: WWW, email, jogos, comércio eletrônico, compartilhamento de arquivos (MP3) 1: Introdução 3 O que é um protocolo? protocolos humanos: “que horas são?” “tenho uma dúvida” apresentações … msgs específicas são enviadas … ações específicas são realizadas quando as msgs são recebidas, ou acontecem outros eventos Protocolos de rede: máquinas ao invés de pessoas todas as atividades de comunicação na Internet são governadas por protocolos protocolos definem o formato, ordem das msgs enviadas e recebidas pelas entidades da rede, e ações tomadas quando da transmissão ou recepção de msgs 1: Introdução 4 O que é um protocolo? um protocolo humano e um protocolo de rede: Oi TCP connection req. Oi TCP connection reply. Que horas são? Get http://gaia.cs.umass.edu/index.htm 2:00 <arquivo> tempo P: Apresente outro protocolo humano! 1: Introdução 5 A borda da rede: Sistemas finais (hosts): rodam programs de aplicação ex., WWW, email na “borda da rede” modelo cliente/servidor o host cliente faz os pedidos, são atendidos pelos servidores ex., cliente WWW (browser)/ servidor; cliente/servidor de email modelo peer-peer: uso mínimo (ou nenhum) de servidores dedicados ex.: Gnutella, KaZaA 1: Introdução 6 O Núcleo da Rede Malha de roteadores interconectados a pergunta fundamental: como os dados são transferidos através da rede? comutação de pacotes: os dados são enviados através da rede em pedaços discretos. 1: Introdução 7 Redes de acesso sem fio (wireless) rede de acesso compartilhado sem fio conecta o sistema final ao roteador Via estação base = “ponto de acesso” LANs sem fio: ondas de rádio substituem os fios 802.11b (WiFi): 11 Mbps acesso sem fio com maior cobertura roteador estação base hosts móveis Provido por uma operadora 1: Introdução 8 Redes domésticas Componentes típicos da rede doméstica: ADSL ou cable modem roteador/firewall/NAT Ethernet Ponto de acesso wireless do/para cable headend cable roteador/ modem firewall Ethernet (comutado) Laptops wireless Ponto de acesso wireless 1: Introdução 9 Conexões Internacionais 1: Introdução 10 Estrutura da Internet: rede de redes um pacote passa através de diversas redes! local ISP Tier 3 ISP Tier-2 ISP local ISP local ISP local ISP Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP local local ISP ISP NAP Tier 1 ISP Tier-2 ISP local ISP Tier-2 ISP local ISP 1: Introdução 11 Como ocorrem as perdas e atrasos? pacotes enfileiram nos buffers do roteador taxa de chegada de pacotes ao enlace excede a capacidade do link de saída. 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 1: Introdução 12 Web e HTTP Primeiro algum jargão Páginas Web consistem de objetos Objeto pode ser um arquivo HTML, uma imagem JPEG, um applet Java, um arquivo de áudio,… Páginas Web consistem de um arquivo HTML base que inclui vários objetos referenciados Cada objeto é endereçável por uma URL Exemplo de URL: www.someschool.edu/someDept/pic.gif nome do hospedeiro nome do caminho 2a: Camada de Aplicação 13 Protocolo HTTP HTTP: hypertext transfer protocol protocolo da camada de aplicação da Web modelo cliente/servidor cliente: browser que pede, recebe, “visualiza” objetos Web servidor: servidor Web envia objetos em resposta a pedidos HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 PC executa Explorer Servidor executando servidor WWW do NCSA Mac executa Navigator 2a: Camada de Aplicação 14 Correio Eletrônico Três grandes componentes: agentes de usuário (UA) servidores de correio servidor de correio simple mail transfer protocol: agente de usuário SMTP SMTP Agente de Usuário SMTP a.k.a. “leitor de correio” compor, editar, ler mensagens de correio servidor de correio p.ex., Eudora, Outlook, elm, Netscape Messenger mensagens de saída e chegando são armazenadas no servidor agente de usuário SMTP fila de mensagens de saída caixa de correio do usuário agente de usuário servidor de correio agente de usuário agente de usuário agente de usuário 2a: Camada de Aplicação 15 Cenário: Alice envia uma msg para Bob 1) Alice usa o UA para compor uma mensagem “para” [email protected] 2) O UA de Alice envia a mensagem para o seu servidor de correio; a mensagem é colocada na fila de mensagens 3) O lado cliente do SMTP abre uma conexão TCP com o servidor de correio de Bob 1 user agent 2 mail server 3 4) O cliente SMTP envia a mensagem de Alice através da conexão TCP 5) O servidor de correio de Bob coloca a mensagem na caixa de entrada de Bob 6) Bob chama o seu UA para ler a mensagem mail server 4 5 6 user agent 2a: Camada de Aplicação 16 DNS: Domain Name System Pessoas: muitos identificadores: base de dados distribuída protocolo de camada de aplicação permite que CPF, nome, no. da Identidade hospedeiros, roteadores Internet : Domain Name System: endereço IP (32 bit) usado p/ endereçar datagramas “nome”, ex., jambo.ic.uff.br - usado por gente P: como mapear entre nome e endereço IP? implementada na hierarquia de muitos servidores de nomes hospedeiros, roteadores, servidores de nomes se comuniquem para resolver nomes (tradução endereço/nome) nota: função imprescindível da Internet implementada como protocolo de camada de aplicação complexidade na borda da rede 2a: Camada de Aplicação 17 P2P: diretório centralizado Projeto original do Napster Bob servidor de diretório centralizado 1 1) Quando um parceiro conecta ele informa ao servidor central o seu: endereço IP conteúdo 2) Alice consulta sobre a música “Hey Jude” 3) Alice solicita o arquivo a Bob parceiros 1 3 1 2 1 Alice 2a: Camada de Aplicação 18