Resolução de Nomes e Endereços



Documentos relacionados
Laboratório 3. Configurando o Serviço DNS

Obter conhecimentos básicos sobre programação socket para desenvolver softwares clientes.

DNS - Domain Name System

Capítulo 5. nome. DNS ( Domain Name System ). O serviço BIND. Um dos serviços mais importantes numa rede TCP/IP é o serviço DNS.

UM dos protocolos de aplicação mais importantes é o DNS. Para o usuário leigo,

DNS Parte 2 - Configuração

Universidade Católica de Brasília Pró-reitoria de Graduação Curso de Ciência da Computação

Resolução de nomes. Professor Leonardo Larback

Instalação e Configuração Servidor DNS

Rafael Goulart - rafaelgou@gmail.com Curso ASLinux v.3

Arquitectura de Redes

Formação IPv6 Maputo Moçambique 26 Agosto 29 Agosto 08

DNS - Domain Name System

BIND Um DNS Server Completo

Sistemas de Nomes Hierarquicos: DNS

Arquitectura de Redes

Linux Network Servers

Um dos serviços mais importantes numa rede TCP/IP é o serviço DNS. Porquê? Porque é muito mais fácil lembrar nomes do que números IP!

Introdução a DNS & DNSSEC 1

Arquitectura de Redes

PROTOCOLOS DE COMUNICAÇÃO

Orientador de Curso: Rodrigo Caetano Filgueira

LAB06 Configuração de um servidor de DNS Aplicação nslookup. Servidor BIND.

Configurando servidor de DNS no CentOS O Domain Name System Sistema de Nomes de Domínio é de fundamental importância em uma rede.

Serviços de Redes. Servidor DNS (Bind) Professor: Alexssandro Cardoso Antunes

edu com org pt ibm sapo cs iscap

Programação com Sockets TCP e UDP - Cliente. Gustavo Leitão

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

DNS. Parte 2 - Configuração. Tópicos em Sistemas de Computação Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.org

Configurando DNS Server. Prof. Armando Martins de Souza

Instalando e configurando servidor de DNS no Windows 2008R2

Redes de Computadores II

Aula 3 Servidor DNS BIND

Sistemas de Operação Sockets

Redes. Pablo Rodriguez de Almeida Gross

Instalando e Configurando o DNS Server

DNS Linux. Rodrigo Gentini

PROJETO INTERDISCIPLINAR I

unesp UNIVERSIDADE ESTADUAL PAULISTA

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

Redes de Computadores

Endereço de Rede. Comumente conhecido como endereço IP Composto de 32 bits comumente divididos em 4 bytes e exibidos em formato decimal

Programação TCP/IP. Protocolos TCP e UDP

HYPERTEXT TRANSFER PROTOCOL

Configuração de DNS em Windows Servidor 2008

Sistemas Operacionais de Rede. Configuração de Rede

Redes de Computadores

Redes de Computadores

Redes de Computadores. Funcionamento do Protocolo DNS. Consulta DNS. Consulta DNS. Introdução. Introdução DNS. DNS Domain Name System Módulo 9

Administração de Redes Redes e Sub-redes

Relatório do Trabalho Prático nº 1. DNS e DHCP. Documento elaborado pela equipa: Jorge Miguel Morgado Henriques Ricardo Nuno Mendão da Silva



INTERNET = ARQUITETURA TCP/IP

Prof. Marcelo Cunha Parte 5

TCP é um protocolo de TRANSMISSÃO, responsável pela confiabilidade da entrega da informação.

Breve introdução ao DNS Uma abordagem prática (aka crash course on DNS :))

Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Instalando e Configurando o DNS Server

Redes de Computadores e a Internet

Configuração de um servidor DNS. Campus Cachoeiro Curso Técnico em Informática

Capítulo 8 Introdução a redes

TROCA DE MENSAGENS SOCKETS. Comunicando processos através de SOCKETS. SOCKETS com conexão. SOCKETS sem conexão

Segurança de Redes de Computadores

Curso de extensão em Administração de Serviços GNU/Linux

Sistemas Operacionais de Redes. Aula: Gerenciamento de rede Professor: Jefferson Igor D. Silva

CST em Redes de Computadores

Curso de Pós Graduação em Redes de Computadores. Módulo Laboratório de Linux Apostila 2. Serviço DNS

Aula-28 Camada Aplicação - DNS. Prof. Dr. S. Motoyama

Capacitação IPv6.br. Serviços em IPv6. Serviços rev

Introdução ao DNS. Volnys Borges Bernal Laboratório de Sistemas Integráveis

Capítulo 8 - Aplicações em Redes

Gestão de Sistemas e Redes

GNU/Linux Debian Servidor DNS

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

DNS: Domain Name System

Sistemas Distribuídos Aula 9

Rafael Dantas Justo. Engenheiro de Software

Introdução à Camada de Aplicação. Prof. Eduardo

Aula prática. Objetivo IPCONFIG. Prof. Leandro Pykosz Informa a configuração atual de rede da máquina;

CAMADA DE TRANSPORTE

Passos Preliminares: Acessando a máquina virtual via ssh.

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA

TCP/IP. Luís Moreira 2014/2015 Módulo 8 - IMEI

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

REDES DE COMPUTADORES

Redes de Computadores. Ricardo José Cabeça de Souza

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de Página

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS DE RESOLUÇÃO DE NOMES (DNS E WINS). Professor Carlos Muniz

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Transcrição:

Resolução de Nomes e Endereços MC833 Programação em Redes de Computadores Instituto de Computação UNICAMP Carlos A. Astudillo Trujillo

