Redes Integradas de
Telecomunicações II
Aplicações Internet
Aplicação
Protocolo de nível
aplicação
Protocolo de transporte
Correio Eletrónico
SMTP, POP3, IMAP
TCP
Transf. de ficheiros
FTP
TCP
Web
HTTP
TCP
Terminal Remoto
Telnet, SSH
TCP
Feixes multimédia
RTP, MPEG, ou propriet.
UDP (ou TCP)
Telefonia IP
SIP, H.323
UDP ou/e TCP
Serviços de nomes
DNS, LDAP (X.500)
UDP ou/e TCP
Serviços peer-to-peer
Proprietário
TCP
Aplicações Internet
Correio Eletrónico
Introdução
Os primeiros sistemas, oriundos da ARPANET eram muito simples mas também muito limitados: A mensagem era transferida usando protocolos do tipo de transferência de ficheiros em que a primeira linha (do ficheiro) continha o destinatário.
Limitações
• Enviar o documento para mais do que um destinatário.
• Inexistência de estrutura interna que possibilitasse a extração automática de partes do conteúdo.
• O emissor nunca sabia se a mensagem chegou ou não.
• Redirecionar a caixa do correio para outro lado.
• Má integração da interface do utilizador (inexistente) com o mecanismo de transmissão.
• Integração de textos, desenhos, voz, etc. Depois nasceram as normas de e-mail
ARPANET – SMTP (RFC 821; RFC 822 para o formato da mensagem)
ITU-T – X.400 (ou MHS)
Aplicações Internet
Correio Eletrónico
Arquitetura e Serviços
Dois tipos de subsistemas:
• Agentes de Utilizador
Permitem às pessoas ler e enviar correio eletrónico
• Agentes de transferência de mensagens (ou Servidores de correio)
Aplicações Internet
Correio Eletrónico
Arquitetura e Serviços
O agente de utilizador compõe
mensagens, mostra imagens recebidas, e
submete mensagens aos agentes de
transferência de mensagens (MTAs). Os MTAs são servidores sempre ativos, que transferem as mensagens usando SMTP (Simple Mail Transfer Protocol). Também podem oferecer listas de mail, etc.
Caixas de correio – são mantidas pelos
MTAs; guardam as mensagens de um utilizador.
O correio é enviado com um formato
normalizado; distingue envelope,
Aplicações Internet
Correio Eletrónico
O Agente de Utilizador
Enviar correio
A mensagem pode ser produzida por um editor de texto pertencente ao agente, ou outro acoplado. O endereço é introduzido normalmente no formato Internet Domain Name do DNS.
O uso de listas de correio pode ser de dois tipos:
• Local – e o agente de utilizador envia uma cópia a cada elemento da lista
• Remota – e vai apenas uma mensagem até esse local e depois “explode” para todos.
Aplicações Internet
Correio Eletrónico
Formato de Mensagens
RFC 5322 - formato de mensagens na Internet Usa apenas texto ASCII
O formato consiste em: um envelope elementar (RFC 5321 / RFC 822)
campos de cabeçalho uma linha em branco o corpo da mensagem
No RFC 5322 (evolução de RFC 822) não existe uma diferença clara entre
envelope e cabeçalho
No RFC 5322, os campos são compostos por uma palavra chave seguida de um valor, cumprindo uma sintaxe muito “apertada”
Existem regras específicas para parêntesis, espaços em branco, comprimento de linhas, palavras chave obrigatórias ou de opção, etc.
Aplicações Internet
Correio Eletrónico
Formato de Mensagens
RFC 5322
Os campos principais são:
Existe uma variedade grande de outros campos que se podem pôr: É possível ter campos “privados”
no cabeçalho, que só são usados pelo Agente de Utilizador.
Estes campos devem começar com
X-e.g. X-Mailer
O corpo da mensagem pode ser qualquer coisa desde que seja ASCII…
Campo Descrição To: Cc: Bcc: From: Sender: Received: Return-Path: Endereço de destino
Endereços para enviar cópias visíveis Endereços para enviar cópias invisíveis Nome da pessoa que enviou a mensagem Endereço da pessoa que enviou a mensagem
Linha adicionada em cada agente de transfer.
Pode ser usado para identificar o caminho de volta ao emissor Campo Descrição Date: Reply-to: Message-Id: In-Reply-To: References: Keywords: Subject:
A data e a hora em que a mensagem foi enviada Endereço para a resposta
Número único para referenciar esta mensagem Message-Id da mensagem a que se está a
responder
Outras Message-Id relevantes Palavras escolhidas pelo utilizador Sumário do assunto da mensagem
Aplicações Internet
Correio Eletrónico
Formato de Mensagens
MIME (Multipurpose Internet Mail Extensions) Usar apenas ASCII cedo se tornou uma limitação
1. Línguas com acentos 2. Alfabetos não latinos 3. Línguas sem alfabeto
4. Outras mensagens que não texto
A ideia base do MIME é continuar a usar-se o RFC 5322/822, mas: adicionando uma estrutura ao corpo
criando regras para mensagens não ASCII
O MIME usa cinco campos
de cabeçalho MIME-version:Campo Descrição
Content-Description: Content-Id:
Content-Transfer-Encoding: Content-Type:
Identifica a versão
Mensagem legível do que é o conteúdo Identificador único do conteúdo
Como o corpo foi codificado para transmissão Natureza da mensagem
Aplicações Internet
Correio Eletrónico
Formato de Mensagens
MIME (Multipurpose Internet Mail Extensions)
Content-Transfer-Encoding Para a codificação do conteúdo de transferência existem cinco esquemas, mais um de escape para se poder ter outro esquema qualquer.
1. ASCII – 7 bits (máximo de 1000 caracteres por linha)
2. ASCII – 8 bits (viola os protocolos da Internet, mas é usado num subconjunto da rede) 3. codificação binária (não cumpre o limite dos 1000 caracteres)
(não há garantias de que cheguem) SMTP já permite negociação e transferência
4. codificação base64 – grupos de 24 bits são divididos em 4 grupos de 6 bits que são transmitidos
como caracteres ASCII legais (6 bits = 64 valores)
“A” – 0 “B” – 1 … “a” – 26 “b” – 27 … “0” – 52 … “+” – 62 “/” – 63
As sequências == ou = significam que o último grupo tem 8 ou 16 bits
Aplicações Internet
Correio Eletrónico
Formato de Mensagens
MIME (Multipurpose Internet Mail Extensions)
Content-Transfer-Encoding
5. codificação quoted-printable – usado quando quase todo o texto é ASCII à exceção de alguns caracteres.
Os caracteres superiores a 127 são substituídos por “=” seguidos pelo valor do caracter codificado em dois dígitos hexadecimais.
Content-Type
O campo de conteúdo especifica a natureza do corpo da mensagem Existem sete tipos e mais alguns subtipos
Aplicações Internet
Correio Eletrónico
Formato de Mensagens
MIME (Multipurpose Internet Mail Extensions)
Content-Type
Existem nove tipos e mais vários subtipos
e.g. application é para colocar “tudo” o que necessite de processamento externo, não coberto nos outros tipos.
octet-stream pode ser usado para
dados genéricos.
Esta lista está a crescer “todos os dias”
A lista é gerida pela IANA
e está disponível em: http://www.iana.org/assignments/media-types
Tipo Subtipo Descrição
text plain Texto não formatado html Texto em formato HTML image gif Figuras em formato GIF
jpeg Figuras em formato JPEG
audio basic Som audível
mpeg Som em formato MP3 (MPEG 2) mp4 Som em formato MPEG 4 video mpeg Filme em formato MPEG 2
mp4 Filme em formato MPEG 4
application octet-stream Uma sequência de octetos não interpretável pdf Documento em formato PDF
model vrml Modelo de dados 3D
message rfc822 Mensagem de correio encapsulada
multipart Alternative A mesma mensagem em diferentes formatos Parallel As partes devem ser vistas simultaneamente Mixed Cada parte tem um tipo diferente (Anexos) Digest Cada parte é uma mensagem RFC822 completa
Aplicações Internet
Correio Eletrónico
Formato de Mensagens
O cabeçalho Content-Type aparece em três sítios:
• a 1ª indica que a mensagem tem
muitas partes
• em cada parte indica o tipo e o subtipo
Se as partes fossem para ser vistas ao mesmo tempo, dever-se-ia usar o subtipo
parallel
O tipo MIME é usado noutros contextos (e.g. Word Wide Web) para identificar o tipo de dados enviado.
Aplicações Internet
Correio Eletrónico
Transferência de Mensagens
O sistema de transferência de mensagens é responsável por entregar as mensagens do emissor até ao recetor.
SMTP (Simple Mail Transfer Protocol)
User agent (cliente) estabelece uma ligação TCP ao porto 25.
O programa que está à escuta é o Agente de Transferência de Mensagens (MTA). Aceita as chamadas e coloca as mensagens nas caixas de correio dos utilizadores.
Se não for possível entregar a mensagem é enviado um pacote de erro para trás, com parte da mensagem original.
O servidor “fala” primeiro, identificando-se, e mostrando-se disponível. O cliente diz para quem tem correio e de quem vem.
Se houver o destinatário, o servidor diz para que seja enviada a mensagem. No fim envia um reconhecimento.
Aplicações Internet
Correio Eletrónico
Transferência de Mensagens
SMTP
Se uma mensagem fosse para mais do que um destinatário, estas duas trocas iam-se repetindo
SMTP Estendido (ESMTP) Envia EHLO em vez de HELO
O servidor responde com as extensões
Aplicações Internet
Correio Eletrónico
Transferência de Mensagens
Encaminhamento de mensagens de correio eletrónico
O encaminhamento de mensagens é suportado internamente às organizações por gateways de correio eletrónico e externamente pelo DNS (registos MX).
A entrada DNS contém uma lista de servidores de correio para onde devem ser enviadas as mensagens (MX) e os servidores de saída de email (SPF), para facilitar identificação spam.
Exemplo: Envio de uma mensagem do utilizador pfa@fct.unl.pt para pfa@ieee.org, que é
redirecionada para pma@uninova.pt.
O conteúdo das entradas DNS do tipo MX para os dois nomes são: > host -t MX ieee.org
ieee.org mail is handled by 20 hormel.ieee.org. ieee.org mail is handled by 30 lemroh.ieee.org.
> host -t MX uninova.pt
uninova.pt mail is handled by 20 mail.empresas.uninova.pt. uninova.pt mail is handled by 10 nospam.uninova.pt.
fct.unl.pt
Apple Mail
ieee.org uninova.pt
Aplicações Internet
Correio Eletrónico
Transferência de Mensagens
Encaminhamento de mensagens de correio eletrónico Mensagem recebida:
From: Pedro Amaral <pfa@fct.unl.pt> Subject: teste
Data: 24 de Fevereiro de 2012 23:16:33 WET To: Pedro Amaral <pfa@ieee.org>
Return-Path: <SRS0=nu8I7oeA=BC=fct.unl.pt=pfa@srs.ieee.org> Delivered-To: pma@uninova.pt
Received: ….
X-Envelope-From: SRS0=nu8I7oeA=BC=fct.unl.pt=pfa@srs.ieee.org
Received-Spf: neutral (nospam.uninova.pt: 140.98.193.29 is neither permitted nor denied by SPF record at srs.ieee.org) /M: 46/d:7030); 24 Feb 0112 23:16:33 -0000
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit
Message-Id: <80C14D84-6A59-44E1-9027-CFB1D9A099CF@fct.unl.pt> Mime-Version: 1.0 (Apple Message framework v1084) X-Mailer: Apple Mail (2.1084)
X-Canit-Geo: ip=193.136.126.13; country=PT; region=14; city=Lisboa; latitude=38.7167; longitude=-9.1333; http://maps.google.com/maps?q=38.7167,-9.1333&z=6
X-Canitpro-Stream: pfa (inherits from 32_HI_TAG-LO_BLOCK,default) X-Canit-Stats-Id: Bayes signature not available
Aplicações Internet
Correio Eletrónico
Transferência de Mensagens
Encaminhamento de mensagens de correio electrónico
Received: (qmail 17160 invoked from network); 24 Feb 2012 23:26:02 -0000
Received: from nospam.uninova.pt (193.137.127.178) by asterix.uninova.pt with SMTP; 24 Feb 2012 23:26:02 -0000 Received: (qmail 22417 invoked by uid 1000); 24 Feb 2012 23:17:05 -0000
Received: from 140.98.193.29 by nospam (envelope-from <SRS0=nu8I7oeA=BC=fct.unl.pt=pfa@srs.ieee.org>, uid 90) with qmail-scanner-2.01 (clamdscan: 0.93/6807. spamassassin: 3.2.4. Clear:RC:0(140.98.193.29):SA:0(-1.9/5.0):. Processed in 2.825513 secs); 24 Feb 2012 23:17:05 -0000
Received: from leo.ieee.org ([140.98.193.29]) (envelope-sender <SRS0=nu8I7oeA=BC=fct.unl.pt=pfa@srs.ieee.org>) by nospam.uninova.pt (qmail-ldap-1.03) with SMTP for <pfa@uninova.pt>; 24 Feb 2012 23:17:02 -0000
Received: from gemini2.ieee.org (gemini2.ieee.org [140.98.193.187]) by leo.ieee.org (8.13.1/8.13.1/) with ESMTP id q1ONGbdg013157 for <pfa@ieee.org>; Fri, 24 Feb 2012 18:16:38 -0500
Received: from gemini2.ieee.org (gemini2.ieee.org [127.0.0.1]) by postfix.imss70 (Postfix) with ESMTP id 0DE14AC007 for <pfa@ieee.org>; Fri, 24 Feb 2012 18:16:37 -0500 (EST)
Received: from hormel7.ieee.org (hormel7.ieee.org [140.98.193.230]) by gemini2.ieee.org (Postfix) with ESMTP id DD3E5AC004 for <pfa@ieee.org>; Fri, 24 Feb 2012 18:16:36 -0500 (EST)
Received: from smtpout.fct.unl.pt (smtpout.fct.unl.pt [193.136.126.13]) by hormel7.ieee.org (8.13.8/8.13.8/Debian-3+etch1) with ESMTP id q1ONGY8E003973 for <pfa@ieee.org>; Fri, 24 Feb 2012 18:16:36 -0500
Received: (qmail 18639 invoked from network); 24 Feb 2012 23:16:33 -0000
Received: (simscan 1.4.1 ppid 18633 pid 18636 t 0.0200s) (scanners: regex: 1.4.1 attach: 1.4.1 clamav: 0.92.1
Received: from 89-181-33-79.net.novis.pt (HELO [192.168.0.199]) (pfa@[89.181.33.79]) (envelope-sender <pfa@fct.unl.pt>) by smtpout.fct.unl.pt (qmail-ldap-1.03) with AES128-SHA encrypted SMTP for <pfa@ieee.org>; 24 Feb 2012 23:16:33 - 0000
Aplicações Internet
Correio Eletrónico
Entrega no Destinatário
Muitas vezes as máquinas de origem ou destino não podem enviar ou receber mensagens diretamente.
Muitos “end devices” não estão sempre ligados à rede.
Tem de haver servidores de correio que podem enviar e receber mensagens, e os “end devices” têm de comunicar com eles
Aplicações Internet
Correio Eletrónico
Entrega no Destinatário
POP3 (Post Office Protocol) É definido no RFC 1939.
Tem comandos para os utilizadores fazerem “log in”, saírem, buscarem mensagens e apagarem mensagens.
É um protocolo em ASCII parecido com o SMTP.
O POP3 vai buscar mensagens da caixa de correio remota, e guarda-as na máquina local do utilizador
Estabelece-se uma ligação TCP ao porto 110. Depois o protocolo POP3 passa por três estados:
1. Autorização
2. Transações
Aplicações Internet
Correio Eletrónico
Entrega no Destinatário
POP3 (Post Office Protocol)
1. Autorização
2. Transações
Aplicações Internet
Correio Eletrónico
Entrega no Destinatário
IMAP (Interactive Mail Access Protocol) É definido no RFC 3501.
É bom para utilizadores que usam muitos dispositivos de acesso. O servidor mantém um repositório central que pode ser acedido por qualquer máquina.
Não copia as mensagens para a máquina do utilizador
A caixa do correio é relacional – endereça o correio por atributos
e.g. primeira mensagem da Alice.
Outra alternativa
Aplicações Internet
Aplicação
Protocolo de nível
aplicação
Protocolo de transporte
Correio Eletrónico
SMTP, POP3, IMAP
TCP
Transf. de ficheiros
FTP
TCP
Web
HTTP
TCP
Terminal Remoto
Telnet, SSH
TCP
Feixes multimédia
RTP, MPEG, ou propriet.
UDP (ou TCP)
Telefonia IP
SIP, H.323
UDP ou/e TCP
Serviços de nomes
DNS, LDAP (X.500)
UDP ou/e TCP
Serviços peer-to-peer
Proprietário
TCP
Aplicações Internet
FTP (File Transfer Protocol)
O FTP começou a ser usado em 1971. O FTP é um protocolo cliente-servidor (definido no RFC 959) que permite trocar ficheiros com outras máquinas ligadas à Internet.
Um utilizador corre um programa cliente (ftp, browser, etc.), fornecendo um nome de utilizador e palavra de passe, ou ligando-se anonimamente (Nome: anonymous ou ftp com palavra de passe igual ao endereço de correio eletrónico).
A interface de utilizador FTP permite ao utilizador modificar os sistemas de ficheiros local e remoto. Interface utilizador FTP Cliente FTP Servidor FTP Sistema de ficheiros local Sistema de ficheiros remoto Transferência de ficheiros
Aplicações Internet
FTP (File Transfer Protocol)
O protocolo FTP usa sinalização fora de banda.
• Após a autenticação do utilizador, o Cliente FTP cria uma ligação TCP de controlo para
Servidor FTP (no porto 21).
• Por cada ficheiro enviado ou recebido é estabelecida uma ligação TCP com o porto 20 (por
omissão) do servidor, que se desliga após a transferência.
O servidor mantém o estado (diretório remoto atual, ligações ativas, etc.) por cada cliente.
O protocolo FTP define as mensagens trocadas na ligação de controlo. As mensagens são trocadas em modo texto (ASCII com 7 bits).
Cliente FTP Servidor FTP
Ligação TCP de controlo (21) Ligação TCP de dados (20)
Aplicações Internet
FTP (File Transfer Protocol)
Alguns dos comandos do Cliente para o Servidor:
• USER nome_de_utilizador: Enviar a identificação do utilizador;
• PASS palavra_de_passe: Enviar a palavra de passe do utilizador;
• PORT : Define endereço IP e porto para onde devem ser realizadas as ligações;
• LIST: Listar o conteúdo da diretoria remota corrente;
• PASV: Pedido para usar o modo passivo. retorna IP e porto do servidor;
• RETR nome_ficheiro: Pedir o envio do ficheiro ao servidor a partir da diretoria corrente;
• STOR nome_ficheiro: Pedir para guardar o ficheiro no servidor na diretoria corrente.
Existem outros comandos para mudar de diretoria, controlar o formato para envio dos dados, etc. As respostas do Servidor para o Cliente também são enviadas em modo texto. Algumas respostas típicas:
• 125 Data connection already open; transfer starting
• 200 Okay
• 227 Entering Passive Mode A1,A2,A3,A4,a1,a2
• 331 Username OK, password required
• 425 Can't open data connection
Aplicações Internet
Aplicação
Protocolo de nível
aplicação
Protocolo de transporte
Correio Eletrónico
SMTP, POP3, IMAP
TCP
Transf. de ficheiros
FTP
TCP
Web
HTTP
TCP
Terminal Remoto
Telnet, SSH
TCP
Feixes multimédia
RTP, MPEG, ou propriet.
UDP (ou TCP)
Telefonia IP
SIP, H.323
UDP ou/e TCP
Serviços de nomes
DNS, LDAP (X.500)
UDP ou/e TCP
Serviços peer-to-peer
Proprietário
TCP
Aplicações Internet
WWW (World Wide Web)
Introdução
O serviço World-Wide Web ou WWW ou W3 ou Web oferece uma interface gráfica uniforme para um conjunto de serviços (Web na gíria de hipertexto significa um conjunto de ligações (links)). O WWW começou em 1989 no CERN, por proposta de Tim Berners-Lee, para os físicos poderem partilhar documentos.
O primeiro browser com interface gráfico (Mosaic) ficou disponível em Março de 1993. A normalização do WWW é realizada no
âmbito do Consórcio W3 (www.w3.org),
sendo posteriormente publicadas pela IETF. A pressão comercial levou a que a
normalização ocorresse muitas das vezes após o lançamento de produtos com modificações à norma anterior.
O WWW é uma forma de obter informação
Aplicações Internet
WWW (World Wide Web)
Introdução
Recorrendo a saltos e pesquisas em hipertexto, o utilizador navega através de um mundo de informação em parte escrito à mão, e em parte gerado por computador a partir de bases de dados e sistemas de informação existentes.
Como ferramentas de interface com o utilizador, os clientes WWW correm no computador deste, permitindo-lhe aceder à rede através de simples seleções com o rato, enquanto os servidores WWW, normalmente numa máquina completamente diferente, oferecem um método simples de fornecer informação, sobre a forma de ficheiros que são transferidos para a máquina do cliente. O WWW define:
• Um sistema de endereçamento (URL - Uniform Resource Locator), que permite endereçar
vários tipos de objetos acessíveis através vários protocolos, tais como HTTP, FTP, telnet, etc;
• Um protocolo de nível aplicação (HTTP - Hypertext Transfer Protocol) oferecido pelos
servidores WWW genuínos para transferência de ficheiros entre clientes e servidores;
• Uma linguagem de hipertexto com marcas de formatação (HTML - Hypertext Markup
Language) que todos os clientes WWW devem entender, e que é usada para a transmissão de
Aplicações Internet
WWW (World Wide Web)
URLs (Uniform Resource Locators)
Um URL começa por definir o protocolo, seguindo-se informação dependente do protocolo que inclui na maior parte dos casos o nome da máquina, o porto e o caminho para o objeto.
WWW Autenticado:
http://user@www.demo.pt:8000/servlet?x=ola FTP Autenticado:
ftp://user:passwd@ftp.dee.fct.unl.pt
Os URLs têm um problema: definem explicitamente a localização dos recursos na rede um host, muitas páginas e aplicações estão replicadas em vários hosts.
Os URLs foram generalizados para URI (Identifiers), que incluem URLs e URNs – Uniform Resource
Names
URN introduz nomes independentes do endereço do servidor, que são resolvidos no DNS para o nome de um servidor.
Aplicações Internet
WWW (World Wide Web)
O lado do cliente
O cliente realiza o carregamento de ficheiros a partir de um servidor encontrado através de um URI e apresenta os ficheiros recebidos.
http://tele1.dee.fct.unl.pt/rit2_2013_2014/pages/default.html
1. Usa o DNS para resolver tele1.dee.fct.unl.pt obtendo o endereço IP associado: 193.136.127.217
2. Cria uma ligação TCP para o porto 80 (associado a http)
3. Envia através da ligação o pedido HTTP para /rit2_2011_2012/pages/default.html
4. O servidor devolve o ficheiro com a página; como incluí outros URLs o browser descarrega os
restantes ficheiros (imagens, etc.) através de várias ligações TCP em paralelo.
5. O browser apresenta a página.
Aplicações Internet
WWW (World Wide Web)
O lado do cliente
A resposta inclui o tipo de dados MIME associado ao conteúdo transmitido, que é usado para selecionar o visualizador.
Há tipos que são suportados nativamente: text/html, image/gif, etc.
Caso o browser não suporte algum tipo de dados, pode recorrer a um plug-in (a) (e.g. Acrobat PDF
Reader para application/pdf) ou a uma aplicação externa (e.g. MS Word para application/msword).
Para o tipo application/octet-stream ou outro tipo sem nenhuma aplicação associada o browser pergunta ao utilizador pelo visualizador.
Alguns browsers usam o nome do ficheiro para selecionar o visualizador em vez do tipo MIME.