Serviços
Arquitectura Cliente-Servidor
DNS
DHCP
TELNET
FTP
HTTP (WWW)
SNMP
Modelo cliente - servidor
Os protocolos de transporte:Estabelecem ligações ponto-a-ponto; Não definem relações master/slave.
Os protocolos de aplicação são a interface vísivel da “aplicação
utilizadora” para a gama de protocolos TCP/IP;
Uma “aplicação utilizadora” consiste em dois programas que participam
numa comunicação:
Um programa inicia a comunicação; O outro programa aceita-a.
Como é que os dois programas estabelecem uma ligação? Um programa
Primeiro, entra em execução;
Depois, aguarda passivamente por uma ligação.
O outro programa
Entra em execução mais tarde;
Activamente entra em ligação com o outro.
Modelo cliente-servidor
Servidor: programa passivo; Cliente: programa activo.
DNS –
Domain Name Service
Nomes
As comunicações na Internet requerem endereços IP (números) As pessoas preferem usar nomes para as máquinas/computadores É necessário existir um sistema automático que traduza nomes
para endereços
Conhecido como Domain Name System (DNS) RFCs 1032,1033, 1034,1035,1101,1183
Dado o nome dum computador retorna o endereço IP do
computador
Método utilizado
DNS Lookup (resolução de nomes)
Sintaxe dos nomes de domínio
Exemplo dum nome
www.dcc.fc.up.pt.
Segmentos (labels) alfanuméricos separados por pontos
Organização hierárquica (estrutura em árvore de nomes)
A parte mais significativa situa-se à direita
Um nome terminado com um “.”, nome assumido como
completo, designa-se por FQDN (Fully-Qualified Domain Name)
dcc.fc.up.pt
é um (sub-)domínio de
fc.up.pt
up.pt
é um (sub-)domínio de
pt
Estrutura hierárquica de
nomes
Obtenção dum nome de domínio por uma dada entidade
individual ou colectiva
Entidade oficialmente
Escolhe o nome desejado (2º nível da hierarquia)
O nome é único debaixo de um dado domínio de topo
Os nomes são sujeitos às leis internacionais para efeitos de Trademarks e
Copyright
Escolhe o domínio de topo sob o qual ficará
Regista-o na Network Information Center (NIC) (via autoridade
credenciada)
A entidade, internamente (oficiosamente, isto é, sem registo oficial)
Escolhe arbitrariamente os níveis que(se) desejar, depois do 2º nível Controla-os localmente
Exemplo: dcc.fc.up.pt em que: domínio de topo (1º nível oficial): pt;
domínio da organização (2º nível oficial): up.pt; domínio local (3º nível não oficial): fc.up.pt
Domínios de topo
com Organizações comerciais
edu Instituições educativas
gov Instituições governamentais
mil Instituições militares
net Principais operadores de rede
int Organizações internacionais
org Outras organizações
arpa Domino temporário ARPA
<código do país> Domínio de topo de cada país
.biz para sites de negócios
.info para sites de informação generalizada .pro para sites profissionais
.museum para sites relativos a museus .aero para companhias de aviação .name para sites pessoais
Conceitos e características
Servidor DNS pode gerir máquinas englobadas num domínio ou
em vários
Sub-árvore de nomes gerida por um dado servidor forma uma
zona de autoridade
Conceito administrativo que engloba um ou mais domínios com a
obrigação de resolver nomes pertencentes a esses domínios)
Servidor DNS com autoridade sobre uma (ou mais) zona(s)
Informação de zona é obtida a partir do disco - primário, i.e., a
informação é inserida pelo administrador
Informação de zona é obtida a partir de servidores primários
-secundário
Cada zona pode ter vários servidores secundários
Os servidores DNS primário e secundário(s) têm informação em
duplicado
É usado um protocolo de transferência de zona para manter a
Conceitos e características
Servidor que não tenha autoridade sobre qualquer zona
designa-se servidor caching-only
Tem pelo menos um record NS dum servidor DNS root, para obter
a informação inicial
Servidor DNS pode operar simultaneamente como primário e
secundário, ou seja, é autoridade sobre zonas de ambos os tipos (p. ex., o caso dos servidores da root)
Os servidores DNS trocam mensagens (query/response) entre si
usando o protocolo UDP (de preferência: protocolo mais leve) ou TCP (o UDP está limitado a 512 bytes) - Porto 53.
Exemplo – hierarquia I
6 domínios 3 zonas 1 servidor net pt aveiro-digital up uc fc fe esgueiraExemplo – hierarquia II
6 domínios 1 zona/servidor 3 servidores net pt aveiro-digital up uc fc fe esgueira Servidor DNS para aveiro-digital.net e esgueira.aveiro-digital.net Servidor DNS para up.pt, fc.up.pt e fe.up.pt Servidor DNS para uc.ptExemplo – hierarquia III
6 domínios 1 zona/servidor 5 servidores net pt aveiro-digital up uc fc fe esgueira Servidor DNS para aveiro-digital.net Servidor DNS para up.pt e fc.up.pt Servidor DNS para esgueira.aveiro-digital.net Servidor DNS para fc.up.pt Servidor DNS para uc.ptResolução de nomes
Aplicação/utilizador precisa de resolver um nome:
Aplicação envia query para Name Resolver (cliente DNS localizado na
máquina da aplicação)
Se este tiver resposta em cache retorna-a para a aplicação, senão reenvia-a
para o Name Server (servidor DNS definido na máquina da aplicação)
Se servidor DNS for autoridade para o nome, consulta as suas tabelas (DB) e
retorna o endereço IP correspondente ao nome pedido
Se servidor não for autoridade, consulta a sua cache e retorna o endereço IP, se
ele existir, marcando-o como sendo informação de cache, ou consulta/indica outros servidores conforme o método de resolução invocado pelo cliente
User Application
Name
Resolver Name Server
Remote Name Servers DB Cache DB Cache Cache
Resolução de nomes
Ao receber uma
query
dum
Name Resolver
, o
Name
Server
executa um de dois tipos de resolução (de
acordo com o pedido do cliente)
Recursiva - servidor retorna endereço IP do nome pedido ou
uma mensagem de erro
Se o servidor não for autoridade para o nome, consulta outro
servidor
Se este for autoridade retorna o endereço IP do nome
Senão consulta outro servidor, até se encontrar um servidor que
seja autoridade para o nome
Não recursiva (ou iterativa) - servidor responde ao Resolver
com o endereço IP do nome pedido, com referências para outros servidores (para onde o Resolver deve enviar uma
Resolução de nomes
Resolução de nomes de forma abreviada (método não
recursivo): Query:dcc.fc.up.pt Name Resolver Name Server “.” Name Server pt Name Server up.pt Name Server fc.up.pt pt com es up ul fc fe Name server dept
Name server deup.pt
Name server defc.up.pt
Endereço IP de dcc.fc.up.pt ua 1 6 7 8 9 10 11 12 . 5 4 Local Name Server 2 3
Resolução de nomes
Resolução de nomes de forma abreviada (método
não recursivo):
Aplicação
Cliente DNS
Envia pedido ao servidor DNS local (via Name Resolver)
Servidor local
Se conhecer a resposta, retorna-a
Se desconhecer a resposta
Indica um servidor de topo Segue as ligações/indicações Retorna a resposta
Resolução de nomes
Método recursivo Query: dcc.fc.up.pt Name Resolver Name Server “.” Name Server pt Name Server up.pt Name Server fc.up.pt Endereço IP de dcc.fc.up.pt 1 7 6 8 9 10 11 12 5 4 Local Name Server 2 3 pt com es up ul fc fe ua .Cache
As respostas recebidas pelos servidores são memorizadas
temporariamente, de modo a serem aproveitadas em futuras
queries
Os servidores fazem sempre cache das respostas
Os clientes podem fazer cache das respostas Melhora a eficiência
Elimina buscas desnecessárias
Formato das tabelas de nomes
Resource record
RR (formato ASCII)
Nome - nome (de comprimento variável) da
máquina ou FQDN
TTL - quantidade de tempo em segundos
que o resource record é válido na cache do servidor.
Classe - família de protocolos (o sistema
Internet tem o código IN).
Tipo - identifica o tipo de resource record
(mnemónica ou número).
Informação - descreve o record e depende
do campo Tipo.
Nome (comprimento varável)
Tipo (16 bits) Classe (16 bits)
TTL (32 bits)
Formato das tabelas de nomes
Alguns campos Tipo
Número Código Descrição 1 2 A 5 6 10 11 12 13 14 15 NS CNAME MX SOA NULL HINFO WKS PTR MINFO Network Address Authoritative Name Server
Canonical Alias Name Start of Zone Authority
Null Resource Record Well-Known Service Pointer to a Domain Name
Host Information Mailbox Information
Formato das tabelas de nomes
Alguns campos de informação
Data Type A NS CNAME MX NULL HINFO WKS PTR MINFO
Address: A network address
MSDNAME: The domain name of host
Protocol: The protocol used
Bitmap: Used to identify ports and protocols
PTRDNAME: A domain name that acts as a pointer to a location CPU: A string identifying CPU type
OS: A string identifying operating system
RMAILBX: A mailbox responsible for mailing lists EMAILBOX: A mailbox for error messages
PREFERENCE: Specifies the precedence for delivery
EXCHANGE: The domain name of the host that acts as a mail exchange CNAME: An alias for the machine
Anything can be placed in the data field Address: A network address
Domínio especial in-addr.arpa
Permite traduzir endereços IP em nomes de domínio
Útil para máquinas sem disco porque permite ao sistema obter um
nome dado um endereço IP
Nas tabelas de nomes, o resource record usa o Type PTR
O Name Resolver usa uma query especial: pointer query
É usado o endereço IP como um nome de domínio
Os bytes do endereço IP são invertidos, formatados em ASCII e
concatenados com o sufixo (domínio especial) in-addr.arpa
Formato das mensagens DNS
Cabeçalho
Question Section
Answer Section
Authority Section
Formato do cabeçalho
Identificação - campo que o cliente usa para mapear a resposta
ao pedido
OP - Operação: 0 Query; 1 Response
AA - Set if answer authoritive; MT - Set if message truncated RD - Set if recursion desired; RA - Set if recursion available
Identificação
Number of Questions Number of Answers Number of Authority
0 15
OP QueryType AA MT RD RA Reserved ResponseType
Formato das mensagens DNS
Question, Answer, Authority e Additional Information
(Sections)
Outras secções - conjunto de resource records que descreve
os nomes de domínio e mapeamentos
Resource Data - contém a informação do resource record ou
outros dados, dependendo da classe e do tipo da query e da resposta.
Query Domain Name
Query Type (16 bits)
Query Class (16 bits)
Resource Domain Name
Type (16 bits)
Class (16 bits)
TTL (16 bits)
Resource Data Length (16 bits)
Resource Data QUESTION
Dynamic Host Configuration
DHCP
O DHCP fornece os mecanismos necessários para se poder passar automaticamente informação de configuração a quaisquer terminais numa rede TCP/IP
Baseia-se no BOOTP
Protocolo para transferência de
informação de configuração
Mecanismo para atribuição temporária ou
permanente de endereços a terminais 3 mecanismos de atribuição de endereços
IP
Dinâmico Automático Manual
Atribuição dinâmica de endereços
IP
Não é um mapeamento de 1 para 1
Servidor não necessita de saber a identidade do cliente a priori Permite a existência de autoconfiguração
Terminal liga-se a uma rede, utiliza DHCP para obter um
endereço IP, e configura software TCP/IP para utilizar esse endereço
Administrador da rede fornece um conjunto de endereços IP ao
servidor para este gerir
Cliente DHCP negoceia utilização de um endereço através da
troca de mensagens com servidor
Servidor fornece endereço ao cliente e este vê se pode aceitar o
endereço
Assim que cliente aceita o endereço, pode utilizá-lo para
Atribuição dinâmica de endereços
IP
Atribuição dinâmica de endereço é temporária
Servidor DHCP “aluga” um endereço ao cliente por
um tempo finito
Servidor especifica tempo de aluguer
Durante este período o mesmo endereço não é
“alugado” a outro cliente
Após o período de “aluguer”, cliente tem de renovar
“aluguer” ou parar de usar endereço
Tempo de “aluguer” depende da rede e das
Atribuição dinâmica de endereços
IP
Obtenção de múltiplos endereços (terminal
pertencente a várias sub-redes –
multi-homed
)
Terminal com múltiplas interfaces tem de configurar cada
uma delas de uma forma independente
Relay agent permite que um terminal contacte o servidor
numa rede não local
Reenvia o pedido do terminal, e retorna a resposta do servidor Servidor pode receber pedidos múltiplos do mesmo terminal –
relay agents podem complicar o processo
Cliente envia valor que identifica interface particular
Servidor pode distinguir entre vários pedidos do mesmo
Mensagens DHCP
DHCPDISCOVER - Broadcast de cliente à procura de servidores DHCP
disponíveis.
DHCPOFFER - Resposta do(s) servidor(es) a um DHCPDISCOVER
disponibilizando-se para oferecer(em) um endereço IP e outros parâmetros.
DHCPREQUEST - Mensagem de um cliente para o servidor seleccionado:
Pedindo os parâmetros oferecidos por um servidor;
Verificando um endereço atribuído previamente após uma mudança na
rede (um reboot, por exemplo);
Pedindo uma extensão do “aluguer” de um endereço.
DHCPACK - Resposta do servidor, contendo o end. IP e mais parâmetros.
DHCPNACK - Resposta negativa do servidor.
DHCPDECLINE - Mensagem do cliente, indicando que o endereço que lhe é
oferecido já se encontra em uso.
DHCPRELEASE - Mensagem do cliente, cancelando o que resta do
“aluguer” e libertando o end. IP.
DHCPINFORM - Mensagem de um cliente que já tem um endereço IP,
Formato do pacote
HWtype Code seconds 0 8 16 31 Length Hops Transaction ID flags Client IP address Your IP address Server IP address Router IP address Client hardware address(16 bytes) Server host name
(64 bytes) Boot file name
(128 bytes) Options (312 bytes)
Formato do pacote
Code - 1 – Request; 2 – Reply
Hwtype – Tipo de Hardware. Por exemplo, Ethernet (1) ou IEEE802 (6).
Length – Comprimento do endereço de Hardware.
Hops – O cliente coloca este campo a 0. Cada router que entrega a
mensagem a outro servidor incrementa-o.
Transaction ID – Fazer corresponder o Request com o Reply.
Seconds – Indicação do cliente, de quantos segundos já decorreram
desde que o seu processo de boot se iniciou.
Flags – bit mais significativo – Indicação de Broadcast.
Client IP address – Preenchido pelo Cliente com o seu end. IP ou
0.0.0.0; Server IP address – Preenchido pelo Servidor.
Your IP address – Preenchido pelo Servidor se o campo anterior era
0.0.0.0; Client Hard. Add.– Preenchido pelo Cliente.
Router IP address –Endereço do BOOTP Relay Agent.
Server Host name – Hostname do Servidor (Opcional).
Boot file name –Na resposta (DHCPOFFER), o servidor preenche este
DHCP e os nomes de domínio
(
domain names
)
DHCP não interage com o DNS (não automatiza todos os
procedimentos necessários para ligar um terminal à Internet)
Ligação entre nome do terminal e endereço IP atribuído pelo DHCP
é gerido independentemente
Que nome deve receber um terminal quando obtém endereço IP?
Terminal não recebe nome (inconveniente)
Atribuído um nome automaticamente com o endereço IP (administrador
de sistema pode configurar o servidor local de nomes para ter um nome associado a cada endereço IP – estático)
Atribuído nome ao terminal permanentemente – pode ser atingido pelo
nome onde quer que esteja
Nomes permanentes necessitam de coordenação entre DNS e DHCP
Servidor DNS tem de modificar a associação de nome a endereço sempre
que terminal recebe endereço IP, e tem de remover associação quando o “aluguer” do endereço expira
Ainda não existe protocolo para actualização dinâmica de DNS – enquanto
esse mecanismo não existir, não existe protocolo que mantenha nomes permanentes enquanto permite ao DHCP a modificação do endereço IP
Telnet
Login remoto
Implementação de um terminal virtual através da rede
Um utilizador no terminal duma máquina A consegue fazer login numa máquina B, em qualquer parte da rede, como se estivesse a fazer login no terminal da máquina B
Consequência: o utilizador tem os mesmos privilégios de
acesso quer o login seja local ou remoto (serviço transparente) Utilização do protocolo Telnet RFCs 854, 855
-(Telecommunications network) para implementar um serviço de login remoto
FTP –
File Transfer Protocol
FTP (
File Transfer Protocol
) - um serviço para gestão
de ficheiros entre máquinas sem ter que estabelecer
uma sessão remota tipo
Telnet
Transferência de ficheiros entre cliente e servidor (nos dois
sentidos)
Gestão de directórios
Não permite aceder a outra máquina para executar
programas remotamente
HTTP
Cliente
(browser)
Servidor
Web
Pedido RespostaProtocolo
HTTP
(TCP porto 80)
Permite o envio de mensagens (e ficheiros) entre utilizadores
Servidores de mail recebem e distribuem as mensagens
Baseia-se nos registos MX do DNS
Possibilidade de transferência de ficheiros binários junto com as
mensagens, codificados com 7 bits ( MIME, BASE64, BinHex, etc)
SMTP (Simple Mail Transport Protocol ) - RFC 821
Utiliza ligações TCP (porta 25) Utilizado entre
Programa de transferência de mail do sistema emissor Servidor de mail onde reside a mailbox de destino
Especifica
Modo de interacção entre o cliente e o servidor (comandos SMTP) Modo como são definidos os endereços
Protocolos de acesso a
Mailboxes
Permitem receber E-mails em sistemas que não possuem um servidorde E-mail SMTP, ou que não está continuamente ligado à rede (Internet ou Intranet empresarial)
Ex: Computador pessoal, Dispositivo móvel, etc É necessário
Uma mailbox num sistema de correio electrónico (SMTP) Uma conta para acesso à mailbox (login e password) Protocolos: POP3 e IMAP4
POP3
Baseia-se em ligações TCP entre os clientes e o servidor de POP3 (porto 110) Protocolo de troca de comandos para o acesso e download de mensagens do
servidor
Transferência ‘definitiva’ do servidor para o cliente
IMAP4 - Capacidades acrescidas em relação ao POP3
Gestão de pastas de mensagens no servidor
Possibilidade de gestão de várias mailboxes remotas em simultâneo
Possibilidade de definição de critérios para o download das mensagens (por tamanho, por blocos de mensagens, etc)
Mensagens são mantidas no servidor e replicadas para os clientes
Simple Network Managment
Protocol
(SNMP)
Necessidade de gestão de redes TCP/IP automatizada
WAN WAN WAN LAN LAN LAN LAN LAN LAN LAN LAN LAN