Você está na página 1de 19

DepartamentoDepartamento dede EngenhariaEngenharia dede TelecomunicaçõesTelecomunicações -- UFFUFF

ComunicaçãoComunicação dede DadosDados IVIV

DisciplinaDisciplina:: Comunicação de Dados IV

ProtocolosProtocolos dede NívelNível dede AplicaçãoAplicação

ComunicaçãoComunicação dede DadosDados IVIV

AplicaçãoAplicação TransporteTransporte RedeRede EnlaceEnlace FísicaFísica
AplicaçãoAplicação
TransporteTransporte
RedeRede
EnlaceEnlace
FísicaFísica

Incorporam a funcionalidade das camadas de Sessão, Apresentação e Aplicação do modelo OSI As aplicações trocam dados através dos serviços providos pela camada de transporte Utilizam em grande parte o paradigma cliente-servidor e a interação por troca de mensagens

Clientes solicitam serviços

Servidores atendem os pedidos de serviço solicitados

ProtocolosProtocolos dede NívelNível dede AplicaçãoAplicação TCP/IPTCP/IP

ComunicaçãoComunicação dede DadosDados IVIV

Resolução de Nomes

DNS (Domain Name System)

Transferência de arquivos e documentos

FTP (File Transfer Protocol)

TFTP (Trivial FTP)

HTTP (HyperText Transfer Protocol)

NFS (Network File System)

Emulação de terminal

TELNET

RLOGIN

Correio Eletrônico

SMTP (Simple Mail Transfer Protocol)

POP (Post Office Protocol)

IMAP (Internet Message Access Protocol)

Gerência

SNMP (Simple Network Management Protocol)

DNSDNS Domain Domain Name Name System System
DNSDNS
Domain Domain
Name Name
System System

DNSDNS

ComunicaçãoComunicação dede DadosDados IVIV

Utilização de uma estrutura hierárquica para mapear nomes em recursos

máquinas (end. IP), caixas de correio, servidores, …

Um nome é um conjunto de rótulos separados por “.”

Em um nome, cada nível de hierarquia é descrito por um sufixo (conjunto de rótulos) precedido de “.”

Nomes são case-insensitive (edu ou EDU ou Edu)

Exemplos de nomes no DNS:

odeon.csd.nasa.gov

mail.iis.com.br

www.cursos.telemidia.puc-rio.br

1o.1o. nívelnível

– www.cursos.telemidia.puc-rio.br 1o. 1o. nível nível 2o. 2o. nível nível Nomes Nomes Hierárquicos

2o.2o. nívelnível

NomesNomes HierárquicosHierárquicos

ComunicaçãoComunicação dede DadosDados IVIV

Domínio é um conjunto de rótulos que especifica um nome. Ex.: serv1.acme.com.br Cada rótulo tem no máximo 63 caracteres e nomes completos 255 Um domínio é responsável por uma parte do espaço de nomes (espaço que define todos os nomes possíveis no DNS)

acme.com.br, com.br, br também são domínios

A responsabilidade pelas partes do espaço de nomes é delegada entre domínios

Domínio principal: “ “ (branco), “.” (raiz) Domínios secundários: com, gov, net, br, fr, uk, Domínios terciários: nasa.gov, puc-rio.br, com.br, net.br, co.uk, co.jp,

NomesNomes dede DomínioDomínio

ComunicaçãoComunicação dede DadosDados IVIV root uk . . . edu com net org gov mil
ComunicaçãoComunicação dede DadosDados IVIV
root
uk
.
.
.
edu
com
net
org
gov
mil
br
MIT
UCLA
uff
com
midiacom
telecom
icad
acme
icarai.midiacom.uff.br
adm
icarai
itaipu
itacoatiara
marlin
rh
fin
rh.adm.acme.com.br

DNSDNS

ComunicaçãoComunicação dede DadosDados IVIV

DNS abrange:

as regras de sintaxe para os nomes de domínio e a delegação de autoridade sobre nomes

o mecanismo de mapeamento de nomes em end. IP

DNS é implementado como um sistema distribuído

Paradigma cliente-servidor (servidor na porta TCP 53 e UDP 53)

Resolução de nomes usa UDP

Replicação da base de dados em servidores secundários usa TCP

DNS possui três componentes:

Base de dados distribuída

Servidores de nomes

Clientes (resolvedores)

OrganizaçãoOrganização dodo DNSDNS

ComunicaçãoComunicação dede DadosDados IVIV

Nomes são completamente independentes da organização de redes físicas e de endereços IP

É possível ter:

mais de uma rede em um mesmo domínio

Uma rede com máquinas em domínios diferentes

mais de um nome para uma mesma máquina (podendo ser nomes de domínios diferentes)

ExemploExemplo dede OrganizaçãoOrganização dodo DNSDNS

ComunicaçãoComunicação dede DadosDados IVIV

139.82.17.64139.82.17.64 255.255.255.192255.255.255.192 RR 139.82.17.0139.82.17.0 255.255.255.192255.255.255.192
139.82.17.64139.82.17.64
255.255.255.192255.255.255.192
RR
139.82.17.0139.82.17.0
255.255.255.192255.255.255.192
maq1.tm.maq1.tm.pucpuc--riorio brbr

maq1.les.inf.maq1.les.inf.pucpuc--riorio brbr maq2.les.inf.maq2.les.inf.pucpuc--riorio brbr

