Você está na página 1de 76

Serviços TCP

Rodolfo Riyoei Goya


http://rgoya.sites.uol.com.br
rgoya@uol.com.br
Bibliografia
 Stevens, R.W. – TCP/IP Illustrated –
Vol. 1 Addison-Wesley
Serviços
 Transferência de Arquivos
 Correio Eletrônico
 Resolução de Nomes
 Gerenciamento de Redes
Transferência de Arquivos e
Acesso Remoto de Arquivos
 Antes das redes de computadores os dados
eram transferidos obrigatoriamente via meios
magnéticos como fitas e discos
 A possibilidade da transferência via rede
originou um novo tipo de computação, em
que a saída de um programa alimentava a
entrada de outro
 O problema reside na necessidade de
coordenação entre os programas
Salvando Resultados
Intermediários
 Outro problema residia no fato de que se
ocorresse alguma falha, os programas
precisavam ser reinicializados, pois não havia
resultados intermediários para continuar o
processo
 Assim foram criados arquivos com resultados
intermediários que possibilitam recuperar o
estado do sistema antes da falha
Paradigmas de Transferência
Interativa e em Lote
 Com os arquivos intermediários
surgiram os primeiros programas de
transferência de arquivos
 Alguns usavam a técnica de
transferência em lote (“batch”), similar
ao modo que se transmite e-mail
 Mais tarde passou-se a usar o modo
interativo também
O FTP
 O serviço de transferência de arquivos mais
popular na Internet é o FTP (“File Transfer
Protocol”)
 Trata-se de um protocolo de propósito geral
que pode usar para copiar um arquivo
arbitrário de um computador para outro
 Ele foi projetado para permitir a utilização
interativa e em lote
Conexões, Autorizações e
Permissões de Arquivos
 O FTP requer que o usuário estabeleça uma
conexão de controle a um computador
remoto antes que os arquivos possam ser
transferidos
 Para obter autorização, um usuário precisa
suprir um login e um password
 A conexão de controle permanece até que o
usuário decida fechá-la
Características do FTP
 Permite acesso de arquivos anônimo
 Transferência de arquivos em ambas as
direções
 Expansão de curingas em nomes de arquivos
 Tradução de nomes de arquivos (entre
sistemas heterogêneos de computadores)
 Troca de diretórios e listagem de conteúdo
 Modo texto e binário de transferência
Interações Cliente-Servidor no
FTP

 Conexão TCP entre um cliente FTP e um servidor


durante uma transferência de arquivos
 Apesar de que a conexão de controle permanece
aberta, a conexão de dados é fechada depois que a
transferência é finalizada
TFTP
 O TFTP (“Trivial File Transfer Protocol”)
é um FTP mais simples, que utiliza o
UDP
 Somente para transferência de arquivos
 Não suporta interação (sem navegação
por diretórios)
 Sem autenticação
 Tamanho de código menor que o FTP
Correio Eletrônico
E-mail (“Electronic Mail”)
 O correio eletrônico foi a primeira aplicação
importante criada para redes de
computadores (RFCs 821 e 822)
 A maior parte dos sistemas permite que se
crie mailbox, uma caixa de correio onde se
pode receber, armazenar e manipular as
mensagens
 Eles também provêem listas de endereços de
e-mail, chamados mailing lists, que
facilitam a distribuição de mensagens
Caixas de Correio Eletrônicas e
Endereços
 Cada caixa de correio eletrônico tem um
endereço único, que é dividido em duas
partes: a primeira identifica um usuário, e a
segunda identifica um computador onde está
a caixa de correio
mailbox@computer
 O remetente usa a segunda parte para
selecionar o destinatário
 O recipiente do computador usa a primeira
parte para selecionar o “mailbox”
Distinção Entre Envelope e
Mensagem
 Envelope
 encapsula a mensagem. Informações
necessárias ao transporte
 Mensagem
 contém duas partes:
 cabeçalho
 informações de controle do usuário
 corpo
 informação endereçada ao destinatário
(a) carta postal, (b) carta eletrônica
Arquitetura e Serviços
 Consiste em dois subsistemas:
 Agentes usuários
 Programa que aceita uma variedade de
comandos para composição, recebimento e
resposta a mensagens
 Muitos agentes usuários esperam receber
endereços DNS no formato
Mailbox@localização, apesar de existir outras
formas de endereçamento, como o X.400
 Agentes de transferência de mensagens
Leitura de mensagens de
correio eletrônico
 Quando acionado, normalmente um
