Você está na página 1de 30

Sistemas Distribuídos

Aula 19 - 20 – Sistema de Nomes de Domínio

Prof. Ms. André Freitas


andrewashington@unigrande.edu.br
Introdução
Referências:
● Sistemas Distribuídos, Andrew S. Tanenbaum, Pearson 2ª edição
○ https://plataforma.bvirtual.com.br/Acervo/Publicacao/411

● Sistemas Distribuídos, Dalvan Jair Griebler, ed. SAGAH

● Arquitetura de Sistemas, Aline Maciel Zenker, ed. SAGAH, 2019


DNS
Mapeando Nomes em Números
○ Todo dispositivo conectado à Internet possui um identificador único (endereço IP e
porta)
■ necessário para localizar dispositivo
○ Humanos preferem nomes; computadores preferem números
■ João da Silva CPF: 119119119
■ www.ufc.br 146.164.170.36
○ Sistema (distribuído) que traduz nome para número
○ Como esta tradução é feita na Internet?
DNS
Nomeação

○ Nomes desempenham papel importante em todos os sistemas de computação


■ São usados, por exemplo, para compartilhar recursos e identificar entidades

○ Para resolver nomes é necessário implementar um Sistema de Nomes

○ Em um sistema distribuído, a implementação do sistema de nomes costuma ser


distribuída por várias máquinas
■ A forma como a distribuição é feita influencia diretamente na escalabilidade e
eficiência do sistema
DNS
Nomeação

○ Um sistema de nomeação mantém uma vinculação nome


■ endereço que em sua forma mais simples é apenas uma tabela de pares (nome,
endereço)
○ Em sistemas distribuídos de grande escala
■ é necessário usar tabelas descentralizadas
○ Um nome é decomposto em várias partes e a resolução é feita por meio de consultas
recursivas das partes:
ftp.cs.vu.nl

NS(.) NS(nl) NS(vu.nl) endereço de ftp.cs.vu.nl


DNS
Como mapear nomes?

● Um grande banco de dados com tabela nomes/endereço IP


○ Não possui escalabilidade
○ Não é tolerante a falhas
○ Como fazer controle de acesso?
■ quem pode atualizar dados do BD?
○ Quem é o responsável pelo sistema?
■ quem paga a conta?

● Replicação do BD não resolve os últimos dois problemas


DNS
Domain Name System

● Sistema distribuído para tradução de nomes (e serviços)


○ projetado e implementado em 1983 (pequenas mudanças desde então)
○ ex. mapeia www.ufc.br em 146.164.34.6
● Hierarquia de servidores de nomes (name server)
○ servidor de nome conhece mapeamento entre nome e IP de seus filhos na árvore
○ folhas guardam mapeamento definitivo: authoritative name servers
○ servidor que inicia pedido: local name server
DNS
Domain Name System

● Hierarquia segue estrutura de nomes definida pela separação por “.”


● Para cada nível e cada nó na árvore, temos um ou mais servidores
DNS
Domain Name System
● Sempre disponíveis, conhecem todos os TLD
● Contactados por local name servers
○ local name server conhece IP dos root name servers
● Resolvem os nomes (respondem com IP)
DNS
TLD e Authoritative Servers
● Servidores de Top-level Domain (TLD):
○ Responsáveis pelo domínio de mais alto nível
○ com, org, net, edu, etc, e todos os top-level domain dos países: br, ar, jp, ch, etc
○ NIC.br mantém servidores TLD para “br”, Network Solutions para “com”, Educause para
“edu”, etc
● Servidores Autoritativos:
○ Servidores que oferecem mapeamento definitivo entre nome e IP para um servidor ou
serviço (ex. Web, Email, etc)
○ Gerenciados pela própria organização, pelo provedor de serviço de internet (ISP), ou
CDN (ex. PESC gerencia seu próprio servidor DNS)
DNS
Local Name Server
● Recebe consulta proveniente dos dispositivos finais (ex. seu laptop)
○ dispositivo faz uma consulta DNS através de algum local name server
■ não pertence a hierarquia de servidores
■ cada organização ou ISP possui ao menos um
■ também chamado de “default name server”
● Faz o papel de proxy, pois envia a consulta para a hierarquia de servidores e responde aos
dispositivos
DNS
Local Name Server
● Host cis.poly.edu quer endereço IP de
gaia.cs.umass.edu
● Consulta iterativa:
○ Servidor contactado responde com IP do
servidor para contactar
■ “Eu não conheço este nome, mas
pergunte a este servidor”
DNS
Local Name Server
● Host cis.poly.edu quer endereço IP de
gaia.cs.umass.edu
● Consulta recursiva:
○ Servidor repassa a consulta para outro
servidor e aguarda resposta
■ “Eu não conheço este nome, mas vou
descobrir e te responder”
DNS
Local Name Server
● Consulta iterativa:
DNS
Local Name Server
● Consulta recursiva:
DNS
Local Name Server
● Consulta recursiva:
○ principal desvantagem
■ impõe uma exigência de desempenho mais alta ao servidor de nomes
■ manipular a resolução completa de um caminho

