Buscar

Biblioteca 794397

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Gerência e Análise de Redes
Professora:
Silvana Corrêa
Curso: Redes de Computadores
*
*
Camada de Aplicação
Unidade 3
Parte 3
Gerência e Análise
*
*
A Web possui duas características marcantes:
Funciona sob demanda
É muitíssimo fácil de usar
HTTP (HyperText Transfer Protocol) é um protocolo da camada de aplicação e é definido pelas RFCs 1945 e 2616.
O HTTP é implementado através de um programa no cliente e outro no servidor. Os programas conversam através de mensagens HTTP.
Uma página web (também denominada documento) é constituída de objetos.
Um objeto é simplesmente um arquivo (um arquivo HTML, uma imagem GIF ou JPEG, um applet Java, um arquivo de áudio ou um arquivo de vídeo etc) que se pode acessar por uma URL.
A maioria das páginas é constituída de um arquivo-base HTML e diversos objetos referenciados.
Texto de apoio RFC 1945 e RFC 2616
Gerência e Análise
*
*
Uma URL (Uniform Resource Locator - Localizador Uniforme de Recursos) é o endereço de um recurso (um arquivo, uma impressora etc.), disponível em uma rede; seja a Internet ou uma rede corporativa. 
Uma URL tem a seguinte estrutura: protocolo://máquina/caminho/recurso
Um browser é um programa cliente para a Web; apresenta a página requisitada ao usuário e fornece numerosas características de navegação e de configuração. 
Um servidor Web abriga objetos Web, endereçado por uma URL.
O HTTP usa o TCP como seu protocolo de transporte (porta 80).
Quando um servidor HTTP envia ao cliente os arquivos solicitados não é armazenada nenhuma informação de estado sobre este. 
Como o servidor HTTP não mantém nenhuma informação sobre clientes, o HTTP é denominado um protocolo sem estado.
Gerência e Análise
*
*
Suponha que uma página consista em um arquivo-base HTML e dez imagens JPEG e que todos os 11 objetos residam no mesmo servidor. Suponha também que o URL para o arquivo-base HTTP seja http://www.someSchool.edu/someDepartment/home.index
Gerência e Análise
*
*
As etapas descritas ilustram a utilização de conexões não persistentes, nas quais cada conexão TCP é encerrada após o servidor enviar o objeto – a conexão não persiste para outros objetos.
Usuários podem configurar browsers modernos para controlar o grau de paralelismo das conexões TCP para a obtenção dos objetos.
Nos modos default, a maioria dos browsers abre de 5 a 10 conexões TCP paralelas e cada uma manipula uma transação requisição/resposta.
Se o usuário preferir, o número máximo de conexões paralelas pode ser fixado em 1, caso em as conexões são estabelecidas em série.
Gerência e Análise
*
*
Em conexões persistentes, o servidor deixa a conexão TCP aberta após enviar resposta. Requisições e respostas subsequentes entre os mesmos cliente e servidor podem ser enviadas por meio da mesma conexão.
Normalmente, o servidor HTTP fecha uma conexão quando ela não é usada durante um certo tempo (um intervalo de pausa configurável).
Há duas versões de conexões persistentes: sem paralelismo e com paralelismo.
Na versão sem paralelismo, o cliente emite uma nova requisição somente quando a resposta anterior foi recebida.
O modo default do HTTP usa conexões persistentes com paralelismo. Assim, pode fazer requisições sequenciais para os objetos relacionados, isto é, pode fazer uma nova requisição antes de receber uma resposta a uma requisição anterior.
Gerência e Análise
*
*
Gerência e Análise
*
*
Gerência e Análise
*
*
A primeira linha de uma mensagem de requisição HTTP é denominada linha de requisição; as linhas subsequentes são denominadas linhas de cabeçalho.
A linha de requisição tem 3 campos: método, URL e versão HTTP. O campo método pode assumir os valores GET, POST e HEAD. 
HOST  especifica o hospedeiro no qual o objeto reside.
CONNECTION  especifica se o servidor usará conexões persistentes ou não persistentes.
USER-AGENT  especifica o tipo de browser que está fazendo a requisição ao servidor.
ACCEPT-LANGUAGE  mostra que o usuário prefere receber uma versão do objeto em francês. Se o objeto não existir na versão solicitada o servidor envia a versão default.
Gerência e Análise
*
*
Possui 3 seções: uma linha inicial, a linha de estado, seis linhas de cabeçalho e o corpo da entidade.
Linha de estado  versão do HTTP, código de estado e uma mensagem de estado correspondente.
CONNECTION  especifica se o servidor irá fechar ou não a conexão após enviar a mensagem.
DATE  especifica a hora e a data em que a resposta HTTP foi criada e enviada pelo servidor.
SERVER  especifica em qual servidor a mensagem de resposta foi gerada.
LAST-MODIFIED  especifica a hora e a data em que o objeto foi criado ou sofreu a última alteração.
CONTENT-LENGTH  especifica a quantidade de bytes do objeto que está sendo enviado.
CONTENT-TYPE  especifica o tipo de objeto está presente no corpo da mensagem.
Gerência e Análise
*
*
Código de Informação: emitem valores inteiros na casa centesimal, códigos como 100, 101 por exemplo são valores emitidos por um servidor para informar o cliente pelo protocolo HTTP 1.1. 
100 – Continue.
101 – Switching Protocols (Protocolos de Comutação).
Gerência e Análise
*
*
Códigos de Sucessos: são os mais esperados por todos. Estes códigos representam que são representados pelo valor numérico na casa centesimal 2xx, como os estados 200, 202 etc. 
200 – ok  informa que uma requisição pelo protocolo HTTP 1.1 foi efetuada, aceita e entregue ao destinatário com sucesso. Requisições de dados utilizando GET, POST, HEAD e TRACE são métodos que são informados por este estado em caso de sucesso.
201 – Created (Criado).
202 – Accepted (Aceito).
203 – Non-Authoritative Information (Informações Não Autorizadas) .
204 – No Content (Nenhum Conteúdo).
205 – Reset Content (Redefinir Conteúdo).
206 – Partial Content (Conteúdo Parcial).
Gerência e Análise
*
*
Códigos de Redirecionamentos: valores centesimal inteiros na casa dos 3xx, são muito importantes para informar ao cliente que o conteúdo requisitados não se encontra no local, mas em outro especificado junto ao protocolo. Códigos como 301 Redirecionamento Permanente, é um exemplo prático e muito utilizado em servidores web, onde informação aos navegadores web ou robos de engines de busca, que o conteúdo requisitados já não se encontra mais neste local e sim em outro. 
300 – Multiple Choices (Multiplas Escolhas).
301 – Moved Permanently (Movido Permanentemente).
302 – Found (Encontrado)
303 – See Other (Veja Outros)
304 – Not Modified (Não Modificado)
305 – Use Proxy (Usar o proxy)
306 – Unused (Não Usado)
307 – Temporary Redirect (Redirecionamento Temporário)
Gerência e Análise
*
*
Códigos de Erros no Cliente: são estados com valores inteiros centesimal expressos pelos valores 4xx. Apresentam erros executados no cliente, como solicitações inválidas para o servidor remoto.
412 – Precondition Failed (Pré Condição Falhou).
413 – Request Entity Too Large (Entidade Solicitada muito Grande).
414 – Request-URI Too Long (Solicitação de URI muito longa).
415 – Unsupported Media Type (Tipo de mídia não suportado).
416 – Requested Range Not Satisfiable (Intervalo solicitado não satisfatório).
417 – Expectation Failed (Expectativa de Falha ).
400 – Bad Request (Pedido Ruim).
401 – Unauthorized (Não Autorizado).
402 – Payment Required (Pagamento Requerido).
403 – Forbidden (Proibido).
404 – Not Found (Não Existe).
405 – Method Not Allowed (Método Não Permitido).
406 – Not Acceptable (Não Aceitavel).
407 – Proxy Authentication Required (Autenticação de proxy Requerida).
408 – Request Timeout (Tempo Limite para requisição).
409 – Conflict (Conflito).
410 – Gone (Desaparecido).
411 – Length Required (Comprimento Requerido).
Gerência e Análise
*
*
Códigos de Erros do Servidor: estados com valores inteiros centesimal expressos pelos valores 5xx. Apresentam erros executados no servidor remoto. Tais erros podem ser gerados como processamento
inválido por um determinado interpretador em uso, por exemplo PHP, Python, Perl etc, Assim como um serviço requisitado não implementado. 
500 – Internal Server Error (Erro Interno no Servidor).
501 – Not Implemented (Não Implementado).
502 – Bad Gateway (Porta de Saida Ruim).
503 – Service Unavailable (Serviço Não Avaliado).
504 – Gateway Timeout (Tempo Limite para Porta de Saida).
505 – HTTP Version Not Supported (Versão do protocolo HTTP Não Suportado).
Gerência e Análise
*
*
HTTP (HyperText Transfer Protocol) é um protocolo da camada de aplicação e é definido pelas RFCs 2818 e RFC 6797 (Texto de apoio – RFCs 2818 e RFC 6797).
O HTTP usa o TCP como seu protocolo de transporte (porta 443).
Gerência e Análise
*
*
Gerência e Análise
*
*
Gerência e Análise
*
*
Projetistas tem explorado uma variedade de abordagens para o acesso de arquivos localizados remotamente:
Servidor de Arquivos Único e Centralizado: Utilizado para fornecer armazenamento secundário para um conjunto de computadores que possuem pouco espaço em disco ou não possuem disco rígido (diskless workstations)
Servidor de Backup: Utilizado para prover aos usuários redundância de arquivos. Periodicamente os arquivos mais importantes ou o disco inteiro é replicado a um servidor.
SAN (Storage Area Network): Utilizado como ponto central de armazenamento de informações compartilhada.
Gerência e Análise
*
*
O compartilhamento de arquivos pode se realizar de duas formas distintas:
On-line: Permite que múltiplos programas acessem um arquivo concorrentemente. Alterações ao arquivo terão efeito imediatamente e estarão disponíveis para todos os programas que acessarem o arquivo.
Copia Total de Arquivo (Whole-File Copying): Toda vez que um programa precisar de um arquivo uma cópia deste arquivo terá de ser disponibilizada localmente. É geralmente utilizado para dados apenas disponíveis para leitura, mas se houver necessidade de alterar o arquivo, as alterações serão realizadas no arquivo local e o arquivo alterado deverá ser copiado para o lugar de origem.
Gerência e Análise
*
*
O protocolo de transferênca de arquivos mais utilizado na arquitetura TCP/IP é o FTP (File Transfer Protocol).
O FTP provê três características:
Acesso Interativo: Embora o FTP tenha sido desenvolvido para ser utilizado por programas a maioria das implementações também fornecem uma interface que permite aos usuários interagir com o servidor remoto.
Especificação de Formato: O FTP permite que o cliente especifique o tipo e a representação dos dados armazenados. Por exemplo, um usuário pode especificar se um arquivo contem conteúdo em formato texto ou binário e no caso de ser um texto se o mesmo irá usar o conjunto de caracteres ASCII ou EBCDIC.
Autenticação: O FTP requer que o cliente se autentique, fornecendo um usuário e senha, antes de poder ter acesso a qualquer arquivo que deseje transferir.
Gerência e Análise
*
*
Transferência de arquivos de e para o computador remoto
Modelo cliente servidor
Cliente: lado que inicia a transferência (seja de ou para o lado remoto)
Servidor: hospedeiro remoto
FTP: RFC 959
FTP servidor: porta 21 para controle e porta 20 para dados
Texto de apoio: RFC 959
Gerência e Análise
*
*
Cliente FTP contata o servidor FTP na porta 21 especificando o TCP como protocolo de transporte
Cliente obtém autorização pela conexão de controle
Cliente procura o diretório remoto enviando comandos pela conexão de controle
Quando o servidor recebe um comando para uma transferência de arquivo, ele abre uma conexão de dados TCP para o cliente (Porta 20)
Após a transferência de um arquivo, o servidor fecha a conexão
Servidor abre uma segunda conexão de dados TCP para transferir outro arquivo
Conexão de controle: “fora da banda”
Servidor FTP mantém “estado”: diretório atual, autenticação anterior
Gerência e Análise
*
*
USER username: usado para enviar identificação do usuário
PASS password: uado para enviar a senha do usuário ao servidor
LIST: usado para pedir ao servidor que envie uma lista com todos os arquivos existentes no atual diretório remoto. 
RETR filename: usado para extrair (obter) um arquivo do diretório atual do hospedeiro remoto. Equivale ao comando de terminal GET.
STOR filename: usado para armazenar (inserir) um arquivo no diretório atual do hospedeiro remoto. Equivale ao comando de terminal PUT.
SYST: lista o tipo de sistema operacional utilizado no servidor
TYPE type: indica qual o tipo de arquivo a ser transferido
CWD: altera o diretório corrente
PWD: lista o diretório corrente
LOGOUT (QUIT): finaliza uma conexão
Gerência e Análise
*
*
Gerência e Análise
*
Email
 identificador de uma caixa postal para receber mensagens
 nome de domínio da caixa postal
 Três componentes principais: 
 Agentes de usuário 
 Servidores de correio
 Protocolos SMTP e POP
 modelo “store-and-forward”  interação entre servidores.
