Redes de Computadores Aula 4



Documentos relacionados
Sistemas Distribuídos Capítulos 5 e 6 - Aula 9

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Redes de Computadores. Prof. Thiago Caproni Tavares DNS. Prof. Thiago Caproni Tavares

Resolução de Nomes e o protocolo DNS

INTRODUÇÃO ÀS REDES DE COMPUTADORES

DNS e Serviço de Nomes. Professor: João Paulo de Brito Gonçalves Disciplina: Serviço de Redes

Redes de Computadores

Sistemas Distribuídos Aula 9

NOMEAÇÃO SISTEMAS DISTRIBUÍDOS: MSC. DANIELE C. OLIVEIRA 2

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

Redes de Computadores e a Internet

INTRODUÇÃO ÀS REDES DE COMPUTADORES

DNS: Sistema de Nomes de Domínio

Aula 6 Camada de Aplicação Sistema de correio eletrônico e DNS

DNS: Domain Name System

Segurança de Redes de Computadores

Rede de Computadores II

DNS - Domain Name System

Comunicação entre processos

PROTOCOLOS DE COMUNICAÇÃO

Teleprocessamento e Redes

Sistema de Distribuição de Nomes de Domínios (DNS)

Camada de aplicação Conceitos, implementação de protocolos da camada de aplicação

Redes de Computadores Aula 3

Domain Name System. Domain Name System DNS

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

Tipos de Redes. Redes de Dados. Comunicação em Rede Local. Redes Alargadas. Dois tipos fundamentais de redes

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

UNIVERSIDADE. Sistemas Distribuídos

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza

Redes de Computadores. Arquitetura de Protocolos Profa. Priscila Solís Barreto

Sistemas Distribuídos Java Sockets

Tipos de Redes. Dois tipos fundamentais de redes

Camada de aplicação. Aplicações em rede

Protocolos da camada aplicação

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

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

Teleprocessamento e Redes

DNS - Domain Name System

Capítulo 2 Camada de aplicação

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

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

sockets interprocess communication Taisy Weber

Redes de Computadores

Fernando M. V. Ramos, RC (LEI), TP03. DNS. Redes de Computadores

Redes de Computadores

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:

Agenda. Introdução ao DNS. O que é DNS? O que é DNS? O que é DNS? Funcionamento básico

QUESTÕES PRÁTICAS EM MEDIÇÕES DA INTERNET

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

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

Revisão. Karine Peralta

Camada de Transporte, protocolos TCP e UDP

Redes de Computadores

Prof. Marcelo Cunha Parte 5

DWEB. Design para Web. Fundamentos Web I. Curso Superior de Tecnologia em Design Gráfico

Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 17 de junho de 2015

Capítulo 1 PROTOCOLOS FUNDAMENTAIS DA INTERNET

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

Prof. Samuel Henrique Bucke Brito

REDES DE COMPUTADORES

PTC Aula A camada de aplicação. (Kurose, p ) 10/03/2017

Resolução de nomes. Professor Leonardo Larback

SERVIÇO DE NOMES. Sistemas Distribuídos. Vinícius Pádua

unesp UNIVERSIDADE ESTADUAL PAULISTA

VLSM (Variable Length Subnet Mask)

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

Laboratório de Redes. Aula 04 - Principais Protocolos da Internet. Prof. Esp Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br

A Camada de Transporte

Arquitectura de Redes

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

Rede de Computadores

Arquitectura de Redes

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

Cap 03 - Camada de Aplicação Internet (Kurose)

DNS Domain Name System

Rede de Computadores (REC)

DNS DHCP Proxy -Firewall. Recomenda-se o acompanhamento destes slides juntamente com a apostila DNS-Proxy-DHCP- Firewall

REDES DE COMPUTADORES

Funcionamento de ARP entre redes (sub-redes) distintas. Mecanismos de entrega. Funcionamento entre redes (sub-redes): default gateway

Programação de Sockets

HYPERTEXT TRANSFER PROTOCOL

REDES DE COMPUTADORES

GESTÃO DE SISTEMAS E REDES DOMAIN NAME SYSTEM

Transcrição:

Redes de Computadores Aula 4 Aula passada Protocolo em camadas Aplicações C/S x P2P Aula de hoje DNS Sockets Programação com sockets Web

DNS: Domain Name System Pessoas: muitos idenftificadores: CPF, passaporte, nome Máquinas na Internet: Endereço IP (32 bits) usado para endereçar hosts nome, e.g., ww.yahoo.com usado por nós Prob: Como mapear entre endereço IP e nome? Domain Name System: Banco de dados distribuído implementado em hierarquia de servidores de nome (name servers) Protocolo na camada de aplicação máquinas, roteadores, se comunicam para resolver os nomes (traduzir nome/ip) Função central da Internet sendo implementada na camada de aplicação Complexidade está nas extremidade da rede princípio da Internet Por que não centralizado?