agente usuário checa o mailbox. Em
seguida ele apresenta informações
referentes às mensagens lá contidas
 Por fim o usuário poderá executar
alguns comandos de tratamento de
mensagens de correio eletrônico
Funções Básicas:
 Composição: cria mensagens e respostas
 Transferência: desloca a mensagem entre o
remetente e o usuário
 Geração de relatório: informa ao remetente o
que aconteceu à mensagem
 Exibição: converte a mensagem para que se
possa lê-la
 Disposição: permite apagar, gravar, etcétera.
Formato de Mensagem
 RFC 822
 Consiste em:
 um envelope primitivo
 alguns campos de cabeçalho
 uma linha em branco
 e no corpo de mensagem
Campos do Cabeçalho
Relacionados ao Transporte
Outros Campos Usados no
Cabeçalho da Mensagem
MIME
 Originalmente os e-mail carregavam
apenas texto (ASCII)
 Para estender a funcionalidade do e-
mail foi criado o MIME (“Multipurpose
Internet Mail Extensions”) (RFC 1521),
adequado para caracteres acentuados
ou não-ASCII e que mantém algumas
características do RFC 822
Cabeçalho do RFC 822
Adicionado pelo MIME
Tipos e Subtipos MIME
Exemplo de E-mail Multimídia
Transferência de Correio

 Trajetória de uma mensagem de e-mail. O programa


de transferência se torna um cliente de um servidor
de e-mail remoto
SMTP
 O SMTP (“Simple Mail Transfer
Protocol”) (RFC 821) é um protocolo
descrito em ASCII que realiza a
transferência do correio
 Ele estabelece uma conexão TCP com a
porta 25 da máquina destino
Exemplo de
Diálogo
entre
Servidores
Problemas
 Algumas implementações antigas são
incapazes de lidar com arquivos maiores do
que 64Kbytes
 Diferenças de timeout entre cliente e servidor
podem causar uma desconexão inesperada
 O ESMTP (“Extended Simple Mail Transfer
Protocol”) (RFC 1425) procura contornar
estes problemas
Gateway de Correio Eletrônico
 Muitas máquinas que não estão na Internet
também precisam utilizar correio eletrônico a
partir de sites na Internet
 Outras vezes destinatário e remetente
utilizam diferentes protocolos de
endereçamento de correio
 Isto tudo é resolvido com um gateway de
correio eletrônico (também chamado de “mail
relay”)
Esquema da Utilização do
Gateway

 Repare a conversão TCP <-> TP4 (protocolo de nível


4 - Transporte)
Entrega Final
 Um protocolo simples para obter mensagens
em uma caixa de correio remota é o POP3
(“Post Office Protocol”) (RFC 1225)
 Um mais sofisticado é o IMAP (“Interactive
Mail Access Protocol”) (RFC 1064), projetado
para usuários que utilizam diversos
computadores
 Um outro é o DMSP (“Distributed Mail System
Protocol”) (RFC 1056). Ele permite que os
usuários façam um download de suas
mensagens e se desconectem
Exemplo de Utilização do POP
Recursos
 Uma ferramenta muito valiosa são os
filtros, que tomam ações sobre a s
mensagens que chegam
 Outro recurso é o “vacation daemon”,
que informa a indisponibilidade de
leitura das mensagens durante um
período de tempo, ou mesmo
redireciona-as para outra pessoas
Privacidade de Correio
Eletrônico
 As mensagens transmitidas pelo correio
eletrônico transitam por diversas
máquinas até chegar ao destino
 Elas podem ser lidas em qualquer
destas máquinas
 Para garantir a privacidade é necessário
encriptar as mensagens
PGP
 O PGP (“Pretty Good Privacy”) é um pacote
completo para segurança de mensagens de
correio eletrônico que oferece privacidade,
autenticação, assinatura digital e
compactação
 Feito por Phil Zimmermann em 1995
 Utiliza RSA, IDEA e MD5 e é compactado pelo
algoritmo Ziv-Lempel (zip)
 Gratuito
PGP em Operação
Exemplo de Mensagem
PEM
 O PEM (“Privacy Enhanced Mail”) é o padrão
oficial da Internet (RFCs 1421 a 1424)
 O gerenciamento de chaves é mais
estruturado do que no PGP, e são certificados
pelas autoridades de certificação
 as autoridades de certificação são certificadas com