Gerência e Análise
*
Componentes do sistema de correio eletrônico:
Mail User Agent (MUA)
Mail Transfer Agent (MTA)
Mail Delivery Agent (MDA)
Correio eletrônico
Gerência e Análise
*
RFC 0822: padrão para formato de mensagem de texto:
linhas de cabeçalho, p.ex.,
To:
From:
Subject:
diferentes dos comandos de smtp!
corpo
a “mensagem”, somente de caracteres ASCII 
cabeçalho
corpo
linha em branco
Formato da mensagem
Gerência e Análise
*
Simple mail transfer protocol
RFC 2821
TCP porta 25
usa conexões persistentes
interação comando/resposta
comandos: texto ASCII
resposta: código e frase de status
mensagens precisam ser em ASCII de 7-bits
Protocolo SMTP
Gerência e Análise
*
 Cenário exemplo
 1) Alice usa o agente de usuário para compor a mensagem. No campo “para”  bob@someschool.edu
2) O agente de usuário dela envia a mensagem para o seu servidor de correio; a mensagem é colocada na fila de mensagens.
3) O lado cliente do SMTP abre uma conexão TCP com o servidor de correio do Bob.
4) O cliente SMTP envia a mensagem de Alice pela conexão TCP.
5) O servidor de correio de Bob coloca a mensagem na caixa de correio de Bob.
6) Bob invoca seu agente de usuário para ler a mensagem.
Protocolo SMTP
Gerência e Análise
*
Post Office Protocol Versão 3 – POP3
RFC 1939 
Entrega/armazenamento no servidor do receptor
Protocolo de acesso ao correio: recupera do servidor
autorização (agente <-->servidor) e transferência
HTTP: Hotmail , Yahoo! Mail, Webmail, etc.
Protocolo POP
Gerência e Análise
*
fase de autorização
comandos do cliente: 
user: declara nome
pass: senha
servidor responde
+OK
-ERR
fase de transação, cliente:
list: lista números das msgs
retr: recupera msg por número
dele: apaga msg
quit
 C: list 
 S: 1 498 
 S: 2 912 
 S: . 
 C: retr 1 
 S: <message 1 contents>
 S: . 
 C: dele 1 
 C: retr 2 
 S: <message 1 contents>
 S: . 
 C: dele 2 
 C: quit 
 S: +OK POP3 server signing off
