Redes de Computadores Resumo História da INTERNET Protocolo de Comunicação INTERNET – – Mauro Sergio Pereira Fonseca – – Modelo em camadas IP Endereçamento IP Camada de Transporte História da Internet UDP TCP História da Internet 1961-1972: primeiros princípios da comutação de pacotes 1961: Kleinrock - teoria das filas mostra a efetividade da comutação de pacotes 1964: Baran - comutação de pacotes em redes militares 1967: ARPAnet concebida pela Advanced Research Projects Agency 1969: primeiro nó da ARPAnet operacional 1972: – ARPAnet é demonstrada publicamente – NCP (Network Control Protocol) primeiro protocolo host-host – primeiro programa de email – ARPAnet cresce para 15 nós História da Internet História da Internet 1972-1980: Inter-redes, redes novas e proprietárias 1980-1990: novos protocolos, uma proliferação de redes 1970: ALOHAnet rede via satelite 1973: tese de PhD de Metcalfe s 1974: Cerf and Kahn - arquitetura no Hawai propõem a rede Ethernet para interconexão de redes final de 70: arquiteturas proprietárias: DECnet, SNA, XNA – comutação com pacotes de tamanho fixo (precursos do ATM ) 1979: ARPAnet cresce para 200 nós Cerf e Kahn’s, princípios de interconexão de redes: – minimalismo, autonomia – não se exigem mudanças internas para interconexão de redes – modelo de serviço: – – melhor esforço roteadores “stateless” controle descentralizado define a arquitetura da Internet de hoje 1983: desenvolvimento do TCP/IP 1982: SMTP é definido 1983: DNS definido para translação de nomes em endereços IP 1985: FTP é definido 1988: Controle de congestionamento do TCP novas redes nacionais: Csnet, BITnet, NSFnet, Minitel 100.000 hosts conectados à confederação de redes 1 História da Internet Protocolo de Comunicação Anos 90: comercialização, a WWW Início de 90: – – ARPAnet descomissionada WWW hypertext [Bush 1945, Nelson 1960’s] HTML, http: Berners-Lee 1994: Mosaic, depois Netscape Final de 90: comercialização da WWW est. 50 milhões de computadores na Internet est. 100 milhões de usuários enlaces de backbone operando a 1 Gbits/s 1991: NSF retira restrições sobre o uso comercial da NSFnet (descomissionada em 1995) Protocolo de comunicação O que é um protocolo? Acordo que especifica o formato e o significado da troca de mensagens de computadores. um protocolo humano e um protocolo de rede de computadores: Alô TCP pedido de conexão Alô TCP resposta de conexão Que horas são? Um aplicativo interage com o software de protocolo. Get http://www.pucpr.br/index.htm 2h00 <arquivo> tempo Conjunto de protocolos Modelo em camadas (layering model) Dividir o software de comunicação em múltiplos protocolos aumenta a flexibilidade. Mais fácil de: – – – – projetar, analisar, implementar e testar. Maneira de dividir o problema de comunicação em sub-partes, denominadas camadas. Proposição histórica da ISO (International Organization for Standardization) Organização Internacional para Padronização. 2 Camadas de Protocolos Porque camadas? Redes são complexas muitos componentes: – hosts – roteadores – enlaces de vários tipos – aplicações – protocolos – hardware, software Convivendo com sistemas complexos: A estrutura explícita permite a identificação do relacionamento das partes de um sistema complexo – Questão: Há alguma esperança de organizar a arquitetura de uma rede? Modelo de referência ISO Aplicação Camada 7 Apresentação Camada 6 Sessão Camada 5 Transporte Camada 4 Rede Camada 3 Enlace de Dados Camada 2 Física Camada 1 Especifica como organizar dados em quadros e como transmiti-los através de uma rede. – A modularização facilita a manutenção, atualização do sistema – as mudanças na implementação de uma camada são transparentes para o resto do sistema Camada 1 - Física Corresponde ao hardware de rede básico. – Camada 2 – Enlace de Dados um modelo de referencia em camadas permite a discussão da arquitetura Ex.: Especificação de RS-232. Físico Camada 1 Camada 3 – Rede Especifica como são atribuídos endereços e como são encaminhados pacotes de uma ponta da rede para a outra. Ex.: formato do quadro, bit ou byte de recheio (stuffing), checksum. Enlace de Dados Físico Rede Camada 3 Camada 2 Enlace de Dados Camada 2 Camada 1 Físico Camada 1 3 Camada 4 – Transporte Camada 5 – Sessão Especifica como tratar dos detalhes de transferência confiável. Especifica como estabelecer uma sessão de comunicação com um sistema remoto. – Transporte Camada 4 Rede Camada 3 Enlace de Dados Camada 2 Físico Camada 1 Camada 6 – Apresentação Especifica como representar dados. – Ex.: representação internas diferentes para inteiros e caracteres. Apresentação Camada 6 Ex.: Login em um computador remoto, detalhes de segurança como autenticação usando senhas. Sessão Camada 5 Transporte Camada 4 Rede Camada 3 Enlace de Dados Camada 2 Físico Camada 1 Camada 7 – Aplicação Especifica como um aplicativo em particular usa uma rede. – Ex.: como pedir um arquivo, como verificar um diretório. Sessão Camada 5 Aplicação Camada 7 Transporte Camada 4 Apresentação Camada 6 Rede Camada 3 Sessão Camada 5 Enlace de Dados Camada 2 Físico Camada 1 Pilhas = software em camadas (2) Múltiplos Cabeçalhos Aninhados Aplicativo Aplicativo Apresentação Apresentação Sessão Sessão Transporte Transporte Cabeçalho da camada 5 Rede Rede Cabeçalho da camada 4 Enlace de Dados Enlace de Dados Dados do usuário original Cabeçalho da camada 7 Cabeçalho da camada 6 Cabeçalho da camada 3 Cabeçalho da camada 2 Físico (hardware de rede) 4 Divisão em camadas e protocolos TCP/IP Base da divisão em camadas Aplicativo Aplicativo mensagem idêntica Apresentação Apresentação mensagem idêntica Sessão Sessão mensagem idêntica Transporte Transporte mensagem idêntica Rede Rede mensagem idêntica Enlace de Dados Enlace de Dados mensagem idêntica Físico (hardware de rede) aplicação: suporta as aplicações de rede – Transporte Rede ip, protocolos de roteamento Enlace enlace: transferência de dados entre elementos vizinhos da rede – Aplicação tcp, udp rede: roteamento de datagramas da origem ao destino – ftp, smtp, http transporte: transferência de dados host-host – Física ppp, ethernet física: bits “nos fios dos canais” Divisão em camadas: comunicação lógica Ex.: Transporte 1. 2. 3. 4. 5. apanha dados da aplicação acrescenta endereço, verificação de erros e outras informações para montar um “datagrama” envia datagrama ao parceiro espera pelo reconhecimento do parceiro analogia: correio Camada 6 Camada 5 Aplicativo Sessão Camada 5 Transporte Camada 4 Transporte Camada 4 Rede Camada 3 Internet Camada 3 Enlace de Dados Camada 2 Interface de Rede Camada 2 Físico Camada 1 Físico Camada 1 Cada camada: distribuída “entidades” implementam as funções da camada em cada nó entidades realizam ações, trocam mensagens entre pares 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 aplicação transporte rede enlace física Divisão em camadas: comunicação física dados aplicação transport transporte rede enlace física ack aplicação transporte rede enlace física Camada 7 Apresentação Divisão em camadas: comunicação lógica Pilha de protocolos da Internet Aplicativo dados dados aplicação transporte rede enlace física rede enlace física aplicação transporte rede enlace física dados aplicação transport 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 5 Camadas de Protocolos e dados Cada camada recebe dados de cima acrescenta um cabeçalho de informação para criar uma nova unidade de dados passa a nova unidade de dados para a camada abaixo fonte M Ht M Hr Ht M He Hr Ht M destino aplicação aplicação Ht transporte transporte Hr Ht rede rede He Hr Ht enlace enlace física física M mensagem M segmento M datagrama M quadro 6