Chapter 1 Introduction A note on the use of these PowerPoint slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and 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) that you mention their source (after all, we’d like people to use our book!) If you post any slides 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. For a revision history, see the slide note for this page. Thanks and enjoy! JFK/KWR All material copyright 1996-2020 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top-Down Approach 8th edition Jim Kurose, Keith Ross Pearson, 2020 Introduction: 1-1 Capítulo 1: introdução Objetivo do Capítulo: Overview/roadmap: ▪ Obter o “sentimento,” “visão geral,” introdução à terminologia ▪ O que é a Internet? O que é um protocolo? • mais profundidade e detalhes serão abordados mais tarde no curso ▪ Borda da rede: hosts, rede de acesso, meio físico ▪ Núcleo da rede: comutação de pacotes/circuito, estrutura da internet ▪ Camadas de protocolo e seus modelos de serviço ▪ História Introduction: 1-2 A Internet: uma visão dos componentes essenciais Bilhões de dispositivos de computação conectados: mobile network national or global ISP ▪ hosts = sistemas finais ▪ Executando aplicativos de rede na "borda" da Internet Comutadores de pacotes: encaminham pacotes (pedaços de dados) ▪ roteadores, switches local or regional ISP Internet home network Links de Comunicação ▪ fibra, cobre, rádio, satélite Redes ▪ Coleção de dispositivos, roteadores, links: gerenciados por uma organização content provider network datacenter network enterprise network Introduction: 1-3 Dispositivos divertidos conectados à Internet bikes Pacemaker & Monitor Amazon Echo Quadro de fotos Geladeira Garfo Robô aspirador cars Dispositivos de realidade aumentada Câmera de Segurança scooters Colchão Vídeo Games Telefone VoIP Outros? Smartwatches Introduction: 1-4 A Internet: uma visão dos componentes essenciais rede móvel ▪ Internet: “rede de redes” 4G ISP nacional ou global • ISPs interconectados ▪ Protocolos estão em toda parte controlar o envio e recebimento de mensagens • e.g., HTTP (Web), streaming de vídeo, Skype, TCP, IP, WiFi, 4G, Ethernet Streaming de vídeo IP Skype • ▪ Padrões da Internet • RFC: Request for Comments • IETF: Internet Engineering Task Force ISP local ou regional Rede doméstica Rede de provedor de conteúdo HTTP Rede datacenter Ethernet TCP Rede corporativa WiFi Introduction: 1-5 A Internet: uma visão de “serviços” ▪ Infraestrutura que provê serviços as aplicações: • Web, streaming de vídeo, teleconferência multimídia, e-mail, jogos, e-commerce, mídia social, eletrodomésticos interconectados … • Provê interface de programação para aplicações distribuídas: • “hooks” que permite que aplicativos de envio e recebimento se conectem, usando o serviço de transporte da Internet • provê opções de serviço, análogo ao serviço postal mobile network national or global ISP Streaming video Skype local or regional ISP home network HTTP content provider network datacenter network enterprise network Introduction: 1-6 O que é um protocolo? Protocolos humanos: ▪ ▪ ▪ “Que horas são?” “Eu tenho uma pergunta” Apresentações Regras para: … envio de mensagens específicas … tomada de ações específicas quando a mensagem é recebida, ou outros eventos Protocolos de Redes: ▪ ▪ Computadores (dispositivos) em vez de humanos. Toda atividade de comunicação na Internet é governada por protocolos. Protocolos definem o formato, a ordem das mensagens enviadas e recebidas entre entidades da rede, e as ações tomadas na transmissão e recepção das mensagens. Introduction: 1-7 O que é um protocolo? Um protocolo humano e um protocolo de rede de computadores: Oi Solicitação de conexão TCP Oi Resposta de conexão TCP Que horas são? GET http://eu.amo.redes.edu/cap_1 2:00 <file> tempo Q: Outros protocolos humanos? Introduction: 1-8 Capítulo 1: roadmap ▪ O que é a Internet? ▪ O que é um protocolo? ▪ Borda da Rede: hosts, rede de acesso, meio físico ▪ Núcleo da rede: comutação de pacotes/circuito, estrutura da internet ▪ Camadas de protocolo e seus modelos de serviço ▪ História Introduction: 1-9 Um olhar mais atento sobre a estrutura da Internet Rede móvel Borda da rede: ISP nacional ou global ▪ hosts: clientes e servidores ▪ Servidores frequentemente em data centers ISP local ou regional rede doméstica Rede de provedores de conteúdo rede datacenter Rede corporativa Introduction: 1-10 Um olhar mais atento sobre a estrutura da Internet rede móvel Borda da rede: ISP nacional ou global ▪ hosts: clientes e servidores ▪ Servidores frequentemente em data centers Rede de acesso, meio físico: ISP local ou regional home network ▪Links de comunicação com fio e sem fio Rede do provedor de conteúdos rede datacenter rede corporativa Introduction: 1-11 Um olhar mais atento sobre a estrutura da Internet mobile network Borda da rede: national or global ISP ▪ hosts: clientes e servidores ▪ Servidores frequentemente em data centers local or regional ISP Rede de acesso, meio físico: ▪Links de comunicação com fio e sem fio home network content provider network datacenter network Núcleo da rede: ▪ Roteadores interconectados ▪ rede de redes enterprise network Introduction: 1-12 Capítulo 1: roadmap ▪ O que é a Internet? ▪ O que é um protocolo? ▪ Borda da Rede: hosts, rede de acesso, meio físico ▪ Núcleo da rede: comutação de pacotes/circuito, estrutura da internet ▪ Camadas de protocolo e seus modelos de serviço ▪ História Introduction: 1-13 Duas funções principais do núcleo de rede Roteamento: routing algorithm Encaminhamento: ▪ também conhecido como “switching” (comutação) ▪ ação local: Mover pacotes chegando da entrada do roteador para a saída apropriada do roteador. local local forwarding forwarding table table header value output link 0100 0101 0111 1001 Endereço de destino no cabeçalho do pacote que está chegando 3 2 2 1 1 ▪ ação global : determinar os caminhos de origemdestino seguidos pelos pacotes. ▪ algoritmos de roteamento 3 2 Introduction: 1-14 Comutação de circuito Recursos ponta a ponta alocados, reservados para uma “chamada” entre a origem e o destino. ▪ No diagrama, cada link tem quatro circuitos. • A chamada obtém o segundo circuito no link superior e o primeiro circuito no link direito. ▪ Recursos dedicados: sem compartilhamento ▪ Segmento de circuito fica ocioso se não for utilizado pela chamada (sem compartilhamento). ▪ Comumente usado em redes telefônicas tradicionais Introduction: 1-15 Comutação de circuito: FDM and TDM Time Division Multiplexing (TDM) ▪ Tempo dividido em slots ▪ Cada chamada é alocada em slot(s) periódico(s), podendo transmitir na taxa máxima da (mais ampla) banda de frequência (apenas) durante seu(s) slot(s) de tempo. frequência 4 usuários tempo frequência Frequency Division Multiplexing (FDM) ▪ Frequências ópticas e eletromagnéticas divididas em (estreitas) faixas de frequência. ▪ Cada chamada é alocada em sua própria banda, podendo transmitir na taxa máxima dessa faixa estreita. tempo Introduction: 1-16 O núcleo da rede ▪ malha de roteadores interconectados ▪ comutação de pacotes: os hosts dividem as mensagens da camada de aplicação em pacotes • A rede encaminha pacotes de um roteador para o próximo, através de links no caminho da origem ao destino • Os recursos não são reservados (recursos por demanda) rede móvel ISP Nacional ou global ISP local ou regional Rede doméstica Rede de provedor de conteúdo Rede datacenter Rede corporativa Introduction: 1-17 Comutação de pacotes: enfileiramento C A D B E fila de pacotes aguardando transmissão pelo link de saída O enfileiramento ocorre quando o trabalho chega mais rápido do que pode ser atendido: Introduction: 1-18 Comutação de pacotes: armazenar e encaminhar origem 3 2 1 destino ▪ Armazenar e encaminhar (store and forward): o pacote inteiro deve chegar ao roteador antes que possa ser transmitido no próximo link. Introduction: 1-19 Comutação de pacotes versus comutação de circuito exemplo: ▪ Link de 1 Gb/s ▪ Cada usuário: • 100 Mb/s quando “ativo” • ativo 10% do tempo N users Link de 1 Gbps Q: Quantos usuários podem utilizar esta rede sob comutação de circuitos e comutação de pacotes? ▪ Comutação de circuito: 10 usuários ▪ Comutação de pacotes: Com 35 usuários, a probabilidade de mais de 10 estarem ativos ao mesmo tempo é inferior a 0,0004. Introduction: 1-20 Comutação de pacotes x Comutação de Circuitos A comutação de pacotes é uma "vitória fácil e certa"? ▪ Ótimo para dados "explosivos" - às vezes há dados para enviar, mas em outros momentos não. • Compartilhamento de recursos • Mais simples, sem configuração de chamada ▪ Congestionamento excessivo é possível: atraso e perda de pacotes devido ao estouro de buffer. • São necessários protocolos para transferência de dados confiável e controle de congestionamento. ▪ Q: Como fornecer comportamento semelhante a circuito com comutação de pacotes? • "É complicado." Vamos estudar várias técnicas que tentam tornar a comutação de pacotes o mais "semelhante a circuito" possível. Introduction: 1-21 Estrutura da internet: uma “rede de redes” ▪ Os hosts se conectam à Internet por meio dos Provedores de Serviço de Internet (ISPs). ▪ Os ISPs devem estar interconectados • Para que quaisquer dois hosts (em qualquer lugar!) possam enviar pacotes um ao outro ▪ A rede resultante de redes é muito complexa. • A evolução é impulsionada pela economia e políticas nacionais. mobile network national or global ISP local or regional ISP home network content provider network datacenter network enterprise network Vamos adotar uma abordagem passo a passo para descrever a estrutura atual da Internet. Estrutura da internet: uma “rede de redes” Questão: Dado que existem milhões de ISPs de acesso, como conectá-los entre si? access net access net access net access net access net access net access net access net access net access net access net access net access net access net access net access net Introduction: 1-23 Estrutura da internet: uma “rede de redes” Questão: Dado que existem milhões de ISPs de acesso, como conectá-los entre si? access net access net access net access net access net access net access net Conectar cada ISP diretamente entre si não é escalável: O(N2) conexões. access net access net access net access net access net access net access net access net access net Introduction: 1-24 Estrutura da internet: uma “rede de redes” … E redes regionais podem surgir para conectar redes de acesso aos ISPs. access net access net access net access net access net IXP access net ISP A access net ISP B IXP access net access net access net ISP C access net access net regional ISP access net access net access net access net Introduction: 1-25 Estrutura da internet: uma “rede de redes” … E as redes de provedores de conteúdo (por exemplo, Google, Amazon, Netflix) podem operar suas próprias redes para levar serviços e conteúdo mais próximos aos usuários finais. access net access net access net access net access net IXP access net ISP A access net Rede de provedor de conteúdo access net ISP B IXP access net access net ISP C access net access net regional ISP access net access net access net access net Introduction: 1-26 Estrutura da internet: uma “rede de redes” ISP de nível 1 ISP de nível 1 IXP IXP Regional ISP access ISP access ISP Google access ISP access ISP IXP Regional ISP access ISP access ISP access ISP access ISP No "centro": um pequeno número de grandes redes bem conectadas. ▪ ISPs comerciais “nível-1” (e.g., Level 3, Sprint, AT&T, NTT), com cobertura nacional e internacional ▪ Redes de provedores de conteúdo (e.g., Google, Facebook): redes privadas que conectam seus data centers à Internet, muitas vezes contornando os ISPs de "tier-1" e regionais." Introduction: 1-27 Capítulo 1: roadmap ▪ O que é a Internet? ▪ O que é um protocolo? ▪ Borda da Rede: hosts, rede de acesso, meio físico ▪ Núcleo da rede: comutação de pacotes/circuito, estrutura da internet ▪ Camadas de protocolo e seus modelos de serviço ▪ História Introduction: 1-28 Camadas de protocolos e modelos de referência Redes são complexas, com muitas “peças”: ▪ hosts ▪ roteadores ▪ links ▪ aplicações ▪ protocolos ▪ hardware, software Questão: Existe alguma esperança de organizar a estrutura da rede? ▪E/ou nossa discussão sobre redes? Introduction: 1-29 Exemplo: organização de viagens aéreas Transferência ponta a ponta de pessoa mais bagagem. passagem (compra) passagem (reclamação) bagagem (check-in) baggage (retirada) portões (carga) portões (retirada) pista de decolagem roteamento do avião pista de pouso roteamento do avião roteamento de aeronaves Como você definiria/discutiria o sistema de viagens aéreas? ▪ Uma série de passos, envolvendo muitos serviços Introduction: 1-30 Exemplo: organização de viagens aéreas passagem (compra) serviço de passagem passagem (reclamação) bagagem (check-in) serviço de bagagem portões (carga) pista de decolagem serviço de portão serviço de pista Roteamento de aeronave de roteamento roteamento do avião serviço bagagem (retirada) portões (retirada) pista de pouso roteamento do avião camadas: cada camada implementa um serviço ▪ Por meio de suas próprias ações internas de camada ▪ Contando com os serviços fornecidos pela camada abaixo Introduction: 1-31 Por que camadas? Abordagem para projetar/discutir sistemas complexos: ▪ Estrutura explícita permite a identificação e relação das partes do sistema • Modelo de referência em camadas para discussão ▪ A modularização facilita a manutenção e atualização do sistema. • mudança na implementação de serviço da camada: transparente para o restante do sistema. • exemplo: mudança no procedimento do portão não afeta o restante do sistema. Introduction: 1-32 Modelos de Referência Modelo OSI da ISO ▪ ISO (International Standards Organization) ▪ OSI (Open System Interconection) ▪ 7 camadas Modelo TCP/IP ▪ TCP (Transport Control Protocol) ▪ IP (Internet Protocol) ▪ 4 camadas Introduction: 1-33 Modelos de Referência OSI ▪ A ISO reconheceu a necessidade das redes trabalharem juntas e se comunicarem ▪ Por isso, a ISO lança em 1984, o modelo de referência OSI • Open Systems Interconnection ▪ Embora o Modelo OSI tenha sido uma conquista significativa em termos de padronização e tenha influenciado o desenvolvimento de redes de computadores, é importante mencionar que ele não se tornou amplamente adotado na prática em sua forma original Introduction: 1-34 Modelos de Referência OSI - Princípios ▪ Um nível de abstração por camada aplicação ▪ Camadas com funções bem definidas ▪ Em cada camada devem ser usados protocolos padronizados internacionalmente ▪ Número de camadas nem grande, nem pequeno apresentação sessão transporte rede enlace física As sete camadas do modelo de referência OSI/ISO Introduction: 1-35 Modelo de Referência OSI Camada Física Aplicação Apresentação Sessão Transporte Rede Enlace Física ▪ Trata das características • mecânicas, elétricas, funcionais e de procedimentos para conexão física entre entidades da camada de enlace • Codificação, taxa de transmissão, modo de transmissão, etc ▪ Deve garantir que o bit enviado pelo transmissor seja entendido corretamente pelo receptor • Não se preocupa com o significado dos bits Modelo de Referência OSI Camada de Enlace Aplicação Apresentação Sessão Transporte Rede Enlace Física ▪ Trata o fluxo de dados no enlace entre transmissor e receptor: • Controle de fluxo • Detecção e correção de erros • Acesso ao meio compartilhado ▪ Não permite ligação entre redes distintas Modelo de Referência OSI Camada de Rede Aplicação Apresentação Sessão Transporte Rede Enlace Física ▪ Controla as operações na sub-rede: • Roteamento: estático ou dinâmico • Apresenta problemas em situações congestionadas • Interconexão de redes ▪ Não garante que o pacote chegue ao destino Modelo de Referência OSI Camada de Transporte Aplicação Apresentação Sessão Transporte Rede Enlace Física ▪ Divide as mensagens em pacotes (segmentos) ▪ É a primeira camada fim-a-fim ▪ Deve garantir: • • • • • Comunicação fim-a-fim confiável Multiplexação de conexões Controle de fluxo entre hosts Controle de congestionamento Controle de erros Modelo de Referência OSI Camada de Sessão Aplicação Apresentação Sessão Transporte Rede Enlace Física ▪ Permite que aplicações em hosts diferentes partilhem uma sessão ▪ Provê: • Controle de diálogo • Controle de token • Sincronização Modelo de Referência OSI Camada de Apresentação Aplicação Apresentação Sessão Transporte Rede Enlace Física ▪ Traduz dados dos formatos requeridos pela rede para os formatos dos hosts • • • • Tradução dos dados Compressão de textos Criptografia Conversão de padrões Modelo de Referência OSI Camada de Aplicação Aplicação Apresentação Sessão Transporte Rede Enlace Física ▪ Provê serviços que suportam diretamente as aplicações do usuário, como: • Correio eletrônico • Transferência de arquivos • Acesso a banco de dados ▪ Não define as aplicações em si! Pilha de protocolos de Internet em camadas. (Modelo TCP/IP + camada física) ▪ aplicação: aplicações de rede suportadas • HTTP, IMAP, SMTP, DNS ▪ transporte: transferência de dados entre processos • TCP, UDP ▪ rede: roteamento de datagramas da origem ao destino • IP, protocolos de roteamento ▪ enlace: transferência de dados entre elementos de redes vizinhos • Ethernet, 802.11 (WiFi),… aplicação application transport transporte rede network enlace link physical físico ▪ físico: bits “no fio” Introduction: 1-44 Serviços, Camadas e Encapsulamento M aplicação transporte rede enlace físico origem A aplicação troca mensagens para implementar algum serviço de aplicação usando os serviços da camada de transporte. Ht M O protocolo da camada de transporte transfere M (por exemplo, de forma confiável) de um processo para outro, utilizando os serviços da camada de rede. ▪ O protocolo da camada de transporte encapsula a mensagem da camada de aplicação, M, com cabeçalho da camada de transporte, Ht ,para criar um segmento da camada de transporte • Ht é usado pelo protocolo da camada de transporte para implementar seu serviço. aplicação transporte rede enlace físico destino Introduction: 1-45 Serviços, Camadas e Encapsulamento M aplicação aplicação transporte rede enlace físico origem Ht M O protocolo da camada de transporte transfere M (por exemplo, de forma confiável) de um processo para outro, utilizando os serviços da camada de rede. Hr Ht M O protocolo da camada de rede transfere o segmento da camada de transporte [Ht | M] de um host para outro, utilizando os serviços da camada de enlace ▪ O protocolo da camada de rede encapsula o segmento da camada de transporte [Ht | M] com o cabeçalho da camada de rede, Hr, para criar um datagrama da camada de rede • Hr é usado pelo protocolo da camada de rede para implementar seu serviço. transporte rede enlace físico destino Introduction: 1-46 Serviços, Camadas e Encapsulamento M aplicação aplicação transporte rede enlace físico origem Ht M transporte Hr Ht M rede He Hr Ht M O protocolo da camada de rede transfere o segmento da camada de transporte [Ht | M] de um host para outro, utilizando os serviços da camada de enlace O protocolo da camada de enlace transfere o datagrama [Hr| [Ht |M] de um host para outro host vizinho, utilizando os serviços da camada física. ▪ O protocolo da camada de enlace encapsula o datagrama de rede [Hr| [Ht |M], com o cabeçalho da camada de enlace, He , para criar um quadro da camada de enlace. enlace física destino Introduction: 1-47 Serviços, Camadas e Encapsulamento M M aplicação Ht M transporte aplicação mensagem Ht transporte M segmento rede Hr Ht M Hr Ht M rede He Hr Ht M He Hr Ht M enlace datagrama enlace quadro físico origem físico destino Introduction: 1-48 Encapsulamento: uma visão fim a fim origem mensagem segmento M Ht M datagrama H Hnr Ht M quadro He Hr Ht M aplicação transporte rede enlace físico enlace físico switch destino M Ht M Hr Ht M He Hr Ht M aplicação transporte rede enlace físico Hr Ht M He Hr Ht M rede enlace físico Hr Ht M roteador Introduction: 1-49