○ duas vantagens
■ Mantém os resultados intermediários em cache o que pode ser mais efetivo
● Cada servidor de nomes no caminho aprende gradativamente o endereço de
cada servidor de nomes de nível mais baixo
■ Custos de comunicação podem ser reduzidos
DNS
Local Name Server
● Consulta recursiva (cache):
DNS
DNS: caching e atualização
● Caching usado amplamente por todos servidores DNS
○ servidor armazena mapeamento e responde com valores armazenados, finalizando a
consulta
● IP dos TLDs tipicamente cacheado nos local name servers
○ diminui carga nos root name servers
● Cópias em cache podem estar desatualizadas
○ valores cacheados expiram depois do TTL
● Mecanismo de controle de cache (TTL, redundância) projetado pelo IETF (RFC 2136)
DNS
DNS
● Um dos sistemas mais importantes da Internet
○ implementada como protocolo de camada de aplicação
● Sofre ataques constantemente
○ mas não consegue ser derrubado
○ o conteúdo não é centralizado, mas distribuído em múltiplos servidores em locais
diferentes
DNS
DNS
● Content Distribution Network (CDN)
○ replicar o conteúdo e armazenar o mais próximo possível do cliente
● Escolher um bom servidor
○ mais próximo geograficamente do cliente
○ menor latência de rede até o cliente
● Como determinar?
○ geolocalização dos endereços IP
○ ping entre servidores CDN e os servidores de
DNS das ISPs.
● Cliente pode escolher
IOT
Internet of Things
● O termo foi sugerido em 2009 por Kevin Ashton
● Refere-se a objetos unicamente identificáveis e suas representações virtuais em
uma infraestrutura de internet
○ Se todos os dispositivos possuem identificadores únicos, eles podem
ser gerenciados por sistemas computacionais
○ Um mundo onde todos os objetos e pessoas possuem identificadores
e estão conectados pela internet é chamado Internet das Coisas.
IOT
Internet of Things
● 5G 2020 - 2030
● Conexão de 7 bi de pessoas e 7 tri de coisas
IOT
Internet of Things
● 5G 2020 - 2030
● Conexão de 7 bi de pessoas e 7 tri de coisas
IOT
Internet of Things
● 5G 2020 - 2030
● Conexão de 7 bi de pessoas e 7 tri de coisas
IOT
Internet of Things

IOT
Histórico da Internet
● 1969: ARPANET transmite seu primeiro pacote de dados. É a primeira rede a usar
o TCP/IP.
● 1970: Mark I Network (rede orientada a pacotes)
● 1973: Mark II Network
● 1974: Telenet (rede comercial americana orientada a pacotes)
● 1980: Ethernet
● 1990: GOSIP(Government Open Systems Interconnection Profile)
● 1994: Primeiro mecanismo de pesquisa de texto web
● 1995: IPv6 (torna o IoT possível)
● 1995: Amazon inicia o seu primeiro serviço de vendas online
● 1995: eBay inicia seu serviço de vendas online
● 1996: Hotmail fornece um serviço de email gratuito baseado na web
● 1998: Google Search Engine é oficialmente lançado
● 1998: PayPal inicia o primeiro serviço de pagamentos pela internet.
IOT
Histórico da Internet

● 2000: Explosão das .com, crescimento da ações, pessoas ao redor do mundo


começam a usar a Internet, redes sociais surgem
● 2001: Wikipedia
● 2004: Facebook
● 2005: YouTube
● 2006: Twitter, WikiLeaks
IOT
Histórico da Internet Móvel

● 1973: O primeiro telefone móvel realiza uma chamada, no dia 3 de abril.


● 1996: O Nokia 9000 Communicator foi o primeiro telefone móvel comercial a ter
conexão com a internet
● 2007: Apple iPhone geração 1
● 2007 ~ 2011: Era da telefonia móvel
● 2012: Número de dispositivos IoT cresce diariamente
IOT
Histórico da Internet Móvel

● 1973: O primeiro telefone móvel realiza uma chamada, no dia 3 de abril.


● 1996: O Nokia 9000 Communicator foi o primeiro telefone móvel comercial a ter
conexão com a internet
● 2007: Apple iPhone geração 1
● 2007 ~ 2011: Era da telefonia móvel
● 2012: Número de dispositivos IoT cresce diariamente
Conclusão
Na aula de hoje vimos as principais características da comunicação em
sistemas distribuídos, analisando o funcionamento da chamada de
procedimento remoto.

Você também pode gostar