Você está na página 1de 28

Capítulo 3 - Funcionalidades e

Protocolos da Camada de
Aplicação
Informática
Universidade Municipal de São Caetano do Sul (USCS)
27 pag.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
4

Funcionalidades e Protocolos da Camada de Aplicação

3.0.1 INTRODUÇÃO AO CAPÍTULO

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
3.1.1Modelo OSIOSI
MODELOS e TCP/IP
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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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

3.1.2 SOFTWARE DA CAMADA DE APLICAÇÃO

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

3.1.3 APLICAÇÕES DE USUÁRIOS, SERVIÇOS E PROTOCOLOS DA CAMADNA DE APLICAÇÃ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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
8

3.1.4 FUNÇÕES DE PROTOCOLO DA CAMADA DE APLICAÇÃO

Os protocolos da camada de Aplicação são utilizados pelos dispositivos de origem e destino durante uma sessão 3 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.

3.2.1 O MODELO CLIENTE/SERVIDOR

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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- Daemons são descritos como
tenticação de usuário e identificação de um arquivo de dados a ser transferido. "ouvintes" de uma solicitação
de um cliente, porque são pro-
Um exemplo de rede cliente/servidor é um ambiente corporativo no qual os funcioná- gramados para responder sem-
rios utilizam um servidor de e-mail da empresa para enviar, receber e armazenar e-mails. O cliente pre que o servidor recebe uma
de e-mail no computador de um funcionário envia uma solicitação ao servidor de e-mail para qual- solicitação para o serviço forne-
quer correspondência não lida. O servidor responde enviando o e-mail solicitado ao cliente. cido pelo daemon.

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.

3.2.2 SERVIDORES

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
10

3.2.3 PROTOCOLOS E SERVIÇOS DA CAMANDA DE APLICAÇÃO

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
11

3.2.4 REDES E APLICAÇÕES NÃO-HIERÁRQUICAS (P2P)

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
12

3.3.1 SERVIÇOS E PROTOCOLO DNS

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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

3.3.2 SERVIÇOS WWW E HTTP

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

17Conjunto de símbolos utilizado para comunicar informações ou instruções.


18Dados 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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
17

3.3.3 SERVIÇOS DE E-MAIL E PROTOCOLOS SMTP/POP

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
20

3.3.4 FTP

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.

3.3.5 DHCP

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

3.3.6 SERVIÇOS DE COMPARTILHAMENTO DE ARQUIVOS E PROTOCOLOS SMB

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

3.3.7 SERVIÇOS P2P E PROTOCOLO GNUTELLA

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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

3.3.8 SERVIÇOS E PRTOCOLO TELNET

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
26

RESUMO

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.

QUESTIONÁRIO

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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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.

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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/

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)
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

Document shared on www.docsity.com


Downloaded by: ivan-alves-38 (ivan2003m@hotmail.com)