S: +OK POP3 server ready 
C: user ana 
S: +OK 
C: pass faminta 
S: +OK user successfully logged on
Protocolo POP
Gerência e Análise
*
Inicialmente pela RFC15 (atual na RFC854)
Desenvolvido em 1969 padronizado  a maioria das redes eram baseadas em sistemas de terminal (basicamente uma tela e teclado com uma interface de rede)
Muito comum na era dos mainframes
Usado comumente para efetuar um login remoto. Essencialmente oferece uma interface de linha de comando para o usuário
Porta 23 no protocolo TCP da camada de transporte.
O nome telnet também costuma ser usado para referir-se ao programa cliente da conexão telnet.
Telnet
Gerência e Análise
*
Uso atual:
Configuração inicial simples de dispositivos de rede:
Switches
Roteadores
Telnet
Gerência e Análise
*
Uso atual:
Configuração inicial simples de dispositivos de rede:
Switches
Roteadores
Telnet
Gerência e Análise
*
*
Protocolo NetBios
 compatibilidade
com sistemas antigos de rede Microsoft.
 IPv4 sem DNS
 Porta 137 – UDP/TCP
 3 métodos:
 broadcast: descoberta IPv4 na sub-rede local
 WINS: descoberta IPv4 além sub-rede local. Necessita de servidor.
 Lmhosts: registra de forma estática nome NetBios e seu IP, quando os demais métodos falharem. Arquivo: %systemroot%\system32\drivers\etc.