root br puc-rio inf tm les maq1 tg maq1 maq1 maq2 maq1 maq2
root
br
puc-rio
inf
tm
les
maq1
tg
maq1
maq1
maq2
maq1
maq2

maq1.inf.maq1.inf.pucpuc--riorio brbr

maq1.maq1.tgtg.inf inf.pucpuc--riorio brbr

maq2.maq2.tgtg.inf inf.pucpuc--riorio brbr

ResourceResource RecordsRecords

ComunicaçãoComunicação dede DadosDados IVIV

Tipos mais importantes: A e MX

de de Dados Dados IV IV Tipos mais importantes: A e MX The principal DNS resource

The principal DNS resource records types.

ResourceResource RecordsRecords (2)(2)

ComunicaçãoComunicação dede DadosDados IVIV

(2) Comunicação Comunicação de de Dados Dados IV IV Exemplos de registros de uma base de

Exemplos de registros de uma base de dados de DNS para cs.vu.nl.

ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

Clientes podem fazer dois tipos de consulta:

recursiva: servidor de nomes se encarrega da consulta (mais comum)

não-recursiva: clientes realizam a consulta a cada servidor

Servidores também podem fazer os dois tipos de consulta

• Mais comum a não-recursiva servidorservidor locallocal APAP resolverresolver outrosoutros servidoresservidores
• Mais comum a não-recursiva
servidorservidor
locallocal
APAP
resolverresolver
outrosoutros
servidoresservidores
servidorservidor
locallocal
APAP
resolverresolver
outrosoutros
servidoresservidores

ExemploExemplo dede ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

NS2NS2 comcom brbr orgorg NS3NS3 acmeacme comcom pucpuc ???????????????????? NS1NS1 acmeacme telemidiatelemidia
NS2NS2
comcom
brbr
orgorg
NS3NS3
acmeacme
comcom
pucpuc
????????????????????
NS1NS1
acmeacme
telemidiatelemidia
NS4NS4
wwwwww
resolverresolver
odeonodeon
www.acme.com.www.acme.com.brbr??

ExemploExemplo dede ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

NS2NS2 comcom brbr orgorg NS3NS3 acmeacme comcom pucpuc NS1NS1 acmeacme telemidiatelemidia NS4NS4 wwwwww
NS2NS2
comcom
brbr
orgorg
NS3NS3
acmeacme
comcom
pucpuc
NS1NS1
acmeacme
telemidiatelemidia
NS4NS4
wwwwww
resolverresolver
odeonodeon

ExemploExemplo dede ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

NS2NS2 comcom brbr orgorg NS3NS3 acmeacme comcom pucpuc NS1NS1 acmeacme telemidiatelemidia NS4NS4 wwwwww
NS2NS2
comcom
brbr
orgorg
NS3NS3
acmeacme
comcom
pucpuc
NS1NS1
acmeacme
telemidiatelemidia
NS4NS4
wwwwww
resolverresolver
odeonodeon

ExemploExemplo dede ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

NS2NS2 comcom brbr orgorg NS3NS3 acmeacme comcom pucpuc NS1NS1 acmeacme telemidiatelemidia NS4NS4 wwwwww
NS2NS2
comcom
brbr
orgorg
NS3NS3
acmeacme
comcom
pucpuc
NS1NS1
acmeacme
telemidiatelemidia
NS4NS4
wwwwww
resolverresolver
odeonodeon

ExemploExemplo dede ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

NS2NS2 comcom brbr orgorg NS3NS3 acmeacme comcom pucpuc NS1NS1 acmeacme telemidiatelemidia NS4NS4 wwwwww
NS2NS2
comcom
brbr
orgorg
NS3NS3
acmeacme
comcom
pucpuc
NS1NS1
acmeacme
telemidiatelemidia
NS4NS4
wwwwww
resolverresolver
odeonodeon

ExemploExemplo dede ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

NS2NS2 comcom brbr orgorg NS3NS3 acmeacme comcom pucpuc NS1NS1 acmeacme telemidiatelemidia NS4NS4 wwwwww
NS2NS2
comcom
brbr
orgorg
NS3NS3
acmeacme
comcom
pucpuc
NS1NS1
acmeacme
telemidiatelemidia
NS4NS4
wwwwww
resolverresolver
odeonodeon

ExemploExemplo dede ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

NS2NS2 comcom brbr orgorg NS3NS3 acmeacme comcom pucpuc NS1NS1 acmeacme telemidiatelemidia NS4NS4 wwwwww
NS2NS2
comcom
brbr
orgorg
NS3NS3
acmeacme
comcom
pucpuc
NS1NS1
acmeacme
telemidiatelemidia
NS4NS4
wwwwww
resolverresolver
odeonodeon

ExemploExemplo dede ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

NS2NS2 comcom brbr orgorg NS3NS3 acmeacme comcom pucpuc NS1NS1 acmeacme telemidiatelemidia NS4NS4 wwwwww
NS2NS2
comcom
brbr
orgorg
NS3NS3
acmeacme
comcom
pucpuc
NS1NS1
acmeacme
telemidiatelemidia
NS4NS4
wwwwww
resolverresolver
odeonodeon

wwwwww ==

200.18.1.1200.18.1.1

ExemploExemplo dede ResoluçãoResolução dede NomesNomes

ComunicaçãoComunicação dede DadosDados IVIV

NS2NS2 comcom brbr orgorg NS3NS3 acmeacme comcom pucpuc NS1NS1 acmeacme telemidiatelemidia NS4NS4 wwwwww
NS2NS2
comcom
brbr
orgorg
NS3NS3
acmeacme
comcom
pucpuc
NS1NS1
acmeacme
telemidiatelemidia
NS4NS4
wwwwww
resolverresolver
odeonodeon

wwwwww ==

200.18.1.1200.18.1.1

ExemploExemplo dede ResoluçãoResolução dede NomesNomes ((ResumoResumo))

ComunicaçãoComunicação dede DadosDados IVIV

Cliente requisita mapeamento ao seu resolvedor

Ex. resolução de www.acme.com.br, tipo A, a partir da máquina odeon.telemidia.puc-rio.br

Resolvedor consulta servidor de DNS do seu domínio

domínio .telemidia.puc-rio.br (servidor NS1)

Não possuindo a informação, servidor NS1 consulta o servidor do domínio “ ” - ROOT SERVER - (servidor NS2) Servidor NS2 informa ao servidor NS1 o servidor do domínio .br (servidor NS3) Servidor NS3 também é servidor do domínio .com.br, por isso já informa ao servidor NS1 o servidor do domínio .acme.com.br (servidor NS4) Servidor NS1 consulta servidor NS4 e retorna ao resolvedor o endereço IP de www.acme.com.br (200.18.1.1)

ExemploExemplo dede ResoluçãoResolução dede NomesNomes ((UsoUso dede Cache)Cache)

ComunicaçãoComunicação dede DadosDados IVIV

Servidor do domínio telemidia.puc-rio.br mapeou

endereço IP de www.acme.com.br

Durante o processo, foram armazenados no cache desse servidor informações a respeito

dos servidores de .br, .com.br e .acme.com.br, além do end. IP de www.acme.com.br

Se um resolvedor nesse domínio pedir o end. IP de aloha.acme.com.br, o servidor desse domínio não precisa iniciar a consulta a partir do ROOT SERVER, mas sim a partir do

servidor de .acme.com.br

DNSDNS

ComunicaçãoComunicação dede DadosDados IVIV

Os servidores que definem uma validade em cache (TTL) de seus registros de recursos em outros servidores

default: 2 dias

A escolha do endereço IP do servidor raiz é feita usando round robin entre os endereços existentes (atualmente são 13 máquinas espalhadas pelo mundo)

NameName ServersServers

ComunicaçãoComunicação dede DadosDados IVIV

Comunicação Comunicação de de Dados Dados IV IV • Parte do espaço de nomes DNS mostrando

Parte do espaço de nomes DNS mostrando a divisão em zonas.

Uma zona representa uma parte da árvore e o conjunto de servidores com informações sobre a zona

NameName ServersServers (2)(2)

ComunicaçãoComunicação dede DadosDados IVIV

(2) Comunicação Comunicação de de Dados Dados IV IV How a resolver looks up a remote

How a resolver looks up a remote name in eight steps (linda.cs.yale.edu??).

Correio Correio Eletrônico Eletrônico
Correio Correio
Eletrônico Eletrônico

ArquiteturaArquitetura dosdos SistemasSistemas dede CorreioCorreio EletrônicoEletrônico

ComunicaçãoComunicação dede DadosDados IVIV Usuário Usuário UAUA mensagemmensagem ((cabeçalhocabeçalho ++
ComunicaçãoComunicação dede DadosDados IVIV
Usuário
Usuário
UAUA
mensagemmensagem
((cabeçalhocabeçalho ++ conteúdoconteúdo))
UAUA
CaixasCaixas
PostaisPostais
MTAMTA
MTAMTA
MTAMTA
envelopeenvelope ++ mensagemmensagem
Sistema de
Transferência de

ComponenteComponente MTAMTA (Message(Message TransferTransfer Agent)Agent) ComponenteComponente UAUA (User(User Agent)Agent)

Mensagens

ComponentesComponentes dede umum SistemaSistema dede CorreioCorreio EletrônicoEletrônico

ComunicaçãoComunicação dede DadosDados IVIV

UA - User Agent:

permite composição, envio e recebimento de mensagens

permite manipular caixas postais

MTA - Message Transfer Agent:

encaminha mensagem até o destinatário com base nas informações do envelope usando o protocolo SMTP

IdentificaçãoIdentificação dodo DestinatárioDestinatário

ComunicaçãoComunicação dede DadosDados IVIV

Destino da mensagem é identificado por:

o nome da máquina de destino (domain-name) e

a caixa postal do usuário de destino (local-part)

local-part@domain-name

Exemplo: joao@acme.com.br

Existe um registro especial no servidor DNS (MX) para possibilitar a resolução do nome da máquina de destino (servidor de mails) em endereço IP

TheThe UserUser AgentAgent

ComunicaçãoComunicação dede DadosDados IVIV

Agent Comunicação Comunicação de de Dados Dados IV IV Envelopes and messages. (a) Paper mail. (b)

Envelopes and messages. (a) Paper mail. (b) Electronic mail.

FormatoFormato dede Mensagem:Mensagem: RFCRFC 822822

ComunicaçãoComunicação dede DadosDados IVIV

Cabeçalho seguido de linha em branco e corpo da msg

To:

Destinatários principais

Cc:

Destinatários em cópia

Bcc:

Destinatários em

cópia invisível

From:

Criador da mensagem

Received:

Adicionado por MTAs no caminho

Date:

Data e hora do envio da mensagem

Reply-To:

E-mail para enviar respostas

References:

Outros identificadores relevantes

Subject:

Descrição do assunto da mensagem

Exemplo de msg

Date: Wed, 29 Nov 1999 18:49:35 -200 (EDT) From: Joao da Silva <joao@acme.com.br> To: Antonio Tadeu Azevedo Gomes <atagomes@telemidia.puc-rio.br> Cc: l-tcpip@engenho.com.br Subject: Teste de e-mail

Testando e-mail

FormatoFormato dede MensagemMensagem:: RFCRFC 822822

ComunicaçãoComunicação dede DadosDados IVIV

Envelope: linhas inseridas no cabeçalho pelos MTAs

Exemplo de msg “envelopada”:

Received: from acme.com.br (mail.acme.com.br [200.250.30.3]) by telemidia.puc-rio.br (8.8.8+Sun/8.8.8) with ESMTP id TAA16860 for <atagomes@telemidia.puc-rio.br>; Wed, 29 Nov 1999 19:32:57 -200 (EDT) Received: from modem1.acme.com.br [200.250.28.1] by acme.com.br with SMTP (Eudora Internet Mail Server 1.2) id LAA04471; Wed, 29 Nov 1999 18:50:01 - 200 (EDT) Date: Wed, 29 Nov 1999 18:49:35 -200 (EDT) From: Joao da Silva <joao@acme.com.br> To: Antonio Tadeu Azevedo Gomes <atagomes@telemidia.puc-rio.br> Cc: l-tcpip@engenho.com.br Subject: Teste de e-mail

Testando e-mail

ProtocoloProtocolo SMTPSMTP

ComunicaçãoComunicação dede DadosDados IVIV

Protocolo textual para comunicação entre MTAs

Utiliza padrão ASCII de 7 bits

servidor SMTP usa porta TCP 25

CabeçalhoCabeçalho (RFC(RFC 822)822) ++ CorpoCorpo dada MensagemMensagem

SMTPSMTP serverserver (relay)(relay)
SMTPSMTP
serverserver
(relay)(relay)
da Mensagem Mensagem SMTPSMTP serverserver (relay)(relay) SMTPSMTP receiverreceiver (25)(25) ((servidorservidor))
da Mensagem Mensagem SMTPSMTP serverserver (relay)(relay) SMTPSMTP receiverreceiver (25)(25) ((servidorservidor))
SMTPSMTP receiverreceiver (25)(25) ((servidorservidor))
SMTPSMTP
receiverreceiver
(25)(25)
((servidorservidor))

SMTPSMTP

sendersender

((clientecliente))

SMTPSMTP sendersender ((clientecliente)) (25) (25) Envelope Envelope (RFC (RFC 822) 822) + +

(25)(25)

EnvelopeEnvelope (RFC(RFC 822)822) ++ MensagemMensagem

Sistemas de correio que usam entrega fim-a-fim garantem que a mensagem permanece armazenada na máquina transmissora até que ela seja copiada com sucesso para a máquina receptora.

PrincipaisPrincipais ComandosComandos SMTPSMTP

ComunicaçãoComunicação dede DadosDados IVIV

HELO <domain> - identifica o cliente SMTP MAIL FROM: <remetente@domínio> - Identifica o originador RCPT TO: <destino@domínio> - Identifica o destinatário DATA - Início dos dados, terminados por uma linha com um “.” VRFY <nome> - Confirma a existência do usuário <nome> TURN - Reverte papéis e permite ao destino enviar mensagens QUIT - Termina a conexão SMTP

PrincipaisPrincipais RespostasRespostas SMTPSMTP

ComunicaçãoComunicação dede DadosDados IVIV

220 - Serviço pronto 221 - Encerrando conexão 250 - Ação completada corretamente 354 - Inicie entrada da mensagem 500, 501 - Erro de sintaxe 502 - Comando não implementado

ProtocoloProtocolo SMTPSMTP

ComunicaçãoComunicação dede DadosDados IVIV

… (abertura de conexão TCP com servidor mail.acme.com.br)

220 mail.acme.com.br Eudora Internet Mail Server 1.2 ready

>>> HELO maq1.acme.com.br

250 mail.acme.com.br Hello maq1.acme.com.br, pleased to meet you

>>> MAIL From: joao@acme.com.br

250 <joao@acme.com.br> Sender OK

>>> RCPT To: atagomes@telemidia.puc-rio.br

250 <atagomes@telemidia.puc-rio.br> Recipient OK

>>> RCPT To: l-tcpip@engenho.com.br

250 <l-tcpip@engenho.com.br> Recipient OK

>>> DATA

354 Enter mail, end with “.” on a line by itself

>>> [ cabeçalho + conteúdo ] >>> .

250 Mail accepted

>>> QUIT

221 mail.acme.com.br closing connection

… (encerramento de conexão TCP)

UAUA clientecliente SMTPSMTP

maq1.acme.com.brmaq1.acme.com.br

cliente SMTP SMTP maq1.acme.com.br maq1.acme.com.br MTA servidor SMTP mail.acme.com.br Protocolo Protocolo

MTA servidor SMTP mail.acme.com.br

maq1.acme.com.br MTA servidor SMTP mail.acme.com.br Protocolo Protocolo SMTP SMTP Comunicação Comunicação

ProtocoloProtocolo SMTPSMTP

ComunicaçãoComunicação dede DadosDados IVIV

… (abertura de conexão TCP com

servidor telemidia.puc-rio.br)

220 telemidia.puc-rio.br Sendmail 8.8.5 ready

>>> HELO mail.acme.com.br

250 telemidia.puc-rio.br Hello mail.acme.com.br, pleased to meet you

>>> MAIL From: joao@acme.com.br

250 <joao@acme.com.br> Sender OK

>>> RCPT To: atagomes@telemidia.puc-rio.br

250 <atagomes@telemidia.puc-rio.br> Recipient OK

>>> DATA

354 Enter mail, end with “.” on a line by itself

>>> [ cabeçalho + conteúdo ] >>> .

250 Mail accepted

>>> QUIT

221 telemidia.puc-rio.br closing connection

… (encerramento de conexão TCP)

MTA cliente SMTP mail.acme.com.br

de conexão TCP) MTA cliente SMTP mail.acme.com.br MTA servidor SMTP telemidia.puc-rio.br Características

MTA servidor SMTP telemidia.puc-rio.br

mail.acme.com.br MTA servidor SMTP telemidia.puc-rio.br Características Características do do SMTP SMTP

CaracterísticasCaracterísticas dodo SMTPSMTP

ComunicaçãoComunicação dede DadosDados IVIV

RFC 821 define que SMTP só suporta caracteres ASCII de 7 bits

Não suporta caracteres acentuados, arquivos binários,

Como transportar outros formatos?

MIMEMIME

(Multi(Multi--PurposePurpose InternetInternet MailMail Extensions)Extensions) -- RFCRFC 15211521

ComunicaçãoComunicação dede DadosDados IVIV

MIME estende SMTP especificando:

Novos campos para o cabeçalho RFC 822

Novos formatos de conteúdo

Técnicas de codificação desses formatos em ASCII 7 bits

Principais campos MIME

MIME-Version:

Identifica a versão MIME

Content-Description:

Descreve o conteúdo da mensagem

Content-Id:

Identificador único

Content-Transfer-Encoding:

Como o corpo é codificado para TX

Content-Type:

Tipo da mensagem

Funcionamento básico:

UA remetente acrescenta campos MIME ao cabeçalho da msg, identificando mídia e codificação usada

UA destino usa campos para recuperar conteúdo (decodificação)

SMTP não toma conhecimento do uso de MIME

MIMEMIME

ComunicaçãoComunicação dede DadosDados IVIV

Alguns tipos de mensagem:

text/plain: texto sem formatação (ASCII ou ISO 8859)

image/gif, image/jpeg, video/mpeg

multipart/mixed: permite envio de submensagens

application/octet-stream: arquivos genéricos

Algumas codificações:

Texto: 7-bit (ASCII), 8-bit, quoted-printable

Binário: base64, user-defined

ArquivoArquivo 001000001000 110101110101 110010110010 010001010001 originaloriginal CodificaçãoCodificação
ArquivoArquivo
001000001000
110101110101
110010110010
010001010001
originaloriginal
CodificaçãoCodificação
base64base64
B64B64
B64B64
B64B64
B64B64
0100100001001000
0011010100110101
0011001000110010
0101000101010001
“H”“H”
“5”“5”
“2”“2”
“Q”“Q”

EnviadoEnviado

pelopelo SMTPSMTP

SubmensagensSubmensagens MIMEMIME

ComunicaçãoComunicação dede DadosDados IVIV

Date: Wed, 29 Nov 1999 18:49:35 -200 (EDT) From: Joao da Silva <joao@acme.com.br> To: Antonio Tadeu Azevedo Gomes <atagomes@telemidia.puc-rio.br> MIME-Version: 1.0 Content-Type: multipart/mixed; Boundary=0011separator Subject: Teste de e-mail

--0011separator

Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable

S=F3 testando e-mail com acentua=E7=A5o.

MensagemMensagem Mensagem “ “ Só Só testando testando e e - - mail mail com com acentuação testandotestando ee--mailmail comcom acentuaçãoacentuação.”.” codificadocodificado emem quotedquoted--printableprintable

--0011separator

Content-Type: application/octet-stream; name=“relat.doc” Content-Transfer-Encoding: base64

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAAAAAPgADAP7

/////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

--0011separator

/////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --0011separator Arquivo Arquivo “ “ relat relat .doc” .doc”

ArquivoArquivo relatrelat.doc”.doc”

codificadocodificado emem basebase 6464

ArquiteturaArquitetura dodo UAUA emem TCP/IPTCP/IP

ComunicaçãoComunicação dede DadosDados IVIV

Serv. HTTP
Serv.
HTTP
Programa CGI, Java, ASP,

Programa CGI,

Java, ASP,

Programa CGI, Java, ASP,
Dados Dados IV IV Serv. HTTP Programa CGI, Java, ASP, browser browser Web Web CLNCLN SRVSRV

browserbrowser

WebWeb

CLNCLN SRVSRV UAUA POP3POP3 IMAP4IMAP4
CLNCLN
SRVSRV
UAUA
POP3POP3
IMAP4IMAP4

mailbox

Web Web CLNCLN SRVSRV UAUA POP3POP3 IMAP4IMAP4 mailbox UAUA mailbox mailbox Browser Web (ex.: webmail)
Web Web CLNCLN SRVSRV UAUA POP3POP3 IMAP4IMAP4 mailbox UAUA mailbox mailbox Browser Web (ex.: webmail)
UAUA mailbox
UAUA
mailbox
SRVSRV UAUA POP3POP3 IMAP4IMAP4 mailbox UAUA mailbox mailbox Browser Web (ex.: webmail) Compartilhamento de

mailbox

Browser Web (ex.: webmail)

Compartilhamento de arquivos (ex.: Unix, …)

Cliente-servidor (ex.: Netscape Messenger, Microsoft Outlook, Eudora,

SMTP é usado somente para envio de mails. Para recuperar mensagens armazenadas na mailbox são usados outros protocolos (POP, IMAP)

WWWWWW World World Wide Wide Web Web
WWWWWW
World World
Wide Wide
Web Web

WWWWWW

ComunicaçãoComunicação dede DadosDados IVIV

WWW Comunicação Comunicação de de Dados Dados IV IV Aplicação Transporte Inter-rede Rede exemplo de
Aplicação Transporte Inter-rede Rede
Aplicação
Transporte
Inter-rede
Rede
Dados Dados IV IV Aplicação Transporte Inter-rede Rede exemplo de aplicação TCP/IP utiliza o serviço confiável
Dados Dados IV IV Aplicação Transporte Inter-rede Rede exemplo de aplicação TCP/IP utiliza o serviço confiável
Dados Dados IV IV Aplicação Transporte Inter-rede Rede exemplo de aplicação TCP/IP utiliza o serviço confiável

exemplo de aplicação TCP/IP

utiliza o serviço confiável da camada de transporte (TCP)

baseada no paradigma cliente/servidor

ArquiteturaArquitetura WWWWWW

ComunicaçãoComunicação dede DadosDados IVIV

Aplicação

Cliente WWW Transporte Inter-rede Rede
Cliente
WWW
Transporte
Inter-rede
Rede
Servidor WWW Transporte Inter-rede Rede
Servidor
WWW
Transporte
Inter-rede
Rede

requisição

Inter-rede
Inter-rede

Aplicação

ArquiteturaArquitetura WWWWWW

ComunicaçãoComunicação dede DadosDados IVIV

Aplicação

Cliente WWW Transporte Inter-rede Rede
Cliente
WWW
Transporte
Inter-rede
Rede
Servidor WWW Transporte Inter-rede Rede
Servidor
WWW
Transporte
Inter-rede
Rede

resposta

Inter-rede
Inter-rede

Aplicação

ArquiteturaArquitetura WWWWWW

ComunicaçãoComunicação dede DadosDados IVIV

HTTP Cliente Servidor Aplicação Aplicação WWW WWW TCP Transporte Transporte IP Inter-rede Inter-rede
HTTP
Cliente
Servidor
Aplicação
Aplicação
WWW
WWW
TCP
Transporte
Transporte
IP
Inter-rede
Inter-rede
Rede 1
Rede 2
Rede
Rede
Inter-rede

ConceitosConceitos BásicosBásicos nana WebWeb

ComunicaçãoComunicação dede DadosDados IVIV

Como identificar os recursos (documentos)?

URL (Uniform Resource Locator)

Como recuperar um documento?

HTTP (HyperText Transfer Protocol)

Como definir o formato do conteúdo dos documentos?

HTML (HyperText Markup Language)

ExemploExemplo dede URLURL

ComunicaçãoComunicação dede DadosDados IVIV

URL Comunicação Comunicação de de Dados Dados IV IV Parte específica ao esquema

Parte específica ao esquema

de de Dados Dados IV IV Parte específica ao esquema http://www.telemidia.puc-rio.br/index.html Esquema

http://www.telemidia.puc-rio.br/index.html

Esquema

Especifica o protocolo usado para transferência

Localiza o recurso (documento) desejado

URLURL parapara esquemaesquema HTTPHTTP

ComunicaçãoComunicação dede DadosDados IVIV

Sintaxe

“http://” host [“:”port] “/” [path [“?” query ]]

Exemplos de URL (esquema HTTP)

http://www.dimap.ufrn.br:80/~sbmidia2000/

http://www.telemidia.puc-rio.br/index.html

http://www.altavista.com/cgi-

bin/query?q=client%2Fserver

http://139.82.95.14/index.html

HyperText HyperText HTTP HTTP Transfer Transfer Protocol Protocol

HyperTextHyperText

HyperText HyperText HTTP HTTP Transfer Transfer Protocol Protocol

HTTPHTTP

Transfer Transfer

Protocol Protocol

HyperText HyperText HTTP HTTP Transfer Transfer Protocol Protocol

HTTPHTTP

ComunicaçãoComunicação dede DadosDados IVIV

Protocolo mais utilizado na Internet, na atualidade

Objetivo original

capacidade de recuperar de um servidor, documentos simples baseados na mídia texto

protocolo textual leve e rápido

Utiliza um serviço de transporte confiável, orientado a conexão (TCP), onde o servidor HTTP usa a porta TCP 80

HTTPHTTP

ComunicaçãoComunicação dede DadosDados IVIV

Baseado em um modelo simples de arquitetura cliente-servidor

requisição/resposta

Protocolo sem estado: o servidor não mantém registro de requisições e respostas anteriores

Permite transferências bidirecionais

suporte para caching no cliente

suporte para intermediários na comunicação (proxy server)

HTTPHTTP

ComunicaçãoComunicação dede DadosDados IVIV

Versões anteriores: HTTP/0.9, HTTP/1.0

obrigam o uso de uma nova conexão TCP para cada requisição/resposta

Última versão HTTP/1.1 - janeiro de 1997 (RFC 2068, RFC 2616) Principais modificações em relação a versão 1.0:

Melhora o modelo de uma conexão por requisição/resposta

HTTP persistente (P-HTTP): mantém uma conexão aberta durante várias requisições para um mesmo servidor

campo Host no cabeçalho

permite múltiplos hosts em um mesmo endereço IP (virtual hosts)

obrigatório (código de erro na sua ausência)

MensagensMensagens HTTP/1.0HTTP/1.0

MensagensMensagens HTTP/1.0HTTP/1.0

ComunicaçãoComunicação dede DadosDados IVIV

ComunicaçãoComunicação dede DadosDados IVIV HTTP/1.0 200 OK Server: Microsoft-IIS/3.0 Date: Thu, 01 Jun 2000
ComunicaçãoComunicação dede DadosDados IVIV
HTTP/1.0 200 OK
Server: Microsoft-IIS/3.0
Date: Thu, 01 Jun 2000 18:29:26 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Mon, 10 Aug 1998 21:03:04 GMT
Content-Length: 646
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 3.2//EN”>
<HTML>
… GET /index.html HTTP/1.0 </HTML> Cliente Servidor Cliente Servidor WWW WWW WWW WWW Rede Rede
GET /index.html HTTP/1.0
</HTML>
Cliente
Servidor
Cliente
Servidor
WWW
WWW
WWW
WWW
Rede
Rede
MensagensMensagens HTTP/1.1HTTP/1.1
MensagensMensagens HTTP/1.1HTTP/1.1
ComunicaçãoComunicação dede DadosDados IVIV
ComunicaçãoComunicação dede DadosDados IVIV
HTTP/1.1 200 OK
Date: Thu, 18 May 2000 18:41:46 GMT
Server: Apache/1.3.9 (Unix) (Red Hat/Linux)
Last-Modified: Tue, 21 Sep 1999 14:46:36 GMT
Etag: “31282-799-37e79a4c”
Accept-Ranges: bytes
Content-Length: 1945
Content-Type: text/html
GET /index.html HTTP/1.1
Host: portela.telemidia.puc-rio.br
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 3.2
Final//EN”>
<HTML>
</HTML>
Cliente
Servidor
Cliente
Servidor
WWW
WWW
WWW
WWW
Rede
Rede

CríticasCríticas aoao HTTPHTTP

ComunicaçãoComunicação dede DadosDados IVIV

Sem estado

requisições em paralelo numa mesma conexão precisam ser enfileiradas

Implementação integral complexa

Fundamentado no TCP como protocolo de transporte

Requisições em um único sentido

Ausência de um padrão para definição de extensões

WWWWWW

Comunicação de Dados Comunicação de Dados IV IV imperatriz 139.82.95.14 Servidor DNS
Comunicação de Dados
Comunicação de Dados
IV IV
imperatriz 139.82.95.14
Servidor
DNS
de Dados IV IV imperatriz 139.82.95.14 Servidor DNS Cliente Rede Servidor HTTP
Cliente Rede
Cliente
Rede

Servidor

HTTP

http://imperatriz.telemidia.puc-rio.br/index.html

WWWWWW

Comunicação de Dados Comunicação de Dados IV IV imperatriz 139.82.95.14 Host: Servidor
Comunicação de Dados
Comunicação de Dados
IV IV
imperatriz 139.82.95.14
Host:
Servidor
imperatriz.telemidia.puc-rio.br
DNS
Host: Servidor imperatriz.telemidia.puc-rio.br DNS Cliente Rede Servidor HTTP
Cliente Rede
Cliente
Rede

Servidor

HTTP

http://imperatriz.telemidia.puc-rio.br/index.html

WWWWWW

Comunicação de Dados Comunicação de Dados IV IV imperatriz 139.82.95.14 Servidor DNS
Comunicação de Dados
Comunicação de Dados
IV IV
imperatriz 139.82.95.14
Servidor
DNS
de Dados IV IV imperatriz 139.82.95.14 Servidor DNS Endereço IP 139.82.95.14 Cliente Rede Servidor HTTP
Endereço IP 139.82.95.14 Cliente Rede
Endereço IP
139.82.95.14
Cliente
Rede

Servidor

HTTP

http://imperatriz.telemidia.puc-rio.br/index.html

WWWWWW

Comunicação de Dados Comunicação de Dados IV IV imperatriz 139.82.95.14 Servidor DNS
Comunicação de Dados
Comunicação de Dados
IV IV
imperatriz 139.82.95.14
Servidor
DNS
de Dados IV IV imperatriz 139.82.95.14 Servidor DNS Cliente Rede /index.html Servidor HTTP
Cliente Rede /index.html
Cliente
Rede
/index.html

Servidor

HTTP

http://imperatriz.telemidia.puc-rio.br/index.html

WWWWWW

Comunicação de Dados Comunicação de Dados IV IV imperatriz 139.82.95.14 Servidor index.html DNS
Comunicação de Dados
Comunicação de Dados
IV IV
imperatriz 139.82.95.14
Servidor
index.html
DNS
IV IV imperatriz 139.82.95.14 Servidor index.html DNS Cliente Rede Servidor HTTP
Cliente Rede
Cliente
Rede

Servidor

HTTP

http://imperatriz.telemidia.puc-rio.br/index.html

WWWWWW

Comunicação de Dados Comunicação de Dados IV IV imperatriz 139.82.95.14 Servidor DNS
Comunicação de Dados
Comunicação de Dados
IV IV
imperatriz 139.82.95.14
Servidor
DNS
Cliente Rede
Cliente
Rede

Servidor

HTTP

ComunicaçãoComunicação dede DadosDados IVIV

IntroduçãoIntrodução àà ComutaçãoComutação dede RótulosRótulos
IntroduçãoIntrodução
àà
ComutaçãoComutação
dede
RótulosRótulos

ComutaçãoComutação dede PacotesPacotes

ComunicaçãoComunicação dede DadosDados IVIV

B 3AC 2AC 1 AC D A Store-and-Forward Controle de erros Armazenamento E C Roteamento
B
3AC
2AC
1 AC
D
A
Store-and-Forward
Controle de erros
Armazenamento
E
C
Roteamento
2EB
1EB

ComutaçãoComutação dede PacotesPacotes

ComunicaçãoComunicação dede DadosDados IVIV

Comunicação Comunicação de de Dados Dados IV IV Redes de pacotes: • Não há alocação dedicada

Redes de pacotes:

Não há alocação dedicada de canal:

Unidade de dados tem que ter endereçamento

Roteamento executado em toda a rota:

• –

pacotes podem seguir caminhos diferentes, logo, seqüenciação e remontagem são exigidas

Grande processamento em cada nó de comutação:

Controles de fluxo e de erros em cada enlace

Requer buffers nos nós da rede, pois os pacotes têm tamanho variável

O retardo de transferência não é determinístico e, normalmente, sua variação é muito grande

ComutaçãoComutação dede PacotesPacotes

ComunicaçãoComunicação dede DadosDados IVIV

Controle de fluxo Controle de erros Superiores Superiores Fim a fim Transporte Transporte Rede Rede
Controle de fluxo
Controle de erros
Superiores
Superiores
Fim a fim
Transporte
Transporte
Rede
Rede
Rede
Rede
Enlace
Enl
Enl
Enl
Enl
Enlace
Física
Física
Física
Física
Comutador
Comutador
Controle de fluxo
Controle de erros
Roteamento a

cada pacote

ComutaçãoComutação RápidaRápida dede PacotesPacotes

ComunicaçãoComunicação dede DadosDados IVIV

Eliminar o controle de erro e fluxo em nós intermediários

Realizar o roteamento somente no primeiro pacote de um fluxo ou na mensagem de estabelecimento de conexão e manter a rota fixa posteriormente.

ComutaçãoComutação RápidaRápida dede PacotesPacotes

ComunicaçãoComunicação dede DadosDados IVIV

Controle de fluxo Controle de erros Superiores Superiores Fim a fim Nível 3 Nível 3
Controle de fluxo
Controle de erros
Superiores
Superiores
Fim a fim
Nível 3
Nível 3
Rede
Rede
Nível 2
Nível 2
Nível 2
Nível 2
Nível 1
Nível 1
Nível 1
Nível 1
Comutador
Comutador

RoteamentoRoteamento nana sinalizaçãosinalização

Roteamento só só na na sinalização sinalização Comutação Comutação Rápida Rápida de de Pacotes

ComutaçãoComutação RápidaRápida dede PacotesPacotes

ComunicaçãoComunicação dede DadosDados IVIV

A partir do estabelecimento da rota, todo pacote do mesmo fluxo de dados que entra na rede recebe um rótulo (label) que indica como ele deve ser encaminhado, seguindo o mesmo caminho anteriormente estabelecido. Separa os canais de controle (sinalização) e de dados: pacotes de dados devem ser propagados na rede sem a necessidade do processamento da camada de rede (label switch). Comutação de Rótulos

ComutaçãoComutação BaseadaBaseada emem RótuloRótulo

ComunicaçãoComunicação dede DadosDados IVIV

TabelaTabela dede comutaçãocomutação preenchidapreenchida nana fasefase dede sinalizaçãosinalização

na na fase fase de de sinalização sinalização 0 5 Rótulo Porta Rótulo 1 de Entrada
0 5 Rótulo Porta Rótulo 1 de Entrada de Saída de Saída 6 X8Y 2
0
5
Rótulo
Porta
Rótulo
1
de Entrada
de Saída
de Saída
6
X8Y
2
7
Tabela da Porta 4
3
3
8
1
4
9
X
Comutador

2

4 Y
4
Y

Out

Tabela da Porta 4 3 3 8 1 4 9 X Comutador 2 4 Y Out

In

RedesRedes comcom ComutaçãoComutação dede RótulosRótulos

ComunicaçãoComunicação dede DadosDados IVIV

A comutação por rótulos pode ser realizada no modo orientado a conexão ou não orientado a conexão. São exemplos de redes orientadas a conexão com comutação de rótulos:

Frame Relay

ATM

São exemplos de redes não orientadas a conexão com comutação de rótulos:

Comutação IP (MPLS)