PCAs (“Policy Certification Authorities”)
 estas, por sua vez, são certificadas pela IPRA (“Internet
Policy Registration Authority”)
PGP
x
PEM
Sistema de Nomes e DNS
Sistema de Nomes
 Embora a forma binária de identificação de
computadores do IP seja bastante eficiente,
as pessoas tendem a preferir nomes
simbólicos
 Existe um software que traduz um
determinado nome no endereço IP
equivalente
 Isto é extremamente benéfico, pois possibilita
que se encontre máquinas mesmo se
desconhecendo seu número IP
Estrutura de Nomes de
Computadores
 O DNS (“Domain Name System”) define um
esquema de nomes de domínios de nomes na
Internet (RFCs 1034 e 1035)
 Exemplos:
 Centro de Educação em Informática
 www.cei.sp.senac.br
 Prefeitura de Santo André
 www.santoandre.sp.gov.br
 O DNS não faz distinção entre letra maiúscula
e minúscula
Principais Nomes de Domínios
com organização comercial
edu instituição educacional
gov organização do governo
mil grupo militar
net centro de suporte à rede
org outras organizações
int organização internacional
código de pais um país
Parte do Espaço de Nomes de
Domínio da Internet
Nomes de Domínios
 Os domínios de nomes são hierárquicos,
com a parte mais significante do nome
à direita
 Para se obter um domínio, uma
organização precisa registrar com uma
autoridade da Internet. Um único sufixo
de domínio é designado para cada
organização
Estrutura Geográfica
 O DNS permite um registro geográfico.
 Exemplo:
 Corporation for National Research Initiatives
 cnri.reston.va.us
 Todas as universidades do Reino Unido
(Inglaterra) terminam com o domínio ac.uk
 ac é de academic (acadêmico) e uk vem de United
Kingdom (Reino Unido)
 No estado de São Paulo todas as entidades
governamentais tem que terminar com
 sp.gov.br
Nomes de Domínios Dentro de
Uma Organização
 A partir do domínio particular de uma
empresa é possível se construir outros para
designar subdivisões
 Não existe um padrão
 Exemplo:
 A empresa Foobar Corporation tem o seguinte
domínio
 foobar.com
 Cria as seguintes subdivisões
 computer.subdivision.division.foobar.com
Representação Gráfica da
Hierarquia DNS da Foobar
A Autonomia do DNS
 A principal característica do DNS é autonomia
 O sistema hierárquico permite que cada
organização administre os nomes que
terminem com seu nome. Assim todos os
nomes que terminam com ibm.com são de
responsabilidade da IBM e os que terminam
com sp.gov.br são de responsabilidade do
governo do estado de São Paulo
O Modelo de DNS Cliente-
Servidor
 Quando uma aplicação precisa traduzir um
nome para um endereço IP ela se torna
cliente de um sistema de nomes
 O cliente coloca o nome numa mensagem de
requisição DNS e transmite para um servidor
DNS
 Caso ele saiba a resposta, retorna o resultado
numa mensagem de reply
 Se não ele requisita para outro servidor DNS,
ao qual esteja conectado
A Hierarquia do Servidor DNS
 Os servidores DNS são arranjados numa
hierarquia semelhante a da hierarquia de
nomes
 Um servidor raiz (“root”) ocupa o topo da
hierarquia. Este servidor contém informações
suficientes para chegar aos outros servidores
 Cada organização escolhe como dividir os
nomes entre os servidores
Divisão de Domínio: Exemplo
1
Divisão de Domínio: Exemplo
2
Arquiteturas de Servidores
 A distribuição dos servidores tem por
finalidade diminuir o tamanho deles e facilitar
a administração
 Um usuário tende a resolver nomes de
computadores locais com mais frequência do
que os de computadores remotos
 Um usuário tende a procurar pelos mesmos
computadores
 Os pedidos mais frequentes são retidos no
servidor local
Enlaces entre Servidores
 Apesar da relativa liberdade, os servidores
obedecem a seguinte regra:
 um único servidor é o responsável por um dado
sufixo
 Todos os servidores estão interligados para
formar um sistema unificado
 Cada servidor sabe como chegar ao servidor
raiz e outros servidores com autoridade sobre
sobre os nomes na hierarquia
Resolvendo Um Nome
 A tradução de um nome de domínio em um
número IP é chamado de resolução de
nome, e um nome é dito ser resolvido para
um endereço
 Quando o servidor recebe um pedido sobre
um nome cujo domínio está sob sua
autoridade a resolução do nome é imediata
 Caso o contrário o servidor passa a se