Fonte: NORTHRUP, 2009
Gerência e Análise
*
*
 Cabeçalho
 Texto de apoio
 RFC1001 – NetBios
 RFC1002 – NetBios
Fonte: RFC, 2014
Protocolo NetBios
Gerência e Análise
*
*
Método por 
Broadcast
Fonte: NORTHRUP, 2009
Protocolo NetBios
Gerência e Análise
*
*
 Vantagens:
 Resolução de nomes dos vizinhos por padrão.
 Está habilitado em todas as versões do Windows.
 Funciona com IPv4.
 Desvantagens:
 Não aplicável em redes grandes (tag única).
 Anuncia informações da rede.
 Não é compatível com IPv6
Fonte: NORTHRUP, 2009
Protocolo NetBios
Gerência e Análise
*
*
 LLMNR: Link Local Multicast Name Resolution 
 Utiliza Multicast em resolução de nomes. Com Ipv4 224.0.0.252. Com IPv6 FF02::1:3
 Windows Vista e Server 2008. Ativado pelo Network Discovery.
 Porta 5355 - UDP
Fonte: NORTHRUP, 2009
Protocolo LLMNR
Gerência e Análise
*
*
 LLMNR: Link Local Multicast Name Resolution: cabeçalho
 Texto de apoio: RFC4795 LLMNR
Fonte: RFC, 2014
Protocolo LLMNR
Gerência e Análise
*
*
Fonte: NORTHRUP, 2009
Protocolo LLMNR
Gerência e Análise
*
*
 Vantagens:
 Não requer configuração de resolução de nomes na sub-rede local.
 Compatível com IPv6
 Serviço menor comparado ao NetBios.
 Desvantagens:
 Não roda com versões anteriores a Windows Vista e Windows server 2008.
 A função de Network Discovery deve estar habilitada em todos os computadores da sub-rede local.
 Não vai além da sub-rede local.
Fonte: NORTHRUP, 2009
Protocolo LLMNR
*
*
HEAD – pode ser usado para se obter a data da última modificação feita na página
PUT – É o inverso do GET: em vez de ler ele grava a página. 
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais