Nível de Transporte na Internet
TCP - Transmission Control Protocol
Nível de transporte orientado à ligação
UDP - User Datagram Protocol
Nível de transporte sem ligação
•Ambos funcionam sobre IP
•TCP é semelhante a OSI/TP4
© Pedro Veiga / F.C.-U.L.
TCP
Nível de transporte recebe mensagens arbitrárias para
transmitir e:
• Fragmenta-as em pedaços inferiores a 64k
• Trata de retransmissões de pacotes
• Trata de reordenações de pacotes
• Trata de tempos expirados (timeouts)
• Controlo de fluxo (janela de 16 bits - número de bytes)
•TCP numera as mensagens com 32 bits
© Pedro Veiga / F.C.-U.L.
TPDU do UDP
Porta origem
Comprimento
Porta destino
Checksum
Dados
Não é necessário estabelecer ligação
Não há garantia de entrega
• Semelhante ao serviço sem ligação do OSI
© Pedro Veiga / F.C.-U.L.
Comparação TP4 versus TCP
Semelhanças
Protocolos com ligação
• Fase de estabelecimento de ligação
• Fase de transferência de dados
• Fase de libertação de ligação
Ligação fiável entre 2 sistemas sobre uma rede não fiável
© Pedro Veiga / F.C.-U.L.
Comparação TP4 versus TCP
Diferenças
Nº de TPDUs
Colisão ligações
Formato endereços
Qualidade serviço
Dados no TPDU Conn.-request
Dados importantes
Controlo fluxo explícito
Libertação ligação
© Pedro Veiga / F.C.-U.L.
9
2
não def.
Muitas opções
Permitidos
Expedited
Por vezes
Abrupta
1
1
32 bits
Opções limitadas
Não permitidos
Urgent
Sermpre
Ordenada
APIs de Transporte
Networking no UNIX
socket
Criação de um TSAP de um dado tipo
bind
Associa um nome ASCII a um socket já criado
listen
accept
connect
Cria uma fila para aceitar pedidos de ligação
Retira um pedido de ligação da fila, ou
espera por uma ligação
inicia uma ligação com um socket remoto
shutdown
termina a ligação de um socket
send
envia uma mensagem através de um socket
recv
recebe uma mensagem num socket
select
verificar, num conjunto de sockets, se podem
ser lidos ou escritos
© Pedro Veiga / F.C.-U.L.
Pontes de Transporte
Fornecer um serviço de transporte OSI sobre a pilha TCP/IP
RFC-1006
(Transport Bridge)
Aplicação
Apresentação
Sessão
Transporte
TCP
IP
© Pedro Veiga / F.C.-U.L.
Nível de Apresentação
Fornece serviços ao nível de Aplicação
Usa os serviços do nível de Sessão
Este nível trata do significado da informação trocada entre
os 2 sistemas envolvidos na comunicação
Os computadores envolvidos podem ter diferentes modos de
representar a informação
© Pedro Veiga / F.C.-U.L.
Funções do Nível
• Dar às aplicações um modo de acesso às sessões
•Disponibilizar um modo de especificar estruturas de
dados complexas
• Gerir o conjunto de estruturas de dados em uso
• Converter os dados entre formatos internos e
externos
Representação (diferentes códigos)
Compressão
Segurança e privacidade
© Pedro Veiga / F.C.-U.L.
Gateways de Aplicação
• Telnet
• VT
• ftp
• FTAM
Gateway
• SMTP
• X.400
• DNS
• X.500
Gateway realiza sempre o mínimo comum aos 2
serviços homólogos
© Pedro Veiga / F.C.-U.L.
X.400
• Designação X.400 refere-se a um conjunto de normas que
definem a aplicação OSI de correio electrónico
• X.400, X.402, X.409, ...
• Normas MOTIS (Message-Oriented Text Interchange
Systems) do ISO são equivalentes
• Normas X.400 têm evoluído
• X.400/84, X.400/88, X.400/92
• Infelizmente (mas tradicional no mundo OSI) há
incompatibilidades entre as diversas versões que
dificultam interoperabilidade
© Pedro Veiga / F.C.-U.L.
X.400
• Normas definem
– Arquitectura de rede de troca de mensagens
– Elementos envolvidos na troca e preparação das mensagens
– Formato das mensagens
– Interação com outros serviços
• Filosofia subjacente à arquitectura foi modelada
segundo o modo de trabalhar dos operadores de
telecomunicações
• Sistema complexo, se bem que poderoso
© Pedro Veiga / F.C.-U.L.
Arquitectura do Sistema
Util.
UA
MTA
MTA
MS
UA
Util.
AU
Util.
Telex
MTA
UA
MTS
MHS
• Transporte store-and-forward
© Pedro Veiga / F.C.-U.L.
Util.
Componentes
• MTA - Message Transfer Agent
• UA - User Agent
• AU - Access Unit
• Telex
• Fax
• Entrega física
• MS - Message Store
© Pedro Veiga / F.C.-U.L.
Papel do MTA
• Aceita mensagens submetidas por UAs e transmite-as para outros UAs
ou para outros MTAs
• Aceita mensagens vindas de outros MTAs e entrega-as a um UA ou a
outro MTA
• Efectua funções de encaminhamento de mensagens (routing)
• Gera DNs (delivery notifications) quando entrega alguns tipos de
mensagens a um UA
• Se não consegue resolver um endereço gera um NDN (non-delivery
notification)
• Implementa os protocolos de comunicação adequados
© Pedro Veiga / F.C.-U.L.
Papel do UA
• Ajuda o utilizador a preparar a mensagem e codifica-a de modo a
ser entregue ao MTA
• Mensagem P2 (Mensagem inter-pessoal)
• Aceita mensagens do MTA, descodofoca-as e exibe-as ao
utilizador
• Tem facilidades de apoio ao armazenamento e organização das
mensagens recebidas e/ou enviadas
• Podem ser MTAs co-residentes ou remotas
• Protocolo de comunicação P3 para comunicação entre um MTA
e um UA remoto
• UA pode usar facilidades de armazenamento associadas ao MTA
(Message-store)
• Protocolo de comunicação é P7
© Pedro Veiga / F.C.-U.L.
Mensagem P2
Cabeçalho P2
Corpo 1
Corpo
Corpo 2
(Body)
Corpo 3
© Pedro Veiga / F.C.-U.L.
Elementos de Serviço
do cabeçalho P2
•
IPMessageId
• replyBy
•
originator
• replyToUsers
•
primary Recipients
• importance
•
copyRecipients
• sensitivity
•
blindCopyRecipients
•
inReplyTo
•
authorizingUsers
•
crossReferences
•
obsoletes
•
expiryDate
© Pedro Veiga / F.C.-U.L.
• autoforwarded
Mensagem P1
Elementos do Envelope P1
•
Endereços O/R do originador
e destinatário(s)
•
Prioridade
•
Identificação da mensagem
•
Informação de percurso
Envelope P1
(Message Transfer Envelope)
Conteúdo
(mensagem P2)
© Pedro Veiga / F.C.-U.L.
Message Store
Apareceu nas normas de 1988
• Quando um MTA tem uma
UA
mensagem para um UA
servido por uma Message
P7
Store (MS) entrega-a ao MS
em vez de a guardar se o UA
MS
não está disponível
• O UA recupera a mensagem a
partir do MS
• O UA submete as mensagens
ao MS e este ao MTA
© Pedro Veiga / F.C.-U.L.
MTA
P3
• Protocolo para comunicação entre um MTA e um UA não co-
residente
• Definido nas normas X.411 (84)
• Definido nas normas X.419 (88) - MTS access protocol
• Nunca foi muito popular e foi praticamente substituído pelo
conceito do Message Store + Protocolo P7, que acabámos de
ver
© Pedro Veiga / F.C.-U.L.
Domínios de Gestão
• ADMD - Administration Domain
• PRMD - Private Management Domain
• Organizações
• Unidades organizacionais
• Pessoas / aplicações
• Modelo demasiado adaptado à filosofia dos operadores de
telecomunicações
© Pedro Veiga / F.C.-U.L.
Nomes e Endereços
• Alterações significativas entre o conteúdo das normas em
1984 e 1988
• Nas normas de 1988 pode-se usar um directory name para
endereçar uma mensagem
• Destinatário pode ser uma lista de distribuição
• Originadores e destinatários são identificados através de
um O/R address (Originator/Recipient address)
© Pedro Veiga / F.C.-U.L.
Endereços O/R
• Modo de identificar os originadores ou destinatários das
mensagens
• Formados por sequências não ordenadas de atributos e
valores
• Solução intercalar enquanto não há sistema de directório
• Atributos
• C, ADMD, PRMD, O, OU, S, G, I
Exº
C=pt/ADMD=goldmail/PRMD=inesc/O=inesc/OU=redes
/G=pedro/S=veiga
© Pedro Veiga / F.C.-U.L.
Atribuição de endereços
• C, Country
• ADMD, Administration Domain
• PRMD, Private Management Domain
• O, Organization
• OU, Organizational Unit
© Pedro Veiga / F.C.-U.L.
Routing - Encaminhamento
• Trata do problema de como os MTAs levam as mensagens de uma
origem a um destino
• Algoritmos de encaminhamento, em cada MTA, analisam o
destinatário de uma mensagem e decidem, de entre os MTAs a
que estão ligados, para qual vão fazer seguir a mensagem
• Routing pode ser:
– Estático
– Dinâmico
© Pedro Veiga / F.C.-U.L.
Routing - Exemplo
MTA
MTA
MTA
MTA
MTA
MTA
MTA
MTA
© Pedro Veiga / F.C.-U.L.
MTA
Correio electrónico na Internet
• Historial
• UUCP
• BITNET mail
• SMTP
• MIME
• sendmail
© Pedro Veiga / F.C.-U.L.
Normas actuais
• RFC 821 e RFC-822 (SMTP - Simple Mail Transfer Protocol)
• Sistema orientado a texto
• simples de implementar sobre muitos mecanismos de
transporte
• não há distinção entre cabeçalhos e corpo das mensagens, a
não ser em identificadores especiais dos campos do cabeçalho
• só ASCII
• linhas até 72 caracteres
• Endereços simples e compactos (mas no formato básico)
© Pedro Veiga / F.C.-U.L.
Outras Características
Formato das Mensagens
• Linhas de texto
• Linhas dos cabeçalhos iniciam-se por palavras reservadas especiais
• Exº
From: [email protected]
Transporte das Mensagens
• Usando o TCP
• porto específico para SMTP
© Pedro Veiga / F.C.-U.L.
RFC 822 - Header Fields
Sender
To
Received from
Received by
Received via
Received with
From
Reply-to
Cc
Bcc
In-Reply-To
References
Subject
Keywords
Date
Message-ID
Comments
Encrypted
© Pedro Veiga / F.C.-U.L.
Endereço de quem envia
Endereço do destinatário
Donde veio a mensagem
Quem recebeu a mensagem
Em que meio físico chegou
Que protocolo foi usado
Nome da pessoa que enviou a mensagem
Endereço a quem responder
Cópias para ...
Cópias ocultas para ...
Referência da mensagem a que se refere a resposta
Outras mensagens referenciadas
Assunto
Palavras chave
Data
Identificação da mensagem
Comentários
Chave de criptação usada
POP - Post Office Protocol
• Agente num PC ou sistema cliente de POP
• Servidor num sistema central
• Servidor faz login no servidor e recebe/envia o mail
login
Servidor
© Pedro Veiga / F.C.-U.L.
PC
Gateways de Correio Electrónico
• Gateways - interligam sistemas de correio electrónico que usam protocolos
diferentes
• Funcionalidade do sistema é o mínimo comum aos 2 sistemas
• Sistemas tem de dispôr de um mecanismo de transporte de bits comum
• Níveis 3 ou 4 são os mais vulgares
• Exº Gateway X.400 / SMTP
definido no RFC-987
• Define transformações a aplicar aos endereços (ou O/R names)
• Define equivalência entre Elementos de serviço / Palavras reservadas
© Pedro Veiga / F.C.-U.L.
MIME
Multipurpose Internet Mail Extensions
 Definido no RFC1341
Suporte ao transporte de mensagens multimedia mas
compatível com o correio SMTP
Headers especiais identificam que se trata de uma
mensagem com codificação MIME
Mensagem composta por:
 1 cabeçalho
 vários corpos cada um codificado de modo adequado a ser
transportável por SMTP (I.e., ASCII e linhas até 72 caracteres)
© Pedro Veiga / F.C.-U.L.
Exemplo de Mensagem codificada em MIME em formato de transporte
From [email protected] Sat Nov 23 19:21 WET 1996
Message-Id: <[email protected]>
From: "Pedro Veiga" <[email protected]>
To: "Pedro Veiga / FCUL" <[email protected]>
Subject: Teste de envio de mensagem MIME
Date: Sat, 23 Nov 1996 19:20:00 -0000
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="---=_NextPart_000_01BBD973.52351EA0"
Content-Length: 43739
This is a multi-part message in MIME format.
------=_NextPart_000_01BBD973.52351EA0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: base64
SXN0byDpIHRleHRvIGNvbSBjYXJhY3RlcmVzIGVzcGVj7WZpY29zIGRhIGztbmd1YSBwb3J0
dWd1ZXNhLg0KDQrjIOIg4CDhIOkg7SDzIPUg+iDnDQoNCi0tcGVkcm8gdmVpZ2 ENCg==
© Pedro Veiga / F.C.-U.L.
------=_NextPart_000_01BBD973.52351EA0
Content-Type: application/octet-stream; name="Estimado.doc"
Content-Description: Estimado (Microsoft Word Document)
Content-Disposition: attachment; filename="Estimado.doc"
Content-Transfer-Encoding: base64
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAACQAAAAAAAAAA
EAAACwAAAAEAAAD+////AAAAAAoAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* texto apagado */
AAAwADEHAAAAADEAAAMAAAAAMAA0BwAAAAAwAAIDAAAAADEANwcAAAAAMQBeAwAAAAAxADgHAAAA
ADEAZwMAAAAAMQA5BwAAAAAwAPEDAAAAADAAWQcAAAAAMAD8AwAAAAAwAFoHAAAAADAAdAQAAAAA
MABbBwAAAAAxAHoFAAAAADEAXAcAAAAAMQBgBwA=
------=_NextPart_000_01BBD973.52351EA0
Content-Type: application/octet-stream; name="25000Juros.xls"
Content-Description: 25000Juros (Microsoft Excel Worksheet)
Content-Disposition: attachment; filename="25000Juros.xls"
Content-Transfer-Encoding: base64
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAIAAAAAAAAAAA
EAAA/v///wAAAAD+////AAAAAB8AAAD/////////////////////////////////////////////
…etc
© Pedro Veiga / F.C.-U.L.
PEM
• Privacy Enhanced Mail
• Norma de correio electrónico que oferece:
– confidencialidade
– autenticação
– integridade
• Norma define modo de transformar mensagens RFC822 para garantir os serviços de segurança
• RFC1421, 1422, 1423 e 1424
• Usa dois tipos de chaves
– Chaves de cifração de dados
– Chaves de troca
© Pedro Veiga / F.C.-U.L.
Tratamento das mensagens em PEM
• Pre-Encapsulation Boundary (Pre-EB)
-----BEGIN PRIVACY-ENHANCED MESSAGE----• Encapsulated Header Portion
• Blank Line
• Encapsulated Text Portion
• Post-Encapsulation Boundary (Post-EB)
-----END PRIVACY-ENHANCED MESSAGE-----
© Pedro Veiga / F.C.-U.L.
Exemplo PEM
-----BEGIN PRIVACY-ENHANCED MESSAGE----Proc-Type: 4,ENCRYPTED
Content-Domain: RFC822
DEK-Info: DES-CBC,F8143EDE5960C597
Originator-ID-Symmetric: [email protected],,
Recipient-ID-Symmetric: [email protected],ptf-kmc,3
Key-Info: DES-ECB,RSA-MD2,9FD3AAD2F2691B9A,
B70665BB9BF7CBCDA60195DB94F727D3
Recipient-ID-Symmetric: [email protected],ptf-kmc,4
Key-Info: DES-ECB,RSA-MD2,161A3F75DC82EF26,
E2EF532C65CBCFF79F83A2658132DB47
LLrHB0eJzyhP+/fSStdW8okeEnv47jxe7SJ/iN72ohNcUk2jHEUSoH1nvNSIWL9M
8tEjmF/zxB+bATMtPjCUWbz8Lr9wloXIkjHUlBLpvXR0UrUzYbkNpk0agV2IzUpk
J6UiRRGcDSvzrsoK+oNvqu6z7Xs5Xfz5rDqUcMlK1Z6720dcBWGGsDLpTpSCnpot
dXd/H5LMDWnonNvPCwQUHt==
-----END PRIVACY-ENHANCED MESSAGE-----
© Pedro Veiga / F.C.-U.L.
Tipos de serviços de segurança em PEM
• "ENCRYPTED"
– confidencialidade, autenticação, integridade, não repudiação de
origem
• "MIC-ONLY"
– todos os anteriores excepto confidencialidade
– specifier signifies that all of the security services
• "MIC-CLEAR"
– não faz criptação mas faz os outros serviços
– a mensagem pode ser lida por quem não tem PEM; quem tem pode
saber que mensagem está integra e assinada
© Pedro Veiga / F.C.-U.L.
Chaves públicas
• Depositadas numa autoridade de certificação
• Autoridade de certificação
– entidade responsável por gerar e disponibilizar chaves a utilizadores
– funciona como "notário electrónico"
• Chaves distribuídas sobre a forma de certificados
• E chaves comprometidas?
– Validade de um certificado
– Listas de revogação
© Pedro Veiga / F.C.-U.L.
PGP
 Pretty Good Privacy
 Começou como um conjunto de programas escritos por