Banco de Dados Distribuído e Hierárquico Root DNS Servers com DNS servers br DNS servers edu DNS servers yahoo.com DNS servers amazon.com DNS servers ufrj.br DNS servers poly.edu DNS servers umass.edu DNS servers cos.ufrj.br DNS servers land.ufrj.br DNS servers

DNS: Root name servers contacted by local name server that can not resolve name root name server: contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 36 other locations) a Verisign, Dulles, VA c Cogent, Herndon, VA (also LA) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 21 locations) k RIPE London (also 16 other locations) i Autonomica, Stockholm (plus 28 other locations) m WIDE Tokyo (also Seoul, Paris, SF) 13 root name servers worldwide b USC ISI Marina del Rey, CA l ICANN Los Angeles, CA

TLD e Authoritative Servers Top-level domain (TLD) servers: responsible for com, org, net, edu, etc, and all top-level country domains uk, fr, ca, jp, br. Network Solutions maintains servers for com TLD Educause for edu TLD NIC.br for br TLD Authoritative DNS servers: organization s DNS servers, providing authoritative hostname to IP mappings for organization s servers (e.g., Web, mail). can be maintained by organization or service provider

Local Name Server does not strictly belong to hierarchy each ISP (residential ISP, company, university) has one. also called default name server when host makes DNS query, query is sent to its local DNS server acts as proxy, forwards query into hierarchy

DNS name root DNS server resolution example 2 Host at cis.poly.edu wants IP address for gaia.cs.umass.edu 3 4 5 TLD DNS server iterated query: contacted server replies with name of server to contact I don t know this name, but ask this server local DNS server dns.poly.edu 1 8 requesting host cis.poly.edu 7 6 authoritative DNS server dns.cs.umass.edu gaia.cs.umass.edu

DNS name resolution example root DNS server recursive query: 2 3 puts burden of name resolution on contacted name server 7 6 TLD DNS server heavy load? local DNS server dns.poly.edu 5 4 1 8 requesting host cis.poly.edu authoritative DNS server dns.cs.umass.edu gaia.cs.umass.edu

DNS: caching and updating records once (any) name server learns mapping, it caches mapping cache entries timeout (disappear) after some time TLD servers typically cached in local name servers Thus root name servers not often visited update/notify mechanisms under design by IETF RFC 2136

Comunicação entre Processos Como processos se comunicam? o que é um processo? IPC: sinais, pipes, etc Como processos em máquinas distintas se comunicam? Sockets, RPC

Sockets Interface entre aplicação e sistema operacional (system call) Processo escreve/le dados do socket similar a arquivo Dados escritos de um lado do socket chegam ao outro lado camada de transporte faz a entrega processo socket TCP with buffers, variables Controlado pelo SO Controlado pelo desenvolvedor Internet Aplicação escolhe serviço de transporte (TCP, UDP), seta alguns parâmetros (buffer, etc) processo socket TCP with buffers, variables

Endereçando Processos Como endereçar um processo em outra máquina? Processos precisam ter endereço único na rede! Endereço IP identifica a máquina na Internet é suficiente? Não! Mais de um processo em execução na mesma máquina Porta: identifica processo dentro da máquina Ex. 146.164.34.2, porta 80 (servidor HTTP do PESC)

Programação Socket com TCP Processo cliente Cria socket local escolhe porta local Especifica IP e porta do processo servidor Estabelece conexão do socket conexão TCP Processo servidor Cria socket local escolhe porta Aguarda conexão do cliente na porta Ao receber conexão do cliente, cria novo socket para comunicação com cliente Permite atender múltiplos clientes

Endereçando Processos com TCP IP e porta identifica processo em uma máquina Como identificar socket dentro do mesmo processo? Utilizar IP/porta de origem! 4-tupla (origem e destino) identifica conexão TCP processo socket IP: 146.164.35.46 Porta: 2198 processo socket socket IP: 146.164.34.2 Porta: 80 processo socket IP: 146.164.35.5 Porta: 3121

Funcionamento Processo Servidor (146.164.34.2, 80) create socket, port=80, for incoming request: welcomesocket = ServerSocket() TCP connection setup wait for incoming connection request connectionsocket = welcomesocket.accept() receive message from connectionsocket (read) write reply to connectionsocket (write) Processo Cliente create socket, connect to 146.164.34.2, port=80 clientsocket = Socket() send message using clientsocket (write) Receive message from clientsocket (read) close connectionsocket (close) close clientsocket

Trabalho Aprender o uso de sockets Aplicação cliente/servidor (bem simples) a ser definido em breve Comunicação entre processos usando sockets TCP, sequencial ou com threads Sua linguagem de programação preferida mas tem que usar sockets!