comportar como cliente e requisita para outro
servidor segundo a hierarquia
Exemplo de Resolução de
Nome

(1) envia uma consulta ao servidor de nomes local pelo


nome linda.cs.yale.edu, (2) consulta servidores
vizinho e depois vai para o raiz de edu, (3) vai para
o servidor de yale, (4) vai para servidor do
departamento de Computer Science, (5)(6)(7)(8)
retorna ao requerente
Otimização do Desempenho
do DNS
 O DNS utiliza dois tipos de otimização para
melhorar sua eficiência:
 Replicação
 Cada servidor raiz é replicado. Existem várias cópias pelo
mundo
 Normalmente é utilizado o servidor que geograficamente
seja o mais perto
 Cacheamento
 Cada servidor mantém um cache de nomes
 O nome se mantém no cache durante um tempo pré-
determinado
Registros de Recurso
 A verdadeira função do DNS é mapear
nomes de domínios em registro de
recursos
 Cada entrada na base de dados do DNS
consiste de três itens: um nome de
domínio, um tipo de registro (“record”)
e um valor
Principais Tipos de Registro
Exemplo
 Formato:
 Domain
name
 Time to
live
 Type
 Class
 Value
Utilizando o Tipo CNAME
 CNAME indica um nome equivalente.
Um alias
 Ele é extremamente útil na medida em
que possibilita mudar os servidores,
sem que seja necessário mudar os
nomes
 Também possibilita que um mesmo
serviço tenha diversos nomes
Uma Conseqüência
Importante de Tipos Múltiplos
 Ao criar diversos tipos diferentes de nomes o
DNS proporciona a possibilidade de se
habilitar serviços distintos
 Por exemplo:
 um determinado servidor pode não ter um nome
do tipo A, fazendo com que um ping com o nome
dele resulte em uma mensagem de inexistência
 por outro lado ele pode ter um registro MX que
fará com que uma requisição de e-mail funcione
Abreviações e o DNS
 Localmente é possível se fazer uma
abreviação dos nomes, suprimindo os
sufixos
 Assim na Microsoft (microsoft.com) é
possível se referir à máquina
machine.microsoft.com apenas como
machine
Gerenciamento de Redes
Gerenciamento da Rede
(“Network Management”)
 O gerente da rede é a pessoa responsável
por monitorar e controlar o hardware e o
software do sistema
 O fato das redes serem muitas vezes
heterogêneas e grandes fazem com que o
gerenciamento da rede seja muito
complicado
 Como a perda de pacotes é algo esperado
pelo sistema, falhas intermitentes são muito
difíceis de se detectar e isolar
Gerenciadores e Agentes
 O software de gerenciamento da rede
trabalha a nível de aplicação (camada 7 do
modelo OSI da ISO)
 As estações de gerenciamento (“manager”)
são servidores que trabalham com os agentes
(“agent”), aplicações clientes
 Os agentes são instalados, ou habilitados,
nos diversos dispositivos de rede para
proporcionar o gerenciamento
SNMP
 SNMP (“Simple Network Management
Protocol”) é protocolo padrão usado na
Internet para gerenciamento e
monitoramento (RFC 1448)
 Define o formato das mensagens entre os agentes
e os gerenciadores, assim como seu conteúdo
 Mantém um banco de dados local contendo
variáveis que não só descrevem seu estado e
histórico como também afetam sua operação
O Modelo SNMP

 Componentes do modelo de gerenciamento


SNMP
O Protocolo SNMP
 O SNMP envia uma solicitação a um
agente pedindo informações ou
forçando-o a atualizar seu estado
 Ele utiliza o paradigma “Fetch-Store”
 O “fetch” é utilizado para buscar os valores
de um dispositivo
 O “store” armazena ou atualiza os valores
do dispositivo
Tipos de Mensagem SNMP
ASN.1
 O SNMP se baseia no ASN.1 (“Abstract Syntax
Notation One”) para codificar suas
mensagens
 Trata-se de uma linguagem de definição de
objetos de rede padronizados
 O que é realmente usado para definir
estruturas de dados no SNMP é um
sub/super-conjunto da ASN.1 chamado SMI
(“Structure of Management Information”)
MIB
 Cada objeto que o SNMP tem acesso precisa
ser definido e ter um nome único
 O conjunto de todos os objetos gerenciados
é conhecido por MIB (“Management
Information Base”)
 Tem por objetivo oferecer uma base daquilo
que uma estação de gerenciamento deve
compreender
Grupos de Objetos na MIB-II

Você também pode gostar