Redes de Computadores Modelo de Referência TCP/IP [email protected] Na aula anterior • Arquitetura de Redes •Definição •Modelos em Camadas •Serviços e Protocolos •Modelo OSI • Camada de Aplicação • Camada de Apresentação • Camada de Sessão • Camada de Transporte • Camada de Rede • Camada de Enlace de dados • Camada Física Objetivos •Modelo TCP/IP • Camada de Aplicação • Camada de Transporte • Camada de Inter-redes • Camada de Host/rede •Camada de Aplicação do Modelo TCP/IP •DNS – Domain Name Space •SMTP – Simple Mail Transfer Protocol Modelo TCP/IP A ARPANET - "A avó da Internet" Inicialmente, as redes de computadores eram utilizadas principalmente como meio de comunicação entre terminais e main frames (Sistemas Distribuidos), a rede de transmissão como conhecemos deu-se início de fato com as redes telefônicas. Até hoje a internet é provida por redes telefônicas (Embratel, TIM, Oi, VIVO, Claro etc.) e repassada por empresas de roteamento da rede, conhecidas como provedores. Modelo TCP/IP Na década de 60, com o avanço das tecnologias de comunicação, as linhas telefônicas foram largamente distribuidas e vendidas, com este crescimento surgiram também vários problemas. Um deles surgiu por volta de 1962 com a crise dos mísseis. Modelo TCP/IP Basicamente, a topologia das redes de transmissão era em arvore, o que ocasionavam vários problemas de Modularidade. Para contornar esse problema, foi criado uma proposta para mudar esta topologia para Parcialmente Ligada. Ao se interligar várias redes que antes não estavam ligadas a ARPANET, outros problemas ainda foram surgindo. Um dos principais era relacionados a compatibilidade da arquitetura e dos serviços. Modelo TCP/IP Foi então definido um padrão de arquitetura de redes, baseado no modelo OSI, só que mais enxuto com apenas 4 camadas: • Camada de Aplicação • Camada de Transporte • Camadade Inter-redes • Camada de Host/rede Modelo TCP/IP Este Modelo foi tido como padrão nas redes abertas que conectaram à ARPANET, seu nome foi dado por causa dos seus dois protocolos de conexão principais, o protocolo de controle de transmissão (TCP - Transmission Control Protocol) e o protocolo de internet (IP - Internet Protocol), sendo conhecido finalmente como Modelo de referência TC/IP. Modelo TCP/IP Modelo de referência TCP/IP Para entendermos melhor o modelo de referência TCP/IP, temos que entender as suas camadas. Camada de Aplicação A Camada de Aplicação A camada de aplicação contém uma série de protocolos que são utilizados pelos usuários. Um dos protocolos mais utilizados é o de Transferência de Hiper Texto (HTTP - Hiper Text Transfer Protocol) que constitui a base da Word Wide Web, assim como outros protocolos de transferência de arquivos (FTP), Teminal virtual (TELNET), correio eletrônico (SMTP), transmissão de notícias NNTP, mapeamento dos nomes dos servidores (DNS), etc. Outras Camadas Sobre outras camadas pertencentes ao modelo OSI O Modelo TCP/IP não possui a camada de sessão e de apresentação devido a falta de necessidade destas camadas, pois são pouco utilizadas na maioria das aplicações. Camada de Transporte A Camada de Trasporte A camada de transporte tem como principal finalidade permitir que as entidades pares (origem e destino) mantenham uma conversação, similar ao que acontce na camada OSI. Esta conversação pode ser do tipo orientada a conexão e não orientada a conexão. Camada de Transporte Orientada a conexão - Antes de haver a transmissão de dados, ha uma emissão de pacotes de controle entre os pares antes de remeterem os dados reais. Este procedimento de alerta prepara o emissor e o receptor para uma "rajada" de pacotes. Este procedimento é importante para garantir a entrega dos dados. Não orientada a conexão - Não existe nenhuma apresentação entre os pares, quando há a necessidade de envio de pacotes, o emissor simplesmente envia-os sem se preocupar se o emissor irá recebêlos. Este tipo de conexão é mais rápida, porém menos confiável. . Camada de Transporte Nesta camada existem dois protocolos fim a fim principais TCP - Transmission Control Protocol (Protocolo de Controle de Transmissão) É um protocolo orientado a conexões confiáveis que entrega os pacotes sem erros entre um emissor e qualquer receptor da inter-rede. Este protocolo é responsável por fragmentar os pacotes em partes menores e repassa para a camada de inter-redes. Ele também é responsável pelo controle de fluxo impedindo que um transmissor rápido sobrecarrege um receptor lento com uma quantidade de pacotes maior do que ele pode suportar. UDP - User Datagram Protocol (Protocolo de Datagrama do Usuário) É um protocolo não orientado a conexão e não confiável, destinado a aplicações que não precisam de um controle de fluxo nem manutenção da sequência das mensagens enviadas. É amplamente utilizado nas aplicações de consulta cliente/servidor com a solicitação/resposta, onde a entrega imediata é mais importante do que uma entrega precisa (transmissão de voz, vídeo, etc.). Camada Inter-redes Trata a comutação dos pacotes entre as redes. Ela é responsável pela ligação entre os terminais e de interligação de toda a arquitetura. Tem como tarefa é permitir que os hosts injetem os pacotes em qualquer rede e garanta que estes pacotes chegem, idependentemente, ao seu destino final. Os pacotes podem chegar em ordens diferentes, mas devem ser organizados na ordem correta. Ela define um formato de pacote oficial e um protocolo chamado IP (Internet Protocol Protocolo de Inter-rede). A tarefa principal é entregar os pacotes IP onde eles são necessários. Um item de grande importância nessa camada é o roteamento dos pacotes, funcionando como a camada de Redes do modelo OSI. A Camada de Host/Redes Nesta camada é especificado apenas que ela deve utilizar um protocolo para se enviar os pacotes IP. Este protocolo não é definido e varia de host para host e de rede para rede. Camada de Aplicação - TCP/IP Introdução à camada de Aplicação - TCP/IP DNS - Domain Name Space Para facilitar o uso da internet, foi criado um sistema de endereçamento por nome, que substitui o endereço IP do servidor por um apelido na rede. Estes domínios ficam registrados em servidores DNS espalhados pelo mundo e que podem ser do tipo .com, .edu, .uk, .br, .net, etc. Ao se cadastrar um novo domínio nestes servidores, eles inserem esse domínio em uma gigantesca tabela referenciando o nome de cada domínio e seu respectivo endereço IP. Camada de Aplicação - TCP/IP Cada domínio .com deve ser único, porém podem haver domínios com nomes iguais em diferentes servidores DNS: www.google.com, www.google.net, www.google.uk, etc. O Domínio .com, por exemplo, está sob a responsabilidade de uma empresa chamada Network Solutions e ela mantem o servidor que controla a lista com os domínios .com. A base de dados onde é cadastrado o nome do domínio é chamada de whois, que contém informações sobre o proprietário e o servidor de domínio. Camada de Aplicação - TCP/IP A maioria das empresas não colocam seus domínios apenas em um servidor DNS, variando-o de país para país (microsoft.com, microsoft.com.br, etc.) Todo domínio possui um servidor em algum lugar, responsável por lidar com as requisições, onde há uma pessoa mantendo os registros deste DNS. Ele está completamente espalhado por todo o planeta em milhões de máquinas, administradas por milhões de pessoas e, ainda assim, se comporta como uma base de dados única e integrada. Camada de Aplicação - TCP/IP A consulta dos servidores DNS se dá de maneira recursiva, sendo do nome final para o nome inicial. Ou seja: www.google.com.br vai ser procurado o servidor DNS responsável pelo domínio .br, em seguida pelo domínio .com e depois o nome de domínio google na Word Wide Web. Todo servidor tem uma lista de servidores raízes existentes na internet. Ao se conectar, há uma tentativa em lista de todos os servidores da lista até encontrar um que responda. Camada de Aplicação - TCP/IP Exemplo de um trecho da lista de servidores raizes que redirecionam para os servidores principais. . 3600000 IN A.ROOT-SERVERS.NET. 3600000 ; ; formerly NS1.ISI.EDU ; . 3600000 B.ROOT-SERVERS.NET. 3600000 NS A A.ROOT-SERVERS.NET. 198.41.0.4 NS B B.ROOT-SERVERS.NET. 128.9.0.107 Camada de Aplicação - TCP/IP Correio Eletrônico - E-mail O e-mail já existe a mais de três décadas, antes de 1990 era apenas empregado no meio acadêmico. A partir de meados da década de 90 que os e-mails se tornara um meio de comunicação em larga escala. Camada de Aplicação - TCP/IP Os primeiros sistemas de e-mails se conectavam simplesmente com o protocolo de transferência de arquivos, com a convenção de que a primeira linha do arquivo deveria conter o endereço do destinatário. Essa estratégia não durou muito tempo devido a alguns problemas encontrados: - Era muito difícil enviar um e-mail para várias pessoas ao mesmo tempo. - Não havia estrutura interna, dificultando o seu gerenciamento por parte do computador. Camada de Aplicação - TCP/IP Em geral, os sistemas de correio eletrônico admitem cinco funções básicas. Vamos examiná-las. A composição A composição se refere ao processo de criar mensagens e respostas. Apesar de qualquer editor de textos poder ser usado para o corpo da mensagem, o sistema em si pode auxiliá-lo com o endereçamento e com os inúmeros campos de cabeçalho associados a cada mensagem. Por exemplo, quando responde a uma mensagem, o sistema de correio eletrônico pode extrair o endereço do remetente da mensagem recebida e incluí-lo automaticamente no lugar adequado da resposta. Camada de Aplicação - TCP/IP A transferência A transferência se refere ao deslocamento de uma mensagem entre o remetente e o destinatário. Em geral, isso exige o estabelecimento de uma conexão com o destino ou com alguma máquina intermediária, a transmissão de uma mensagem e o encerramento da conexão. O sistema de correio eletrônico pode fazer isso automaticamente, sem perturbar o usuário. A geração de relatórios A geração de relatórios está relacionada ao fato de informar o remetente sobre o que aconteceu com a mensagem. Ela foi entregue? Foi rejeitada? Perdeu-se? Existem inúmeras aplicações em que a confirmação da entrega da mensagem é importante e pode ter até mesmo significação legal. Camada de Aplicação - TCP/IP A exibição A exibição das mensagens recebidas é necessária para que as pessoas possam ler suas mensagens de correio eletrônico. Às vezes, é preciso fazer a conversão ou invocar um visualizador especial, como acontece quando a mensagem é um arquivo PostScript ou de voz digitalizada. Algumas vezes, também há tentativas de conversões e formatações simples. A disposição A disposição é a última etapa e se refere ao que o destinatário faz com a mensagem depois de recebê-la. Dentre as possibilidades estão jogá-la fora, gravá-la etc. Também deveria ser possível recuperar e reler as mensagens gravadas, encaminhá-las ou processá-las de outras formas. Camada de Aplicação - TCP/IP Outras Funções Problema da Lista de E-mails Com frequência, os gerentes de empresas precisam enviar uma mensagem a cada um de seus subordinados, clientes ou fornecedores. Essa necessidade deu origem à ideia de uma lista de debate (mailing list), uma lista de endereços de correio eletrônico. Quando uma mensagem é enviada a uma lista de debate, cópias idênticas são entregues a cada pessoa incluída na lista. Camada de Aplicação - TCP/IP O Protocolo SMTP (Simple Mail Transfer Protocol - Protocolo Simples de Transferência de Correio) É um protocolo simples de envio e recebimento de mensagens via servidores de correio eletrônico (e-mail). Este protocolo utiliza a porta 25 em uma rede com arquitetura TCP/IP. Normalmente utiliza o padrão MIME (Extensões Multi função para Mensagens de Internet - sigla MIME do inglês Multipurpose Internet Mail Extensions) que é um formato que substitui o ASCII na conversão de bits em caracteres. Camada de Aplicação - TCP/IP SSL SSL significa Secure Sockets Layer. Quando o SMTP é usado, esse modo SSL geralmente indica a necessidade de uma conexão segura, desde o momento em que se conecta com os servidores de e-mail. Normalmente, o SSL está associado à porta 465. Consulte seu outro provedor de e-mail para obter mais detalhes. Em geral, os sistemas de correio eletrônico admitem cinco funções básicas. Vamos examiná-las. MIME-Version: Identifica a versão do MIME Content-Type:Tipo e formato do conteúdo Camada de Aplicação - TCP/IP Esta mensagem enviada é dividida em 3 partes: Envelope MIME-Version: 1.0 Received: by 10.182.167.5 with HTTP; Fri, 20 Jul 2012 07:49:50 -0700 (PDT) Date: Fri, 20 Jul 2012 11:49:50 -0300 Delivered-To: [email protected] Message-ID: <CAHSzE9SBeud+Y7SKhaHi9cPNHxEyqan13nAFA5gdekqAPLAMrA@mail. gmail.com> Cabeçalho Subject: Exemplo de SMTP From: "[email protected]" <[email protected]> To: Erick Bergamini <[email protected]> Content-Type: multipart/alternative; boundary=f46d044787a31f344804c5440228 --f46d044787a31f344804c5440228 Camada de Aplicação - TCP/IP Conteúdo (Corpo) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Um simples exemplo de uma mensagem de e-mail inteira. Este =E9 o corpo do e-mail. --=20 ------------------------------------------------------------------Erick Bergamini da Silva Lima Tecnologo em An=E1lise e Desenvolvimento de Sistemas. IFRN --f46d044787a31f344804c5440228 Camada de Aplicação - TCP/IP Conteúdo Codificado (traduzido) Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Um simples exemplo de uma mensagem de e-mail inteira.<br>Este =E9 o corpo d= o e-mail.<br clear=3D"all"><br>-- <br>-------------------------------------= ------------------------------<br>Erick Bergamini da Silva Lima<br>Tecnolog= o em An=E1lise e Desenvolvimento de Sistemas.<br> IFRN<br><br><br> Linha de finalização --f46d044787a31f344804c5440228 FIM