4
Funcionalidades e Protocolos da Camada de Aplicação
A maioria de nós vivencia a Internet através da World Wide Web, de s...
5
Neste modelo, as informações são passadas de uma camada para a outra, começando na camada de Aplicação no host trans-
mi...
6
 O Protocolo SMTP1 é utilizado para transferência de mensagens e anexos de e-mail.
 Telnet, um protocolo de simulação ...
7
Aplicações que Detectam Redes
Aplicações são programas de softwares usados por pessoas para se comunicarem pela rede. Al...
8
Os protocolos da camada de Aplicação são utilizados pelos dispositivos de origem e destino durante uma sessão3 de comuni...
9
ao solicitar dados do servidor, que responde enviando uma ou mais sequências de dados ao cliente. Os protocolos da camad...
10
Uma única aplicação pode utilizar vários serviços diferentes de suporte da camada de Aplicação. Assim, o que parece par...
11
O Modelo Não-Hierárquico
Além do modelo cliente/servidor para a rede, também há o modelo não-hierárquico. A rede não-hi...
12
Agora que entendemos melhor como as aplicações fornecem uma interface para o usuário e acesso à rede, veremos alguns pr...
13
chamado de mensagem. Este formato de mensagem é utilizado para todos os tipos de consultas de cliente e respostas de se...
14
Um servidor DNS fornece a resolução de nome utilizando o daemon do nome, frequentemente chamado de "named" (pronun-
cia...
15
Os diferentes domínios de nível superior representam o tipo de organização ou país de origem. Exemplos de domínios de n...
16
Os navegadores Web são as aplicações cliente que nossos computadores utilizam para se conectar à World Wide Web e acess...
17
O e-mail, o serviço de rede mais popular, revolucionou a forma como as pessoas se comunicam graças a sua simplicidade e...
18
Processos de Servidor de E-mail - MTA e MDA
O servidor de e-mail opera dois processos separados:
 Mail Transfer Agent ...
19
Como mencionado anteriormente, o e-mail pode utilizar os protocolos POP e SMTP (veja a figura para uma aplicação sobre
...
20
O File Transfer Protocol (FTP) é outro protocolo da camada de Aplicação comumente utilizado. O FTP foi desenvolvido par...
21
móveis que vêm e vão em uma rede. Os usuários podem se mover livremente de local a local e restabelecer conexões de red...
22
Quando o cliente tiver o aluguel, este deverá ser renovado antes do vencimento por outra mensagem DHCP REQUEST.
O servi...
23
O protocolo SMB descreve o acesso ao sistema de arquivos e como os clientes podem fazer solicitações de arquivos. Ele t...
24
Muitas aplicações P2P não utilizam um banco de dados central para registrar todos os arquivos disponíveis nos pares (pe...
25
O Telnet é um protocolo cliente/servidor e especifica como uma sessão VTY é estabelecida e encerrada. Ele também fornec...
26
A camada de Aplicação é responsável pelo acesso direto a processos subjacentes que gerenciam e fornecem a comunicação à...
27
O software de aplicação tem duas formas: aplicação e serviço
 Aplicação são projetadas pata interagir conosco. Aplicaç...
28
4. Compare e contraste cliente/servidor com transferência de dados ponto-a-ponto através da rede.
Transferência de dado...
29
Mensagens SMB usam um formato comum para:
 Iniciar, autenticar e finalizar sessões
 Controlar acesso a arquivos e a i...
30
3.0.1 INTRODUÇÃO AO CAPÍTULO 4
3.1.1 MODELOS OSI E TCP/IP 4
3.1.2 SOFTWARE DA CAMADA DE APLICAÇÃO 6
3.1.3 APLICAÇÕES DE...
Upcoming SlideShare
Loading in …5
×

Capítulo 3 funcionalidades e protocolos da camada de aplicação

1,676
-1

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,676
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
65
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Capítulo 3 funcionalidades e protocolos da camada de aplicação

  1. 1. 4 Funcionalidades e Protocolos da Camada de Aplicação A maioria de nós vivencia a Internet através da World Wide Web, de serviços de e-mail e programas de compartilhamento de arquivos. Tais aplicações, e muitas outras, fornecem interface à rede subjacente, permitindo que enviemos e recebamos informações de forma relativamente fácil. Normalmente, as aplicações que utilizamos são intuitivas, o que significa que podemos acessar e usar sem saber como funcionam. No entanto, para profissionais de rede, é importante saber como uma aplicação pode formatar, transmitir e interpretar mensagens enviadas e recebidas através da rede. Visualizar os mecanismos que possibilitam a comunicação pela rede fica mais fácil se utilizarmos a estrutura em camadas do modelo Open System Interconnection (OSI). Neste capítulo, o foco será na função de uma camada, a de Aplicação, e seus componentes: aplicação, serviços e protocolos. Exploraremos como esses três elementos possibilitam uma comunicação robusta por esta rede de in- formações. Neste capítulo, você aprenderá a:  Descrever como as funções das três camadas superiores do modelo OSI fornecem serviços de rede a aplicações de usuário final.  Descrever como os protocolos de Camada de Aplicação TCP/IP fornecem os serviços especificados pelas camadas superiores do modelo OSI.  Definir como as pessoas utilizam a Camada de Aplicação para se comunicarem pela rede de informações.  Descrever a função das aplicações TCP/IP mais conhecidas, como a World Wide Web e e-mail, e seus serviços (HTTP, DNS, SMB, DHCP, SMTP/POP e Telnet).  Descrever os processos de compartilhamento de arquivos que utilizam aplicações não-hierárquicas e o protocolo Gnutella.  Explicar como os protocolos garantem que serviços executados em um tipo de dispositivos possam enviar e receber dados de muitos dispositivos de rede diferentes.  Utilizar ferramentas de análise de rede para examinar e explicar como aplicações de usuário comuns funcionam. 3.1.1 Modelo OSI e TCP/IP O modelo de referência Open Systems Interconnection (OSI) é uma representação abstrata em camadas criado como diretriz para o design de protocolos de rede. O modelo OSI divide o processo de redes em sete camadas lógicas, cada uma com funcionalidades exclu- sivas e com serviços e protocolos específicos atribuídos. 3.0.1 INTRODUÇÃO AO CAPÍTULO 3.1.1 MODELOS OSI E TCP/IP
  2. 2. 5 Neste modelo, as informações são passadas de uma camada para a outra, começando na camada de Aplicação no host trans- missor, continuando hierarquia abaixo, até a camada Física, passando para o canal de comunicações até o host de destino, onde a infor- mação retorna hierarquia acima, terminando na camada de Aplicação. A figura mostra os passos deste processo. A camada de Aplicação, a número sete, é a camada superior dos modelos OSI e TCP/IP. É a camada que fornece a interface entre as aplicações que utilizamos para comunicação e a rede subjacente pela qual nossas mensagens são transmitidas. Os protocolos da camada de Aplicação são utilizados para troca de dados entre programas executados nos hosts de origem e de destino. Há muitos protocolos da camada de Aplicação, e outros novos estão em constante desenvolvimento. Embora o conjunto de protocolos TCP/IP tenha sido desenvolvido antes da definição do modelo OSI, a funcionalidade dos protocolos da camada de aplicação TCP/IP se ajusta à estrutura das três camadas superiores do modelo OSI: camadas de Aplicação, Apresentação e Sessão. A maioria dos protocolos da camada de Aplicação TCP/IP foi desenvolvida antes do surgimento de computadores pessoais, interfaces gráficas de usuário e objetos multimídia. Como resultado, esses protocolos implementam muito pouco da funcionalidade especificada nas camadas de Apresentação e Sessão do modelo OSI. Camada de Apresentação A camada de Apresentação tem três funções principais:  Codificação e conversão de dados da camada de Aplicação para garantir que os dados do dispositivo de origem possam ser interpretados pela aplicação adequada no dispositivo de destino.  Compressão dos dados de forma que eles possam ser descomprimidos pelo dispositivo de destino.  Criptografia dos dados para transmissão e decodificação de dados quando o destino os recebe. As implementações da camada de Apresentação não são associadas normalmente a uma pilha de protocolos em particular. Os padrões para vídeo e gráficos são exemplos. Alguns padrões conhecidos para vídeo incluem QuickTime e Motion Picture Experts Group (MPEG). QuickTime é uma especificação da Apple Computer para vídeo e áudio e MPEG é um padrão para compressão e codificação de vídeo. Entre os formatos de imagens gráficas conhecidos, há Graphics Interchange Format (GIF), Joint Photographic Experts Group (JPEG) e Tagged Image File Format (TIFF). GIF e JPEG são padrões de compressão e codificação para imagens gráficas, e TIFF é um formato de codificação padrão para imagens gráficas. Camada de Sessão Como o próprio nome diz, as funções na camada de Sessão criam e mantêm diálogos entre as aplicações de origem e destino. A camada de Sessão lida com a troca de informações para iniciar diálogos, mantê-los ativos e reiniciar sessões interrompidas ou ociosas por um longo período. A maioria das aplicações, como navegadores Web ou clientes de e-mail, incorpora a funcionalidade das camadas OSI 5, 6 e 7. Os protocolos da camada de Aplicação TCP/IP mais conhecidos são aqueles que fornecem a troca de informações de usuários. Esses protocolos especificam as informações de formato e controle necessários para muitas funções comuns de comunicação na Internet. Entre esses protocolos TCP/IP, há:  O Protocolo de Serviço de Nome de Domínio (Domain Name Service Protocol (DNS)) é utilizado para resolver nomes a endere- ços IP.  O Protocolo de Transferência de Hipertexto (Hypertext Transfer Protocol (HTTP)) é utilizado para transferir arquivos que com- põem as páginas Web da World Wide Web.
  3. 3. 6  O Protocolo SMTP1 é utilizado para transferência de mensagens e anexos de e-mail.  Telnet, um protocolo de simulação de terminal, é utilizado para fornecer acesso remoto a servidores e dispositivos de rede.  O Protocolo de Transferência de Arquivos (File Transfer Protocol (FTP)) é utilizado para transferência interativa de arquivos entre sistemas. Os protocolos no conjunto TCP/IP geralmente são definidos por Requests for Comments (RFCs). A Internet Engineering Task Force (IETF) mantém as RFCs como padrão para o conjunto TCP/IP.  Servidor DNS (DNS) Serviço que fornece o endereço IP de um site ou nome de domínio para que um host possa se conectar a ele.  Serviço Telnet Serviço que permite que os administradores se conectem a um host em uma localização remota e controlem o host como se eles estivessem conectados localmente.  Servidor de e-Mail  Usa o protocolo SMTP, o protocolo POP3 ou protocolo MAP  Usados para enviar mensagens de e-mail de clientes para servidores através da Internet  Destinatários são especificados usando o formato usuário@domínio  Servidor DHCP Serviço que designa gateway padrão da máscara de sub-rede do endereço IP e outras informações aos clientes  Servidor Web  Protocolo HTTP  Usado para transmitir informações entre clientes web e servidores web  A maioria das páginas web estão utilizando HTTP  Servidor FTP (File Transfer Protocol) Serviço que permite o download e o upload de arquivos entre cliente e servidor As funções associadas aos protocolos da camada de Aplicação permitem que nossa rede humana faça interface com a rede de dados subjacente. Quando abrimos um navegador Web ou uma janela de mensagem instantânea, uma aplicação é iniciada e o programa é colocado na memória do dispositivo quando executado. Cada programa em execução carregado em um dispositivo é mencionado como um processo. Dentro da camada de Aplicação, há duas formas de programa de software ou processos que fornecem acesso à rede: aplicações e serviços. 1 Protocolo para transmissão de e-mails pela Internet. Usa a porta 25. 3.1.2 SOFTWARE DA CAMADA DE APLICAÇÃO
  4. 4. 7 Aplicações que Detectam Redes Aplicações são programas de softwares usados por pessoas para se comunicarem pela rede. Algumas aplicações de usuário final detec- tam redes, o que significa que elas implementam os protocolos da camada de Aplicação e conseguem se comunicar diretamente com as camadas inferiores da pilha de protocolos. Clientes de e-mail e navegadores Web são exemplos desses tipos de aplicação. Serviços da camada de Aplicação Outros programas podem precisar da assistência dos serviços da camada de Aplicação para utilizar recursos de rede, como transferência de arquivos ou spooling de impressão em rede. Embora transparentes ao usuário, esses serviços são os programas que fazem interface com a rede e preparam os dados para transferência. Diferentes tipos de dados - seja texto, gráficos ou vídeo - exigem serviços de rede diferentes para garantir que sejam preparados adequadamente para processamento pelas funções que ocorrem nas camadas inferiores do modelo OSI. Cada aplicação ou serviço de rede utiliza protocolos que definem os padrões e formatos de dados a serem utilizados. Sem protocolos, a rede de dados não teria uma maneira comum de formatar e direcioná-los. Para entender a função de vários serviços de rede, é necessário se familiarizar com os protocolos subjacentes que regem a sua operação. Como já mencionado, a camada de Aplicação utiliza protocolos implementados dentro de aplicações e serviços. Enquanto as aplicações oferecem uma maneira de criar mensagens e serviços da camada de aplicação estabelecem uma interface com a rede, os protocolos fornecem as regras e formatos que regem como os dados são tratados. Todos os três componentes podem ser utilizados por um único programa executável e até mesmo usar o mesmo nome. Por exemplo, ao discutir "Telnet", podemos nos referir à aplicação, ao serviço ou ao protocolo. No modelo OSI, as aplicações que interagem diretamente com pessoas são considerados como estando no topo da pilha, assim como as próprias pessoas. Como todas as camadas dentro do modelo OSI, a camada de Aplicação se fia nas funções nas camadas inferi- ores para completar o processo de comunicação. Dentro da camada de Aplicação, os protocolos especificam que mensagens são trocadas entre os hosts de origem e destino, a sintaxe2 dos comandos de controle, o tipo e formato dos dados sendo transmitidos e os métodos adequados para notificação de erros e recuperação. 2 Regras que determinam a forma de comunicação. 3.1.3 APLICAÇÕES DE USUÁRIOS, SERVIÇOS E PROTOCOLOS DA CAMADNA DE APLICAÇÃO
  5. 5. 8 Os protocolos da camada de Aplicação são utilizados pelos dispositivos de origem e destino durante uma sessão3 de comunicação. Para que a comunicação tenha sucesso, os protocolos da camada de aplicação implementados nos hosts de origem e destino devem corres- ponder. Os protocolos estabelecem regras coerentes para troca de dados entre aplicações e serviços carregados nos dispositivos parti- cipantes. Os protocolos especificam como os dados dentro das mensagens são estruturados e os tipos de mensagens enviados entre origem e destino. Tais mensagens podem ser solicitações de serviço, confirmações, mensagens de dados, de status ou de erro. Os pro- tocolos também definem diálogos de mensagem, garantindo que uma mensagem enviada seja conhecida pela resposta esperada e que os serviços corretos sejam chamados quando houver transferência de dados. Muitos tipos diferentes de aplicações se comunicam via redes de dados. Portanto, os serviços da camada de Aplicação devem implementar vários protocolos para fornecer a gama desejada de experiências de comunicação. Cada protocolo tem uma finalidade específica e contém as características necessárias para atender a tal finalidade. Os detalhes do protocolo correto em cada camada devem ser seguidos para que as funções em uma camada façam interface adequadamente com os serviços na camada inferior. Aplicações e serviços também podem utilizar diversos protocolos no decorrer de uma única conversa. Um protocolo pode especificar como estabelecer a conexão de rede e outro, descrever o processo para transferência de dados quando a mensagem passa para a camada imediatamente abaixo. Quando as pessoas tentam acessar informações em seus dispositivos, seja um PC, laptop, PDA, celular ou outro dispositivo conectado a uma rede, os dados podem não estar fisicamente armazenados neles. Se este for o caso, uma solicitação para acessar tais informações deve ser feita ao dispositivo onde os dados estão. O modelo Cliente/Servidor No modelo cliente/servidor4, o dispositivo que solicita as informações é chamado de cliente, e o que responde à solicitação é chamado de servidor. Os processos de cliente e servidor são considerados como estando na camada de Aplicação. O cliente começa o intercâmbio 3 a) Conjunto relacionado de transações de comunicação entre dois ou mais dispositivos de rede. b) Na Arquitetura de Rede de Sistemas (SNA), uma conexão lógica que permite duas unidades endereçáveis da rede (NAUs) se comuniquem. 4 Arquitetura de rede que conecta um cliente a um servidor por meio do qual o cliente acessa serviços fornecidos pelo servidor. 3.1.4 FUNÇÕES DE PROTOCOLO DA CAMADA DE APLICAÇÃO 3.2.1 O MODELO CLIENTE/SERVIDOR
  6. 6. 9 ao solicitar dados do servidor, que responde enviando uma ou mais sequências de dados ao cliente. Os protocolos da camada de Aplica- ção descrevem o formato das solicitações e respostas entre clientes e servidores. Além da trans- ferência real de dados, esse intercâmbio também pode exigir informações de controle, como au- tenticação de usuário e identificação de um arquivo de dados a ser transferido. Um exemplo de rede cliente/servidor é um ambiente corporativo no qual os funcioná- rios utilizam um servidor de e-mail da empresa para enviar, receber e armazenar e-mails. O cliente de e-mail no computador de um funcionário envia uma solicitação ao servidor de e-mail para qual- quer correspondência não lida. O servidor responde enviando o e-mail solicitado ao cliente. Embora os dados sejam normalmente descritos como fluindo do servidor ao cliente, al- guns sempre vão do cliente ao servidor. O fluxo de dados pode ser igual em ambas as direções, ou mesmo maior na direção do cliente ao servidor. Por exemplo, um cliente pode transferir um arquivo ao servidor para armazenamento. A transferência de dados de um cliente para um servidor é mencionada como um upload, e de um servidor para um cliente, como um download. Em um contexto geral de rede, qualquer dispositivo que responda a solicitações de aplicações de clientes funciona como um servidor. Um servidor normalmente é um computador que contém informações a serem compartilhadas com muitos sistemas cliente. Por exem- plo, páginas Web, documentos, bancos de dados, imagens e arquivos de áudio e vídeo podem ser armazenados em um servidor e entre- gues aos clientes solicitantes. Em outros casos, como uma impressora em rede, o servidor de impressão fornece as solicitações de im- pressão do cliente à impressora especificada. Diferentes tipos de aplicações de servidor podem ter exigências diferentes para acesso a clientes. Alguns servidores podem exigir autenticação de informações da conta do usuário para verificar se este tem permissão de acesso aos dados solicitados ou de uso de uma operação em particular. Tais servidores se fiam em uma lista central de contas de usuário e às autorizações, ou permissões (para acesso a dados e operações), concedidas a cada usuário. Ao utilizar um cliente FTP, por exemplo, se você solicitar um upload de dados ao servidor FTP, poderá ter permissão para gravar em sua pasta individual, mas não para ler outros arquivos no site002E Em uma rede cliente/servidor, o servidor executa um serviço, ou processo, às vezes chamado de daemon5 de servidor. Como a maioria dos serviços, daemons normalmente são executados em segundo plano e não estão sob o controle direto de um usuário final. Daemons são descritos como "ouvintes" de uma solicitação de um cliente, porque são programados para responder sempre que o servi- dor recebe uma solicitação para o serviço fornecido pelo daemon. Quando um daemon "ouve" uma solicitação de um cliente, troca as mensagens correspondentes com o cliente, como exigido por seu protocolo, e envia os dados solicitados ao cliente no formato adequado. 5 Programa de computador que roda no background e em geral é iniciado como processos. 3.2.2 SERVIDORES Daemons são descritos como "ouvintes" de uma solicitação de um cliente, porque são pro- gramados para responder sem- pre que o servidor recebe uma solicitação para o serviço forne- cido pelo daemon.
  7. 7. 10 Uma única aplicação pode utilizar vários serviços diferentes de suporte da camada de Aplicação. Assim, o que parece para o usuário como uma solicitação para página Web pode totalizar, na verdade, dezenas de solicitações individuais. Além disso, para cada solicitação, diversos processos podem ser executados. Por exemplo, um cliente pode exigir diversos processos individuais para formular apenas uma solicitação a um servidor. Além disso, os servidores normalmente têm diversos clientes solicitando informações ao mesmo tempo. Por exemplo, um ser- vidor Telnet pode ter muitos clientes solicitando conexões a ele. Tais solicitações individuais devem ser tratadas simultaneamente e separadamente para que a rede tenha sucesso. Os processos e serviços da camada de Aplicação se fiam no suporte de funções da camada inferior para gerenciar com sucesso as diferentes conversas. 3.2.3 PROTOCOLOS E SERVIÇOS DA CAMANDA DE APLICAÇÃO
  8. 8. 11 O Modelo Não-Hierárquico Além do modelo cliente/servidor para a rede, também há o modelo não-hierárquico. A rede não-hierárquica envolve duas formas dife- rentes: design de rede não-hierárquica e aplicações não-hierárquicas (P2P). A duas formas têm características semelhantes, mas, na prática, funcionam de maneira bastante diferente. Redes Não-Hierárquicas Em uma rede não-hierárquica, dois ou mais computadores são conectados via rede e podem compartilhar recursos (como impressoras e arquivos) sem ter um servidor dedicado. Cada dispositivo final conectado (conhecido como par (peer)) pode funcionar como cliente ou servidor. Um computador pode assumir o papel de servidor para uma transação ao mesmo tempo em que é o cliente de outra. As funções de cliente e servidor são definidas de acordo com a solicitação. Uma rede residencial simples, com dois computadores conectados e compartilhando uma impressora, é um exemplo de rede não-hierárquica. Cada pessoa pode configurar o seu computador para compartilhar arquivos, possibilitar jogos em rede ou compartilhar uma conexão à Internet. Outro exemplo de funcionalidade de rede não-hierárquica é ter dois computadores conectados a uma rede ampla que utilizam aplicações de software para compartilhar recursos entre si através da rede. Diferentemente do modelo cliente/servidor, que utiliza servidores dedicados, as redes não-hierárquicas descentralizam os re- cursos em uma rede. Em vez de localizar informações para compartilhar em servidores dedicados, as informações podem ser encontradas em qualquer lugar em um dispositivo conectado. A maioria dos sistemas operacionais atuais suporta compartilhamento de arquivos e impressão sem exigir um software de servidor adicional. Como redes não-hierárquicas normalmente não utilizam contas de usuário centralizadas, permissões ou monitoramento, é difícil executar políticas de segurança e acesso a redes com mais de alguns poucos com- putadores. As contas de usuário e direitos de acesso devem ser definidos individualmente em cada dispositivo. Aplicações Não-Hierárquicas Uma aplicação não-hierárquica (P2P), diferentemente de uma rede hierárquica, permite que um dispositivo aja como cliente e servidor na mesma comunicação. Neste modelo, cada cliente é um servidor e cada servidor é um cliente. Ambos podem iniciar uma comunicação e são considerados iguais no processo de comunicação. No entanto, aplicações não-hierárquicas exigem que cada dispositivo final for- neça uma interface de usuário e execute um serviço de segundo plano. Ao iniciar uma aplicação não-hierárquica específica, ela chama a interface de usuário e serviços de segundo plano exigidos. Depois disso, os dispositivos podem se comunicar diretamente. Algumas aplicações P2P utilizam um sistema híbrido no qual o compartilhamento de recursos é descentralizado, mas os índices que apontam para as localizações de recursos são armazenados em um diretório centralizado. Em um sistema híbrido, cada par (peer) acessa um servidor de índice para obter a localização de um recurso armazenado em outro par (peer). O servidor de índice também pode ajudar a conectar dois pares, mas quando conectado, a comunicação ocorre entre os dois pares sem comunicação adicional ao servidor de índice. Aplicações não-hierárquicas podem ser utilizadas em redes não-hierárquicas, redes de cliente/servidor e pela Internet. 3.2.4 REDES E APLICAÇÕES NÃO-HIERÁRQUICAS (P2P)
  9. 9. 12 Agora que entendemos melhor como as aplicações fornecem uma interface para o usuário e acesso à rede, veremos alguns protocolos específicos usados comumente. Como veremos mais adiante neste curso, a camada de Transporte utiliza um esquema6 de endereçamento chamado número de porta. Os números de porta identificam aplicações e serviços da camada de Aplicação que são a origem e o destino dos dados. Pro- gramas de servidor geralmente utilizam números de porta pré-definidos comumente conhecidos por clientes. À medida que examinar- mos os diferentes protocolos e serviços da camada de Aplicação TCP/IP, falaremos dos números de porta TCP e UDP normalmente asso- ciados a tais serviços. Alguns desses serviços são:  Domain Name System (DNS)7 - Porta TCP/UDP 53  Hypertext Transfer Protocol (HTTP) - Porta TCP 80  Simple Mail Transfer Protocol (SMTP) - Porta TCP 25  Protocolo POP8 - Porta UDP 110  Telnet - Porta TCP 23  Dynamic Host Configuration Protocol - Porta UDP 67  File Transfer Protocol (FTP) - Portas TCP 20 e 21 DNS Em redes de dados, os dispositivos são rotulados com endereços IP numéricos, para que possam participar do envio e recebimento de mensagens pela rede. No entanto, a maioria das pessoas tem dificuldade em lembrar esse endereço numérico. Assim, os nomes de domínio foram criados para converter o endereço numérico em um nome simples e reconhecível. Na Internet, tais nomes de domínio, como www.cisco.com, são muito mais fáceis de lembrar do que 198.133.219.25, que é o endereço numérico real desse servidor. Além disso, se a Cisco decidir alterar o endereço numérico, isso será transparente para o usuário, já que o nome de domínio continuará sendo www.cisco.com. O novo endereço simplesmente será vinculado ao nome de domínio exis- tente e a conectividade será mantida. Quando as redes eram pequenas, era simples manter o mapeamento entre os nomes de domínio e os endereços que eles representavam. No entanto, à medida que as redes começaram a crescer e o número de dispositivos aumentou, este sistema manual ficou inviável. O Domain Name System (DNS) foi criado para resolução de nomes de domínio para endereço para tais redes. O DNS utiliza um conjunto distribuído de servidores para definir os nomes associados a tais endereços numerados. O protocolo DNS define um serviço automatizado que alia os nomes de recursos com o endereço de rede9 numérico necessário. Ele inclui o formato para consultas, respostas e formatos de dados. As comunicações do protocolo DNS utilizam um único formato, 6 Plano, projeto ou programa de ação a ser seguido. Às vezes um plano de endereçamento é um ESQUEMA de endereçamento. 7 Sistemas de Resolução de Nome. Converte nomes de domínio (nome de host do computador) em endereço IP. 8 POP (Post Office Protocol) é um protocolo usado ao baixar mensagens de e-mail. 9 Endereço da camada de rede que se refere a um dispositivo de rede lógico, não físico. Também chamado endereço protocolo. 3.3.1 SERVIÇOS E PROTOCOLO DNS
  10. 10. 13 chamado de mensagem. Este formato de mensagem é utilizado para todos os tipos de consultas de cliente e respostas de servidor, mensagens de erro e transferência de informações de registro de recursos10 entre servidores. O DNS é um serviço cliente/servidor. No entanto, é diferente dos outros serviços cliente/servidor que examinamos. Enquanto outros serviços utilizam um cliente que é uma aplicação (como navegador Web, cliente de e-mail), o cliente DNS é executado como um serviço. O cliente DNS, às vezes chamado de resolvedor DNS11, suporta a resolução de nome para outras aplicações de rede e outros serviços que precisam dele. Ao configurar um dispositivo de rede, geralmente fornecemos um ou mais endereços de Servidor DNS que o cliente DNS pode utilizar para resolução de nome. Normalmente, o provedor de serviço de Internet fornece os endereços a serem utilizados para os servi- dores DNS. Quando a aplicação de um usuário solicita uma conexão a um dispositivo pelo nome, o cliente DNS solicitante consulta um desses servidores de nome para atribuir o nome a um endereço numérico. Os sistemas operacionais de computador também têm um utilitário chamado nslookup12 que permite que o usuário consulte13 manualmente os servidores de nome para decidir um nome de host. Este utilitário também pode ser usado para corrigir problemas de resolução de nome e verificar o status atual dos servidores de nome. Na figura, quando o nslookup é inserido, o servidor DNS padrão configurado para seu host é exibido. Neste exemplo, o servidor DNS é dns-sjk.cisco.com, que tem o endereço 171.68.226.120. Então, podemos inserir o nome de um host ou domínio para o qual queremos obter o endereço. Na primeira consulta na figura, uma consulta é feita para www.cisco.com. O servidor de nome respondente dá o endereço 198.133.219.25. As consultas mostradas na figura são apenas testes simples. O nslookup tem muitas opções disponíveis para amplos testes e verificações do processo DNS. 10 Registro de Recursos (RRs) são registro de dados DNS. Seu formato preciso é definido no RFC 1035. Os campos mais importantes em um registro de recurso são Nome, Tipo e Dado. 11 Em sistema de computador Unix/Linux, o resolvedor é um conjunto de rotinas de software usadas para trazer, enviar e interpretar consultas mensagens de resposta com servidores de nome de domínio na Internet. 12 NSLOOKUP é um serviço ou programa para procurar informações no DNS (Sistema de Resolução de Nomes). 13 Mensagem usada para perguntar o valor de alguma variável ou conjunto de variáveis.
  11. 11. 14 Um servidor DNS fornece a resolução de nome utilizando o daemon do nome, frequentemente chamado de "named" (pronun- cia-se name-dee). O servidor DNS armazena diferentes tipos de registro de recurso utilizados para definir nomes. Esses registros contêm o nome, endereço e tipo de registro. Alguns desses tipos de registro são:  A - endereço do dispositivo final  NS - servidor de nome confiável14  CNAME - nome canônico (ou Nome de Domínio Completo) para um codinome; utilizado quando vários serviços têm um único endereço de rede, mas cada serviço tem sua própria entrada no DNS  MX - registro de troca de correspondência; mapeia um nome de domínio15 para uma lista de servidores de troca de e-mail para tal domínio Quando um cliente faz uma consulta, o processo "named" do servidor procura em seus próprios registros primeiro para ver se pode decidir o nome. Se não puder decidir o nome utilizando os seus registros armazenados, entra em contato com outros servidores para resolver o nome. A solicitação pode ser passada para vários servidores, o que pode demorar um pouco mais e consumir largura de banda. Quando uma correspondência for encontrada e retornada ao servidor solicitante original, o servidor temporariamente armazena o endereço que corresponde ao nome em cache16. Se tal nome for solicitado novamente, o primeiro servidor poderá retornar o endereço utilizando o valor armazenado em sua cache de nome. Fazer cache reduz o tráfego de rede de dados de consulta do DNS e as cargas dos servidores mais acima na hierarquia. O serviço Cliente DNS nos PCs com Windows também otimiza o desempenho da resolução de nome DNS ao armazenar nomes previa- mente definidos na memória. O comando ipconfig /displaydns exibe todas as entradas do DNS em cache em um sistema de computação Windows XP ou 2000. O Sistema de Nome de Domínios utiliza um sistema hierárquico para criar um banco de dados de nomes para fornecer resolução do nome. A hierarquia se parece com uma árvore invertida, com a raiz no topo e os galhos embaixo. No topo da hierarquia, os servidores raiz mantêm registros sobre como chegar aos servidores de domínio de nível superior, que, por sua vez, têm registros que levam aos servidores de domínio de nível secundário, e assim por diante. 14 Fonte de informação que é altamente confiável e conhecida por sua extensão. 15 Nomes usados para o Sistema de Resolução de Nomes (DNS), por exemplo, o nome especial que vem depois do @ em endereço de e-mail, ou domínio de nível superior, como .com, .com.br. 16 Armazenamento temporário onde se pode guardar dados acessados com frequência. Depois que os dados foram armazenados no cache, pode-se acessar essas cópias ao invés dos dados originais, resumindo o tempo médio de acesso. Por exemplo, servidor proxy que tem cache.
  12. 12. 15 Os diferentes domínios de nível superior representam o tipo de organização ou país de origem. Exemplos de domínios de nível superior são:  .au - Austrália  .co - Colômbia  .com - uma empresa ou setor  .jp - Japão  .org - uma organização sem fins lucrativos Depois dos domínios de nível superior há os domínios de segundo nível e, abaixo deles, outros domínios de nível inferior. Cada nome de domínio fica um caminho abaixo desta árvore invertida, começando da raiz. Por exemplo, como mostrado na figura, o servidor DNS raiz pode não saber exatamente onde o servidor de e-mail mail.cisco.com está localizado, mas mantém um registro para o domínio "com" dentro do domínio de nível superior. Da mesma forma, os servidores dentro do domínio "com" podem não ter um registro para mail.cisco.com, mas têm um registro para o domínio "cisco.com". Os servidores dentro do domínio cisco.com têm um registro (um registro MX para ser exato) para mail.cisco.com. O Sistema de Nomes de Domínio se fia nesta hierarquia de servidores descentralizados para armazenar e manter tais registros de recursos. Os registros de recursos listam nomes de domínio que o servidor pode decidir e servidores alternativos que também podem processar solicitações. Se um determinado servidor tiver registros de recursos que correspondam a seu nível na hierarquia de domínios, diz-se que ele tem autoridade para tais registros. Por exemplo, um servidor de nome no domínio cisco.netacad.net não seria oficial para o registro mail.cisco.com porque tal registro é mantido em um servidor de domínio de nível mais elevado, especificamente o servidor de nome no domínio cisco.com. Links http://www.ietf.org//rfc/rfc1034.txt http://www.ietf.org/rfc/rfc1035.txt Quando um endereço Web (ou URL) é digitado em um navegador Web, este estabelece uma conexão com o serviço Web executado no servidor utilizando o protocolo HTTP. URLs (ou Uniform Resource Locator) e URIs (Uniform Resource Identifier) são os nomes que a maioria das pessoas associa a endereços Web. A URL http://www.cisco.com/index.html é um exemplo de URL que se refere a um recurso específico - uma página Web nome- ada index.html em um servidor identificado como cisco.com. 3.3.2 SERVIÇOS WWW E HTTP
  13. 13. 16 Os navegadores Web são as aplicações cliente que nossos computadores utilizam para se conectar à World Wide Web e acessar recursos armazenados em um servidor Web. Semelhantemente à maioria de processos de servidor, o servidor Web é executado como um serviço de segundo plano e disponibiliza diferentes tipos de arquivo. Para acessar o conteúdo, os clientes Web fazem conexões ao servidor e solicitam os recursos desejados. O servidor responde com os recursos e, no recebimento, o navegador interpreta os dados e os apresenta ao usuário. Os navegadores podem interpretar e apresentar muitos tipos de dados, como texto simples ou Hypertext Markup Language (HTML, linguagem na qual as páginas Web são construídas). No entanto, outros tipos de dados podem exigir outro serviço ou programa, normalmente mencionado como plug-ins ou add-ons. Para ajudar o navegador a determinar que tipos de arquivo ele está recebendo, o servidor especifica o tipo de dados incluído no arquivo. Para entender melhor como o navegador Web e o cliente Web interagem, podemos examinar como uma página Web é aberta em um navegador. Para este exemplo, utilizaremos a URL: http://www.cisco.com/web-server.htm. Primeiro, o navegador interpreta as três partes da URL: 1. http (protocolo ou esquema) 2. www.cisco.com (nome do servidor) 3. web-server.htm (nome do arquivo específico solicitado). Então, o navegador consulta um servidor de nomes para converter www.cisco.com em um endereço numérico, que utiliza para se conectar ao servidor. Utilizando os requerimentos do protocolo HTTP, o navegador envia uma solicitação GET ao servidor e pede o arquivo web-server.htm. O servidor, por sua vez, envia o código17 HTML para esta página Web ao navegador. Por fim, o navegador decifra o código HTML e formata a página para a janela do navegador. O Protocolo de Transferência de Hipertexto (HTTP), um dos protocolos do conjunto TCP/IP, foi originalmente desenvolvido para publicar e recuperar páginas e agora é utilizado para sistemas de informação distribuídos e colaborativos. O HTTP é utilizado na World Wide Web para transferência de dados e é um dos protocolos de aplicação mais usados. O HTTP especifica um protocolo de solicitação/resposta. Quando um cliente, normalmente um navegador Web, envia uma mensagem de solicitação a um servidor, o protocolo HTTP define os tipos de mensagem que o cliente utiliza para solicitar a página Web e também os tipos de mensagem que o servidor usa para responder. Os três tipos de mensagem comuns são GET, POST e PUT. GET é uma solicitação de cliente para dados. Um navegador Web envia a mensagem GET para solicitar páginas de um servidor Web. Como mostrado na figura, quando o servidor recebe a solicitação GET, responde com uma linha de status, como HTTP/1.1 200 OK, e uma mensagem própria, cujo corpo pode ser o arquivo solicitado, uma mensagem de erro ou alguma outra informação. POST e PUT são utilizados para enviar mensagens que fazem upload de dados ao servidor Web. Por exemplo, quando o usuário insere dados em um formulário incluído em uma página Web, POST inclui os dados na mensagem enviada ao servidor. PUT faz upload dos recursos ou conteúdo para o servidor Web. Embora seja notavelmente flexível, o HTTP não é um protocolo seguro. As mensagens POST fazem upload de informações ao servidor em texto simples que podem ser interceptadas e lidas. Da mesma forma, as respostas do servidor, normalmente páginas HTML, também são não-criptografadas. Para comunicação segura pela Internet, o protocolo HTTP Seguro (HTTPS) é utilizado para acessar ou enviar informações do servidor Web. O HTTPS pode utilizar autenticação e criptografia18 para proteger os dados que trafegam entre o cliente e o servidor. O HTTPS especifica regras adicionais para a passagem de dados entre a camada de Aplicação e a de Transporte. 17 Conjunto de símbolos utilizado para comunicar informações ou instruções. 18 Dados aos quais foram aplicados um algoritmo específico de modo a alterar a aparência dos dados tornando-os incompreensíveis a quem não está autorizado a ver as informações.
  14. 14. 17 O e-mail, o serviço de rede mais popular, revolucionou a forma como as pessoas se comunicam graças a sua simplicidade e velocidade. Ainda assim, para ser executado em um computador ou outro dispositivo final, o e-mail precisa de várias aplicações e serviços. Dois exemplos de protocolo da camada de Aplicação são Post Office Protocol (POP) e Simple Mail Transfer Protocol (SMTP), mostrados na figura. Como o HTTP, tais protocolos definem processos de cliente/servidor. Quando as pessoas compõem mensagens de e-mail, elas normalmente utilizam uma aplicação chamada Mail User Agent (MUA)19, ou cliente de e-mail. O MUA permite que mensagens sejam enviadas e coloca as mensagens recebidas na caixa de correio do cliente, ambos sendo processos diferentes. Para receber mensagens de e-mail de um servidor de e-mail, o cliente de e-mail pode utilizar o POP. Enviar e-mail de um cliente ou servidor utiliza formatos de mensagem e cadeias de comandos definidos pelo protocolo SMTP. Normalmente, um cliente de e-mail fornece a funcionalidade dos dois protocolos em uma aplicação. 19 O Agente de Usuário de Correio (MUA) permite que as mensagens sejam enviadas e colocar as mensagens recebidas na caixa de entrada do cliente, que são processos distintos. 3.3.3 SERVIÇOS DE E-MAIL E PROTOCOLOS SMTP/POP
  15. 15. 18 Processos de Servidor de E-mail - MTA e MDA O servidor de e-mail opera dois processos separados:  Mail Transfer Agent (MTA)  Mail Delivery Agent (MDA) O processo MTA é utilizado para encaminhar e-mail. Como mostrado na figura, o MTA recebe mensagens do MUA ou de outro MTA em outro servidor de e-mail. Com base no cabeçalho da mensagem, ele determina como uma mensagem tem de ser encaminhada para chegar a seu destino. Se a correspondência for endereçada a um usuário cuja caixa de correio fique no servidor local, ela será passada para o MDA. Se o e-mail for para um usuário fora do servidor local, o MTA o encaminha para o MTA no servidor em questão. Na figura, vemos que o MDA aceita um e-mail de um MTA e faz a entrega real. O MDA recebe toda correspondência chega no MTA e a coloca nas caixas de correio dos usuários adequados. O MDA também pode solucionar problemas de entrega final, como varre- dura de vírus, filtragem20 de spam21 e tratamento de recebimento de retorno. A maioria das comunicações por e-mail utiliza as aplicações MUA, MTA e MDA. No entanto, há outras alternativas para entrega de e-mail. Um cliente pode estar conectado a um sistema de e-mail corporativo, como o Lotus Notes da IBM, o Groupwise da Novell ou o Exchange da Microsoft. Tais sistemas frequentemente têm seu próprio formato interno de e-mail e seus clientes normalmente se comu- nicam com o servidor de e-mail utilizando um protocolo próprio. O servidor envia ou recebe e-mail via Internet através do gateway22 de correspondência de Internet do produto, que realiza qualquer reformulação necessária. Se, por exemplo, duas pessoas que trabalham para a mesma empresa trocam e-mails entre si utili- zando um protocolo próprio, suas mensagens podem ficar completamente dentro do sistema de e-mail corporativo da empresa. Como outra alternativa, os computadores que não têm um MUA ainda podem se conectar a um serviço de correspondência em um navegador Web para recuperar e enviar mensagens desta forma. Alguns computadores podem executar o seu próprio MTA e gerenciar e-mails inter-domínios por conta própria. 20 Ato de selecionar dados e descarta-los com base em certos critérios pré-determinados; 21 Envio de e-mail comercial não solicitado. 22 Na comunidade IP, um termo mais antigo para se referir um dispositivo de roteamento. Hoje, o termo o termo roteador é usado para descrever nós que desempenham uma função, e gateway se refere a um dispositivo específico que converte a camada de Aplicação das informações de uma linha de protocolo para outra. Compare com roteador.
  16. 16. 19 Como mencionado anteriormente, o e-mail pode utilizar os protocolos POP e SMTP (veja a figura para uma aplicação sobre como eles funcionam). POP e POP3 (Post Office Protocol, versão 3) são protocolos de entrega de correspondência de entrada e são protocolos típicos cliente/servidor. Eles entregam e-mail do servidor de e-mail ao cliente (MUA). O MDA "ouve" quando um cliente se conecta a um servidor. Quando uma conexão for estabelecida, o servidor pode entregar o e-mail ao cliente. Por outro lado, o SMTP rege a transferência do e-mail de saída do cliente remetente ao servidor de e-mail (MDA), assim como o transporte de e-mail entre servidores de e-mail (MTA). O SMTP possibilita que o e-mail seja transportado por redes de dados entre tipos diferentes de servidor e software cliente, e possibilita a troca de e-mails via Internet. O formato da mensagem do protocolo SMTP utiliza um conjunto rígido de comandos e respostas. Tais comandos suportam os procedimentos utilizados no SMTP, como início de sessão, transação de correspondência, encaminhamento de correspondência, verifi- cação de nomes de caixa de correio, expansão de listas de correspondência e abertura e fechamento de trocas. Alguns dos comandos especificados no protocolo SMTP são:  HELO - identifica o processo do cliente SMTP para o processo do servidor SMTP  EHLO - é uma versão mais recente do HELO, que inclui extensões de serviços  MAIL FROM - Identifica o remetente  RCPT TO - Identifica o destinatário  DATA - Identifica o corpo da mensagem
  17. 17. 20 O File Transfer Protocol (FTP) é outro protocolo da camada de Aplicação comumente utilizado. O FTP foi desenvolvido para possibilitar transferências de arquivos entre um cliente e um servidor. Um cliente FTP é uma aplicação que roda em um computador e utilizado para carregar e baixar arquivos de um servidor que executa o daemon FTP (FTPd). Para transferir os arquivos com sucesso, o FTP precisa de duas conexões entre o cliente e o servidor: uma para comandos e respostas e outra para a real transferência do arquivo. O cliente estabelece a primeira conexão com o servidor na porta TCP 21. Tal conexão é utilizada para controlar o tráfego, consistindo de comandos do cliente e respostas do servidor. O cliente estabelece a segunda conexão com o servidor pela porta TCP 20. Essa conexão é para a transferência real de arquivo e criada toda vez que houver um arquivo transferido. A transferência de arquivos pode acontecer em ambas as direções. O cliente pode baixar um arquivo do servidor, ou o cliente pode fazer carregar um arquivo ao servidor. O serviço do Protocolo DHCP23 permite que os dispositivos em uma rede obtenham endereços IP e outras informações de um servidor DHCP. Este serviço automatiza a atribuição de endereços IP, máscaras de sub-rede, gateway e outros parâmetros de rede IP. O DHCP permite que um host obtenha um endereço IP quando se conecta à rede. O servidor DHCP é contatado e um endereço é solicitado. O servidor DHCP escolhe um endereço de uma lista configurada de endereços chamada pool e o atribui ("aluga") ao host por um período determinado. Em redes locais maiores, ou onde a população de usuários muda frequentemente, o DHCP é preferido. Novos usuários podem chegar com laptops e precisar de uma conexão. Outros têm novas estações de trabalho que precisam ser conectadas. Em vez de fazer com que o administrador de rede atribua endereços IP para cada estação de trabalho, é mais eficiente ter endereços IP atribuídos auto- maticamente usando o DHCP. Os endereços distribuídos pelo DHCP não são atribuídos permanentemente aos hosts, mas apenas alugados por um certo tempo. Se o host for desativado ou removido da rede, o endereço volta ao pool para reutilização. Isso é especialmente útil com usuários 23 DHCP (Dynamic Host Configuration Protocol) é o protocolo usado para solicitar e designar endereço IP, gateway padrão e endereço de servidor DNS a um host da red. 3.3.4 FTP 3.3.5 DHCP
  18. 18. 21 móveis que vêm e vão em uma rede. Os usuários podem se mover livremente de local a local e restabelecer conexões de rede. O host pode obter um endereço IP quando a conexão ao hardware for feita, via LAN, com ou sem fio. O DHCP possibilita que você acesse a Internet utilizando hotspots sem fio em aeroportos ou cafés. Ao entrar na área, o cliente DHCP de seu laptop entra em contato com o servidor DHCP local via conexão sem fio. O servidor DHCP atribui um endereço IP a seu laptop. Como a figura mostra, diversos tipos de dispositivos podem ser servidores DHCP quando executam softwares de serviço DHCP. O servidor DHCP na maioria de redes médias a grandes normalmente é um servidor local dedicado com base em PC. Com redes residenciais, o servidor DHCP normalmente fica localizado no ISP e um host na rede residencial recebe sua configu- ração IP diretamente do ISP. O DHCP pode apresentar um risco à segurança, pois qualquer dispositivo conectado à rede pode receber um endereço. O risco torna a segurança física um fator importante ao determinar se o endereçamento dinâmico ou manual será utilizado. O endereço dinâmico e o estático têm seus lugares no projeto de redes. Muitas redes utilizam DHCP e endereçamento estático. O DHCP é utilizado para hosts de finalidade geral, como dispositivos de usuário final, e endereços fixos são usados para dispositivos de rede, como gateways, switches, servidores e impressoras. Sem o DHCP, os usuários devem inserir o endereço IP, máscara de sub-rede24 e outras configurações de rede manualmente para entrar na rede. O servidor DHCP mantém um pool de endereços IP e aluga um endereço a qualquer cliente habilitado por DHCP quando o cliente é ativado. Como os endereços IP são dinâmicos (alugados) em vez de estáticos (atribuídos permanentemente), os en- dereços em desuso são automaticamente retornados ao pool para realocação. Quando um dispositivo configurado com DHCP se inicializa ou conecta à rede, o cliente transmite um pacote DHCP DISCOVER para identificar qualquer servidor DHCP disponível na rede. Um servi- dor DHCP responde com um DHCP OFFER, que é uma mensagem de oferta de aluguel com informações de endereço IP atribuído, máscara de sub-rede, servidor DNS e gateway padrão25, além da duração do aluguel. O cliente pode receber diversos pacotes DHCP OFFER se houver mais de um servidor DHCP na rede local, portanto, deve esco- lher entre eles e transmitir um pacote DHCP REQUEST que identifique o servidor explícito e a oferta de aluguel que o cliente está acei- tando. Um cliente pode decidir solicitar um endereço que já havia sido alocado pelo servidor. Presumindo que o endereço IP solicitado pelo cliente, ou oferecido pelo servidor, ainda seja válido, o servidor retornará uma mensagem DHCP ACK26 que confirma ao cliente que o aluguel foi finalizado. Se a oferta não for mais válida - talvez devido a um encerra- mento ou alocação do aluguel por outro cliente - o servidor selecionado responderá com uma mensagem DHCP NAK (Negative Ackno- wledgement - confirmação negativo). Se uma mensagem DHCP NAK for retornada, o processo de seleção deverá recomeçar com uma nova mensagem DHCP DISCOVER sendo transmitida. 24 A função de uma máscara de sub-rede é identificar uma parte da rede, a porção da sub-rede e a porção do host de um endereço IP. A divisão em sub- rede é um meio de dividir a rede, separando uma rede grande ou extremamente grande em segmentos menores, mais eficiente e mais fáceis de gerenciar, ou seja, em sub-redes. 25 Dispositivo numa rede que serve de ponto de acesso para outra rede. Um host usa um gateway padrão quando o endereço de destino de um pacote IP pertence a um local fora da sub-rede local. Um roteador é ume exemplo de um gateway padrão. 26 Para o TCP, o ACK é usado no handshake triplo inicial para confirmar o número de sequência da estação de envio, e quando realmente são enviados dados, o ACK é usado para confirmar um segmento enviado.
  19. 19. 22 Quando o cliente tiver o aluguel, este deverá ser renovado antes do vencimento por outra mensagem DHCP REQUEST. O servidor DHCP garante que todos os endereços IP sejam exclusivos (um endereço IP não pode ser atribuído a dois dispositivos de rede diferentes simultaneamente). Utilizar o DHCP permite que os administradores de rede facilmente reconfigurem endereços IP de clientes sem ter que fazer alterações nos clientes manualmente. A maioria dos provedores de Internet utiliza o DHCP para alocar ende- reços a seus clientes que não precisam de um endereço estático. O protocolo SMB27 é um protocolo de compartilhamento de arquivos cliente/servidor. A IBM desenvolveu o Server Message Block (SMB) no final da década de 80 para descrever a estrutura de recursos de rede compartilhados, como diretórios, arquivos, impressoras e portas seriais. É um protocolo de solicitação de resposta. Diferentemente do compartilhamento de arquivos suportado pelo FTP, os clientes estabelecem uma conexão de longo prazo aos servidores. Quando a conexão for estabelecida, o usuário do cliente pode acessar os recursos no servidor como se o recurso fosse local ao host do cliente. Os serviços de compartilhamento de arquivo e impressão do SMB se tornaram o sustentáculo das redes Microsoft. Com a introdução da série de software Windows 2000, a Microsoft mudou a estrutura subjacente para uso do SMB. Nas versões anteriores de produtos Microsoft, os serviços SMB utilizavam um protocolo não-TCP/IP para implementar a resolução de nomes. Começando com o Windows 2000, todos os produtos Microsoft subsequentes utilizam nomeação DNS. Isso permite que os protocolos TCP/IP suportem diretamente o compartilhamento de recursos SMB, como mostrado na figura. Os sistemas operacionais LINUX e UNIX28 também fornecem um método de compartilhamento de recursos com redes Microsoft utilizando uma versão do SMB chamada SAMBA. Os sistemas operacionais Macintosh da Apple também suportam compartilhamento de recursos utilizando o protocolo SMB. 27 O protocolo SMB é um protocolo de rede de nível de aplicação usado, em geral, para acesso compartilhado e arquivos, impressoras, portas seriais e comunicação mista entre nós numa rede. 28 UNIX é um sistema operacional multiusuário e multitarefa desenvolvido na década de 60 por um grupo de empregados da AT&T na Bell Labs, incluindo Ken Thompson, Dennis Ritchie e Douglas Macllory. Os sistemas UNIX atuais se dividem em vários ramos, desenvolvidos com o tempo pela AT&T, bem como por vários fornecedores comerciais e organizações sem fins lucrativos. 3.3.6 SERVIÇOS DE COMPARTILHAMENTO DE ARQUIVOS E PROTOCOLOS SMB
  20. 20. 23 O protocolo SMB descreve o acesso ao sistema de arquivos e como os clientes podem fazer solicitações de arquivos. Ele tam- bém descreve a comunicação entre processos do protocolo SMB. Todas as SMB têm um formato em comum. Este formato utiliza um cabeçalho com tamanho fixo seguido por um parâmetro de tamanho variável e componente de dados. As mensagens SMB podem:  Iniciar, autenticar e encerrar sessões  Controlar acesso a arquivos e à impressora  Permitir que uma aplicação envie para ou receba mensagens de outro dispositivo O processo de troca de arquivos SMB é mostrado na figura. Você aprendeu sobre FTP e SMB como formas de obter arquivos. Veja outro protocolo de Aplicação. Compartilhar arquivos pela Internet se tornou extremamente popular. Com aplicações P2P com base no protocolo Gnutella, as pessoas podem disponibilizar arquivos em seus discos rígidos a outras pessoas para download. O software cliente compatível com Gnutella permite que os usuários se conectem a serviços Gnutella pela Internet, localizem e acessem recursos compartilhados por outros pares (peers) Gnutella. Muitas aplicações cliente estão disponíveis para acessar a rede Gnutella, incluindo: BearShare, Gnucleus, LimeWire, Morpheus, WinMX e XoloX (veja uma tela do LimeWire na figura). Embora o Gnutella Developer Forum mantenha o protocolo básico, fornecedores de aplicações frequentemente desenvolvem extensões para que o protocolo funcione melhor em suas aplicações. 3.3.7 SERVIÇOS P2P E PROTOCOLO GNUTELLA
  21. 21. 24 Muitas aplicações P2P não utilizam um banco de dados central para registrar todos os arquivos disponíveis nos pares (peers). Em vez disso, os dispositivos na rede dizem uns aos outros que arquivos estão disponíveis quando consultados e utilizam o protocolo e serviços Gnutella para suportar a localização de recursos. Veja a figura. Quando um usuário está conectado a um serviço Gnutella, as aplicações cliente buscarão outros nós Gnutella aos quais se conectarem. Tais nós lidam com consultas para localização de recursos e respostas a tais solicitações. Eles também regem mensagens de controle, que ajudam o serviço a descobrir outros nós. As transferências de arquivos reais geralmente se fiam em serviços HTTP. O protocolo Gnutella define cinco tipos diferentes de pacotes:  ping - para descoberta de dispositivos  pong - como resposta a um ping  query - para localização de arquivos  query hit - como resposta a uma consulta  push - como solicitação de download Muito antes dos computadores desktop com interfaces gráficas sofisticadas, as pessoas utilizavam sistemas com base em texto que frequentemente eram apenas terminais de exibição fisicamente acoplados a um computador central. Quando as redes foram disponibi- lizadas, as pessoas precisavam de uma maneira de acessar remotamente os sistemas de computação da mesma forma que faziam com os terminais diretamente acoplados. O Telnet foi desenvolvido para atender a essa necessidade. O Telnet data do início da década de 70 e está entre um dos proto- colos e serviços da camada de Aplicação mais antigos no conjunto TCP/IP. O Telnet fornece um método padrão de simulação de disposi- tivos de terminal com base em texto na rede de dados. O protocolo e o software cliente que implementa o protocolo são comumente chamados de Telnet. De forma bastante adequada, uma conexão que utiliza Telnet é chamada de sessão de Terminal Virtual (VTY), ou conexão. Em vez de utilizar um dispositivo físico para se conectar ao servidor, o Telnet utiliza software para criar um dispositivo virtual que forneça os mesmos recursos de uma sessão de terminal com acesso à interface de linha de comando (CLI) do servidor. Para suportar as conexões de cliente Telnet, o servidor executa um serviço chamado daemon Telnet. Uma conexão de terminal virtual é estabelecida de um dispositivo final utilizando uma aplicação de cliente Telnet. A maioria dos sistemas operacionais inclui um cliente Telnet da camada de Aplicação. Em um PC Windows da Microsoft, o Telnet pode ser executado a partir do prompt de comando. Outras aplicações de terminal comuns que rodam como clientes Telnet são HyperTerminal, Minicom e TeraTerm. Quando uma conexão Telnet é estabelecida, os usuários podem executar qualquer função autorizada no servidor, como se estivessem utilizando uma sessão de linha de comando no próprio servidor. Se autorizados, podem iniciar e parar processos, configurar o dispositivo e até mesmo desligar o sistema. 3.3.8 SERVIÇOS E PRTOCOLO TELNET
  22. 22. 25 O Telnet é um protocolo cliente/servidor e especifica como uma sessão VTY é estabelecida e encerrada. Ele também fornece a sintaxe e ordem dos comandos utilizados para iniciar a sessão Telnet, além dos comandos de controle que podem ser emitidos durante uma sessão. Cada comando Telnet consiste de, pelo menos, dois bytes. O primeiro byte é um caractere especial chamado de caractere Interpretar como Comando (Interpret as Command - IAC). Como o nome diz, o IAC define o byte seguinte como um comando em vez de um texto. Alguns exemplos de comandos do protocolo Telnet incluem: Are You There (AYT) - Permite que o usuário solicite que algo apareça na tela do terminal para indicar que a sessão VTY está ativa. Erase Line (EL) - Apaga todo o texto da linha atual. Interrupt Process (IP) - Suspende, interrompe, pausa ou encerra o processo ao qual o Terminal Virtual está conectado. Por exemplo, se um usuário iniciou um programa no servidor Telnet via VTY, poderá enviar um comando para parar o programa. Embora o protocolo Telnet suporte autenticação de usuário, não suporta o transporte de dados criptografados. Todos os dados trocados durante uma sessão Telnet são transportados como texto simples pela rede. Isso significa que os dados podem ser interceptados e compreendidos facilmente. Se a segurança for um problema, o protocolo Secure Shell (SSH) oferece um método alternativo e seguro para acesso ao servi- dor. O SSH fornece a estrutura para proteger o login remoto e outros serviços de rede segura. Ele também fornece autenticação mais forte que o Telnet e suporta o transporte de dados de sessão utilizando criptografia. Como melhor prática, os profissionais de rede sempre devem utilizar o SSH em vez do Telnet, quando possível.
  23. 23. 26 A camada de Aplicação é responsável pelo acesso direto a processos subjacentes que gerenciam e fornecem a comunicação à rede humana. Esta camada serve como origem e destino de comunicações em redes de dados. As aplicações, protocolos e serviços da camada de Aplicação permitem que os usuários interajam com a rede de maneira signi- ficativa e efetiva. Aplicações são programas de computador com os quais o usuário interage e que iniciam processos de transferência de dados mediante solicitação do usuário. Serviços são programas de segundo plano que fornecem a conexão entre a camada de Aplicação e as camadas inferiores do modelo de rede. Protocolos fornecem uma estrutura de regras e processos acordados que garantem que os serviços executados em um dispo- sitivo em particular possam enviar e receber dados de vários dispositivos de rede diferentes. O fornecimento de dados pela rede pode ser solicitado de um servidor por um cliente, ou entre dispositivos que operam em um acordo não-hierárquico, onde a relação cliente/servidor é estabelecida de acordo com o dispositivo de origem e destino no momento. Mensagens são trocadas entre os serviços da camada de Aplicação em cada dispositivo final de acordo com as especificações do protocolo para estabelecimento e uso dessas relações. Protocolos como HTTP, por exemplo, suportam a entrega de páginas Web a dispositivos finais. Protocolos SMTP/POP suportam o envio e recebimento de e-mail. SMB permite que usuários compartilhem arquivos. DNS resolve nomes legíveis utilizados para se referir a recursos de rede em endereços numéricos da rede. 1. Liste os sete passos do processo para converter comunicação humana em dados.  O usuário insere dados usando a interface de um hardware  O software o hardware convertem os dados para um formato digital  Serviços de aplicação iniciam a transferência de dados  As camadas OSI encapsulam os dados na pilha  Os dados encapsulados viajam através do meio físico até o destino  As camadas OSI do destino desencapsula os dados na pilha  Os dados estão prontos para serem processados por um dispositivo final 2. Descreva as duas formas de software da camada de Aplicação e a finalidade de cada uma delas. RESUMO QUESTIONÁRIO
  24. 24. 27 O software de aplicação tem duas formas: aplicação e serviço  Aplicação são projetadas pata interagir conosco. Aplicação é software para o usuário. Se o dispositivo é um compu- tador, a aplicação é normalmente iniciada pelo usuário. Apesar de poder haver muitas camada de suporte por baixo, o software de aplicação fornece uma interface entre os humanos e o hardware. A aplicação iniciará o processo de transferência de dados quando o usuário pressionar o botão Enviar, ou uma ação semelhante.  Os serviços são programas de segundo plano que executam uma função particular na rede de dados. Os serviços são executados por um dispositivo conectando a rede ou por um aplicativo. Por exemplo, um serviço de rede pode for- necer funções que transmitem dados ou fornecer a conversão de dados em uma rede. Em geral, os serviços não são acessíveis diretamente ou vistos por um usuário final. Eles fornecem a conexão entre um aplicativo e a rede. 3. Descreva o significado de Servidor e Cliente no contexto de rede de dados. A ponta de origem da comunicação de dados é referida como o “servidor” e a ponta de recebimento é chamada de o “cliente.” Os processos do cliente e do servidor são serviços da camada de aplicação que fornecem o fundamento para a conectividade da rede de dados. Em alguns casos, os "servidores" e os "clientes" são dispositivos que desempenham esse papel específico e exclusivo. Por exemplo:  Um servidor de arquivo central pode conter os arquivos de dados dos negócios de uma empresa que os funcionários acessam usando apenas suas estações de trabalho de cliente  Exemplos baseados na internet incluem servidores web e servidores de e-mail onde muitos usuários acessam um serviço fornecido centralmente.  Em outras situações, tais como o compartilhamento de arquivos através de uma rede doméstica, dispositivos indivi- duais podem desempenhar ambos os papéis de servidor e de cliente em tempos diferentes. Servidores são tanto um repositório quando uma fonte de informações tais como, arquivos de texto, bancos de dados, arquivos de fotos, vídeo ou áudio que foram gravados anteriormente. O papel do servidor pode ser gerenciar as comunicações quando elas acontecem. Isto é chamado de comu- nicação em "tempo real". Os exemplos incluem um servidor de matrículas de alunos de uma faculdade onde muitos usuários podem estar acessando o mesmo banco de dados ao mesmo tempo, mas todos solicitam as mesmas infor- mações atualizadas; ou um servidor de comunicações configurando uma chamada telefônica IP onde os endereços da rede do dispositivo devam ser correspondentes ao número de telefone discado. O processo do servidor, talvez chamado de o "servidor daemon" e normalmente executado em segundo plano ao invés de sob o controle direto de um usuário final. Estes processos do servidor disponibilizam os dados da comunicação para a rede de dados. Diz-se que os processos do servidor estão "ouvindo" uma solicitação de um cli- ente. Quando um servidor "ouve" uma solicitação de um cliente, ele troca mensagens apropriadas com o cliente conforme solicitado pelo protocolo que está sendo usado e depois envia os dados solicitados. Os processos do Cliente na outra ponta da comunicação através da rede de dados permitem que o usuário faça solicitações para obter os dados de um servidor. O software do cliente normalmente usa um programa iniciado por um usuário. O cliente inicia o fluxo de comunicação de dados a partir do servidor enviando solicitações de dados ao servidor. O servidor responde começando a enviar um ou mais fluxos de dados ao cliente. Juntamente com a transferência de dados real, esta troca pode incluir autenticação do usuário e identificação do arquivo de dados a ser transferido. Apesar dos dados serem normalmente considerados como se estivessem fluindo do servidor para o cliente, sempre há algum fluxo do cliente para o servidor. Uma transferência de dados de um cliente para um servidor é chamada de upload e os dados que partem de um servidor é o download. Exemplos de serviços comuns cliente/servidor incluem:  DNS (Sistema de Resolução de Nome)  FTP (Sistema de Transferência de Arquivo)  HTTP (Protocolo de Transferência de Hipertexto)  Telnet. (TELetype NETwork Service) É através dos serviços do cliente na camada de aplicação que a maioria dos clientes experimentam a rede de dados, daí a importância de entender esta área da rede.
  25. 25. 28 4. Compare e contraste cliente/servidor com transferência de dados ponto-a-ponto através da rede. Transferência de dados Cliente/servidor se refere especificamente à ponta de origem centralizada da comunicação de dados como o servidor e a ponta de recebimento como o cliente. Com a transferência de dados ponto-a-ponto, tanto os serviços do cliente quanto os do servidor são usados dentro da mesma conversa. Uma ou outra ponta da comunicação pode iniciar a troca e ambos os dispositivos são considerados iguais no processo de comunicação. Os dispositivos nas duas pontas da comunicação são chamados pontos. Em contraste com um modelo cliente/servidor, onde um servidor é normalmente um repositório centralizado e res- ponde às solicitações de muitos clientes; a rede ponto-a-ponto distribuiu dados. Uma vez que a comunicação está estabelecida, os pontos se comunicam diretamente - os dados não são processados na camada de Aplicação por um terceiro dispositivo na rede. 5. Liste cinco funções específicas dos protocolos da camada de Aplicação. As funções especificadas dos protocolos da camada de Aplicação incluem:  Os processos que estão prestes a ocorrer em ambas as pontas da comunicação: Isto inclui o que deve acontecer aos dados e como a PDU será estruturado. A PDU da camada de aplicação usado neste curso é chamado de "dados".  Os tipos de mensagens: podem incluir solicitações, reconhecimentos, mensagens de dados, mensagens de status e mensagens de erros.  A sintaxe da mensagem: dá a ordem esperada de informações (campos) em uma mensagem.  O significado dos campos dentro dos tipos específicos de mensagens deve ser constante para que os serviços possam agir corretamente em conformidade com as informações.  Os diálogos das mensagens: determinam quais mensagens solicitam quais respostas para que os serviços corretos sejam acionados assim gerando a transferência de dados. 6. Cite as finalidades específicas dos protocolos DNS, HTTP e SMTP/POP da camada de Aplicação. Todos estes protocolos usam um processo cliente/servidor.  Sistema de Resolução de Nome (DNS) fornece aos usuários um serviço automatizado que corresponde ou resolve nomes de recursos e domínios de e-mail com o endereço numérico da rede do dispositivo solicitado. Este serviço está disponível para qualquer usuário conectado à Internet e que esteja executando um aplicativo da camada de aplicação tal como um navegador ou um programa de e-mail do cliente.  O Protocolo de Transferência de Hipertexto (HTTP) foi desenvolvido originalmente para editar e recuperar as páginas de Linguagem de Marcação de Hipertexto (HTML) e agora é utilizado para sistemas de informação de hipermídia transmitidos e participativos. O HTTP é usado pela World Wide Web (WWW) para transferir dados de servidores web para clientes web.  O protocolo SMB descreve a estrutura dos recursos de compartilhamento da rede, tais como diretórios, arquivos, impressoras e portas seriais entre computadores.  O protocolo SMTP transfere e-mails de saída do cliente de e-mail para o servidor de e-mail, transporta e-mail entre servidores de e-mail e, assim, habilita e-mails para serem trocados através da Internet.  POP, ou POP3 (Post Office Protocol versão 3), entrega o e-mail do servidor de e-mail ao cliente. 7. Compare e contraste as mensagens que os protocolos da camada de Aplicação tais como DNS, HTTP, SMB e SMTP/POP trocam entre os dispositivos para permitir que a transferência de dados ocorra. DNS inclui consultas, respostas e formatos de dados padrões. As comunicações do protocolo DNS são transmitidas em um formato único chamado de mensagem. Este formato de mensagem é usado por todos os tipos de consultas dos clientes e respostas dos servidores, mensagens de erros e para a transferência de recurso registram informações entre servidores. HTTP é um protocolo de solicitação/resposta: Um aplicativo da camada de aplicação, normalmente um navegador, envia uma mensagem de solicitação a um servi- dor. O servidor responde com a mensagem apropriada. O protocolo também inclui mensagens para fazer o upload de dados para o servidor, como quando se preenche um formulário online.
  26. 26. 29 Mensagens SMB usam um formato comum para:  Iniciar, autenticar e finalizar sessões  Controlar acesso a arquivos e a impressoras  Permitir que um aplicativo envie ou receba mensagens para ou de um outro dispositivo SMTP especifica comandos e respostas relacionados à inicialização de sessões, transação de e-mails, encaminha- mento de e-mails, verificação de nomes de caixas de entrada, expansão de listas de e-mails e trocas de abertura e fechamento. POP é um típico protocolo cliente/servidor com o servidor prestando atenção às conexões do cliente e o cliente ini- ciando a conexão ao servidor. Então o servidor pode transferir o e-mail. Todos os protocolos acima usam conexões servidor/cliente solicitação/resposta. Considerando que os usuários vêem os aplicativos que usam HTTP (um navegador), SMB (gerenciador de arquivos) e (cliente de e-mail), a operação do DNS suporta estes aplicativos e está verdadeiramente transparente ao usuário. Links úteis: http://www.ietf.org/ http://www.protocols.com/
  27. 27. 30 3.0.1 INTRODUÇÃO AO CAPÍTULO 4 3.1.1 MODELOS OSI E TCP/IP 4 3.1.2 SOFTWARE DA CAMADA DE APLICAÇÃO 6 3.1.3 APLICAÇÕES DE USUÁRIOS, SERVIÇOS E PROTOCOLOS DA CAMADNA DE APLICAÇÃO 7 3.1.4 FUNÇÕES DE PROTOCOLO DA CAMADA DE APLICAÇÃO 8 3.2.1 O MODELO CLIENTE/SERVIDOR 8 3.2.2 SERVIDORES 9 3.2.3 PROTOCOLOS E SERVIÇOS DA CAMANDA DE APLICAÇÃO 10 3.2.4 REDES E APLICAÇÕES NÃO-HIERÁRQUICAS (P2P) 11 3.3.1 SERVIÇOS E PROTOCOLO DNS 12 3.3.2 SERVIÇOS WWW E HTTP 16 3.3.3 SERVIÇOS DE E-MAIL E PROTOCOLOS SMTP/POP 17 3.3.4 FTP 20 3.3.5 DHCP 20 3.3.6 SERVIÇOS DE COMPARTILHAMENTO DE ARQUIVOS E PROTOCOLOS SMB 22 3.3.7 SERVIÇOS P2P E PROTOCOLO GNUTELLA 23 3.3.8 SERVIÇOS E PRTOCOLO TELNET 24 RESUMO 27 QUESTIONÁRIO 27

×