Phil Zimmermann para se poder usar correio electrónico
seguro
 Usa RSA tendo por base chave públice/privada
 IDEA para cifrar a mensagem - usa uma chave de 128 bits
de comprimento
 MD5 para gerar sumário de 128 bits
 Programa mais popular de correio electrónico seguro na
Internet
 Debilidade no modo de distribuir chaves
© Pedro Veiga / F.C.-U.L.
Directório
O directório OSI está definido na norma X.500
• Ideia inicial
Permitir aos utilizadores obter nomes a partir de atributos
• Ter um serviço tipo páginas telefónicas (white pages)
• Sistema acessível universalmente para permitir pesquisas a partir de um
conjunto de atributos
• Ideia inicial foi estendida e hoje o directório pode ser usado para guardar
informações muito diversas
• Exº informação de como aceder a um MTA, características do um
agente utilizador de um sistema X.400
© Pedro Veiga / F.C.-U.L.
DIT - Directory Information Tree
C= France
C=Brasil
C=Japan
C=Portugal
...
ORG=EuroDisney
ORG=TourEiffel
ORG=Bull
...
ORG=INESC
ORG=Univ.Lisboa
ORG=TLP
...
ORG=
...
...
ORG= NTT
ORG=Toyota
ORG=Sony
...
Dep=Informática
Dep=Física
...
© Pedro Veiga / F.C.-U.L.
DIT
Dep=Informática
Dep=Física
...
• Cada entrada é um conjunto de atributos
• Cada atributo tem:
• Tipo
• Interpretação (maiúsculas/minúsculas)
• Qualificador (herdado, obrigatório, ...)
• Lista de controlo de acesso (ACL)
S=Veiga G=Pedro Tel=4521 X.400=yyyyyyy
Nome=PintoPaixao Tel=2341
...
© Pedro Veiga / F.C.-U.L.
Arquitectura X.500
DUA
DAP
DSA
DSA
DAP
DSA
DSA
DUA
© Pedro Veiga / F.C.-U.L.
Download

presentation source