Roteiro 1.Noção sobre nomes e funcionamento do DNS 2.Funções para nomes de máquinas 3.Funções para nomes de serviços 4.Funções auxiliares A maior parte do conteúdo é do Capitulo 11 do livro texto.

Conversão de nomes Endereço IP (host) e portas (serviços) são números Ideal é usar nomes Hosts Simple Name myserver Fully Qualified Domain Name (FQDN) ou Absolute Name myserver.unicamp.br

Domain Name System Funciona como uma Lista Telefônica. É um sistema hierárquico e distribuído de nomes para computadores, serviços ou qualquer outro recurso ligado à Internet. Traduz Nomes de Domínio para Endereços IP que são requeridos para localizar serviços de computador e dispositivos. É um componente essencial do funcionamento da Internet.

Domain Name System É um serviço cliente/servidor baseado em hierarquias Parte cliente é conhecida como resolver e a parte servidora como name server. As conexões entre o cliente e o servidor se dão através do protocolo UDP e porta 53.

Domain Name System

Domain Name System O resolver contata o servidor DNS por chamadas resolvers: gethostbyname e gethostbyaddr Servidor geralmente é implementado em linux usando o software Berkeley Internet Name Domain (BIND).

Arquivo de Configuracao no Servidor DNS (BIND) // Boot file for unicamp.br name server // Exemplo de conteudo do arquivo /etc/named.conf no servidor DNS options { directory "/var/named"; }; zone "unicamp.br" { type master; file "zone/unicamp.br"; };

Resource Records (RR) RR são as entradas no Domain Name Server (DNS). #Conteudo arquivo /var/named/zone/unicamp.br $ORIGIN unicamp.br ; start of this zone file in the namespace $TTL 1h ; default expiration time of all resource records without their own TTL value localhost IN A 127.0.0.1 mail1 IN A 192.168.0.101 mail12 IN A 192.168.0.102 myserver IN A 192.168.0.100 IN AAAA 3ffe:b80:1f8d:1:a00:20ff:fea7:686b IN MX 5 mail1.unicamp.br. IN MX 10 mail2.unicamp.br. ftp IN CNAME myserver.unicamp.br www IN CNAME myserver.unicamp.br funny IN A 192.168.0.100

Resource Records (RR) A nome para IPv4. AAAA ( quad A ) nome para Ipv6. PTR endereço IP em nome de estação cada byte do endereço IPv4 é convertido para decimal e então para ASCII. MX mail exchanger para a estação. CNAME usado para associar registros a nome de serviços comuns (nome em nome).

O dilema da galinha e o ovo na configuracao do servidor DNS

Alternativas ao DNS Arquivos estáticos (/etc/hosts). Network Information Service (NIS). Particular para cada SO.

Exemplo do arquivo /etc/hosts castudillo@quechua:~$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 quechua # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters

Função gethostbyname Os host são conhecidos geralmente por nomes legíveis. A maioria das aplicacoes usam nomes e não enderecos IP.

gethostbyname #include <netdb.h> struct hostent *gethostbyname (const char *hostname); Returns: non-null pointer if OK,NULL on error with h_errno set struct hostent { char *h_name; /* official (canonical) name of host */ char **h_aliases; /* pointer to array of pointers to alias names */ int h_addrtype; /* host address type: AF_INET */ int h_length; /* length of address: 4 */ char **h_addr_list; /* ptr to array of ptrs with IPv4 addrs */ }; #define h_addr h_addr_list[0] /* for backward compability */

Diagrama da estrutura hostent

gethostbyname Erro é retornado em h_errno (netb.h) HOST_NOT_FOUND TRY_AGAIN NO_RECOVERY NO_DATA Função hstrerror detalha o erro

Exemplos de saídas

Exemplos de saídas

Resolver para endereços IPv6 Opção para retornar somente endereço Ipv6 Na aplicação: res_init(); res.options = RES_USE_INET6; Por usuário export RES_OPTIONS=inet6 No sistema /etc/resolv.conf options inet6

gethostbyaddr #include <netdb.h> struct hostent *gethostbyaddr (const char *addr, socklen_t len, int family); Returns: non-null pointer if OK, NULL on error with h_errno set *addr é ponteiro para in_addr ou in_addr6 contendo endereço IPv4 ou IPv6 len - tamanho da estrutura 4 (IPv4) ou 16 (IPv6) family AF_INET ou AF_INET6

uname Retorna nome da estação (mesma idéia do comando dos SOs Unix-like) #include <sys/utsname.h> int uname(struct utsname *name); Returns: nonnegative value if OK, -1 on error

gethostname Retorna nome da estação (semelhante ao uname mas mais simples) #include <unistd.h> int gethostname( char *name, size_t namelen); Returns: 0 if OK, -1 on error

getservbyname Retorna nome do serviço (Lê o /etc/services) #include <netdb.h> Struct servent * getservbyname( const char *servname, const char * protoname); Returns: nonnull pointer if OK, NULL on error

Arquivo /etc/services castudillo@quechua:~$ cat /etc/services tcpmux 1/tcp # TCP port service multiplexer daytime 13/tcp daytime 13/udp ftp-data 20/tcp ftp 21/tcp fsp 21/udp fspd ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp telnet 23/tcp smtp 25/tcp mail time 37/tcp timserver time 37/udp timserver tacacs 49/udp re-mail-ck 50/tcp # Remote Mail Checking Protocol re-mail-ck 50/udp domain 53/tcp # Domain Name Server domain 53/udp

getservbyport Procura serviço pela porta + protocolo #include <netdb.h> Struct servent * getservbyport(int port, const char * protoname); Returns: nonnull pointer if OK, NULL on error