Tecnologia de Redes de Computadores Prof. Sidney Nicolau Venturi Filho 34. CAMADA DE APLICAÇÃO
Camada de Aplicação Compreende aplicações p/ várias finalidades Telnet, Rlogin - sessão remota FTP- transferência de arquivos Ping, Traceroute - gerência de rede SMTP, POP - correio eletrônico DNS - de nomes...
Resumo dos Protocolos TCP/IP S M T P F T P H T T P T E L N E T B G P R P C T F T P B O O T P D N S S N M P TCP UDP ICMP IGMP IP ARP RARP PPP Serial UNIX (-) Ethernet X.25 Win (-) TokenRing RFC 1577... ATM
Aplicação e protocolos de transporte da Internet Aplicação e-mail acesso de terminais remotos Web transferência de arquivos streaming multimídia de arquivos remoto telefonia Internet Protocolo de aplicação smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] RTP ou proprietário (ex.: RealNetworks) NSF RTP ou proprietário (ex.: Vocaltec) Protocolo de transporte TCP TCP TCP TCP TCP ou UDP TCP ou UDP tipicamente UDP 2-4
Tecnologia de Redes de Computadores Prof. Sidney Nicolau Venturi Filho 35. TELNET
Protocolo Telnet Transmite os toques do teclado do usuário ao computador remoto, como se estivessem sendo digitados no teclado conectado à máquina remota Terminal do usuario Cliente lê dados do terminal Cliente Telnet Sistema operacional Cliente envia dados ao Servidor recebe dados do cliente Servidor Telnet Sistema operacional Inter-rede TCP/IP Servidor envia dados para pseudoterminal
Protocolo Telnet Comando: telnet <IP da máquina remota> ou telnet <nome da máquina remota> comando equivalente rlogin (remote login) Cliente lê dados do terminal Cliente envia dados ao Terminal do usuario Cliente Telnet Sistema operacional Servidor recebe dados do cliente Servidor Telnet Sistema operacional Conexão TCP Servidor envia dados para pseudoterminal
Protocolo Telnet Cada caractere digitado é encapsulado em um segmento TCP e enviado e um segmento retorna ao cliente com o mesmo caracter ou um conjunto de caracteres é enviado após o <enter>. Terminal do usuario Cliente lê dados do terminal Cliente Telnet Sistema operacional Cliente envia dados ao Servidor recebe dados do cliente Servidor Telnet Sistema operacional Conexão TCP Servidor envia dados para pseudoterminal
Tecnologia de Redes de Computadores Prof. Sidney Nicolau Venturi Filho 36. FTP
ftp: o protocolo de transferência de arquivos usuário na estação Interface cliente do usuário FTP FTP sistema de arquivos local transferência do arquivo FTP sistema de arquivos remoto transferir arquivo de/para hospedeiro remoto modelo cliente/ cliente: lado que inicia transferência (pode ser de ou para o sistema remoto) : hospedeiro remoto ftp: RFC 959 ftp: porta 21
Protocolo FTP Funções do File Transfer Protocol Acesso Interativo: fornece uma interface interativa com vários comandos de transferência e manipulação de arquivos Especificação de Formato:permite que o cliente especifique o tipo e o formato dos dados armazenados(arquivo texto ou binário) Controle de Autenticação: FPT requer que os clientes estejam autorizados a acessar o (login e a senha).
ftp: conexões separadas p/ controle, dados cliente ftp contata ftp na porta 21, especificando TCP como protocolo de transporte são abertas duas conexões TCP paralelas: controle: troca comandos, respostas entre cliente,. controle fora da banda dados: dados de arquivo de/para ftp mantém estado : directório corrente, autenticação realizada cliente FTP conexão de controle TCP, porta 21 conexão de dados TCP, porta 20 FTP
Protocolo FTP Conexão de dados do cliente Transferencia de dados Sistema operacional Processo de controle Conexão de controle do cliente Conexão de controle do Processo de controle Sistema operacional Transferencia de dados Inter-rede TCP/IP Conexão de dados do
Tecnologia de Redes de Computadores Prof. Sidney Nicolau Venturi Filho 37. DNS
nome Sistema de Nome de Domínio (Domain Name System) - RFC 1034 linguagem mais alto nível fácil de lembrar fácil de pronunciar resolução de nomes /etc/hosts - pequenas redes NIS ou Yellow Page - redes médias DNS - Internet
o DNS define: Sistema de Nome de Domínio (cont.) a sintaxe dos nomes dos hosts na Internet as regras para delegar autoridade sobre partes do espaço de nomes a implementação de um sistema distribuído para o mapeamento de nomes em endereços o DNS utiliza: esquema hierárquico de nomes: nome de domínio paradigma cliente-
Nome de domínio seq. de labels separados por um delimitador. domínio raiz edu com gov us... br domínios de mais alto nível nome de domínios: - br - ufrj.br - gta.ufrj.br - nce.ufrj.br coe ufrj gta domínios de segundo-nível nce
Espaço de nomes dividido em zonas de autoridade o nome de domínio ufrj.br engloba todos os hosts da UFRJ a zona ufrj.br inclui somente os hosts administrados diretamente pela UFRJ H1 ufrj.br H2 H3 H4 gta.ufrj.br zona de autoridade ufrj.br
Servidores de nome um único físico pode controlar uma grande parte da hierarquia de nomes o raiz (root server) reconhece os domínios de mais alto nível conhece os es de cada domínio filho raiz ibm.com nsf.gov ucla.edu ufrj.br
DNS: Servidores raíz procurado por local que não consegue resolver o nome raíz: procura autoritativo se mapeamento desconhecido obtém tradução devolve mapeamento ao local ~ uma dúzia de es raíz no mundo
Servidores de nomes DNS Por quê não centralizar o DNS? ponto único de falha volume de tráfego base de dados centralizada e distante manutenção (da BD) Não é escalável! Nenhum mantém todos os mapeamento nome-para-endereço IP de nomes local: cada provedor, empresa tem de nomes local (default) pedido DNS de hospedeiro vai primeiro ao de nomes local de nomes autoritativo: p/ hospedeiro: guarda nome, endereço IP dele pode realizar tradução nome/endereço para este nome
Exemplo simples do DNS de nomes raíz hospedeiro manga.ic.uff.br requer endereço IP de www.cs.columbia.edu 1. Contata DNS local, pitomba.ic.uff.br 2. pitomba.ic.uff.br contata raíz, se necessário 3. Servidor raíz contata autoritativo cs.columbia.edu, se necessário local pitomba.ic.uff.br 1 2 6 solicitante manga.ic.uff.br 5 3 4 autoritativo cs.columbia.edu www.cs.columbia.edu
Exemplo de DNS Servidor raíz: pode não conhecer o de nomes autoritativo pode conhecer de nomes intermediário: a quem contactar para descobrir o de nomes autoritativo local pitomba.ic.uff.br 1 2 8 solicitante manga.ic.uff.br 7 3 6 de nomes raíz intermediário saell.cc.columbia.edu 4 5 autoritativo cs.columbia.edu www.cs.columbia.edu
DNS: consultas iteratadas de nomes raíz consulta recursiva: transfere a responsabilidade de resolução do nome para o de nomes contatado carga pesada? consulta iterada: consultado responde com o nome de um de contato Não conheço este nome, mas pergunte para esse 1 2 local pitomba.ic.uff.br 8 solicitante manga.ic.uff.br 3 4 7 consulta iterrada intermediário saell.cc.columbia.edu 5 6 autoritativo cs.columbia.edu www.cs.columbia.edu
DNS: uso de cache, atualização de dados uma vez um qualquer aprende um mapeamento, ele o coloca numa cache local futuras consultas são resolvidas usando dados da cache entradas no cache são sujeitas a temporização (desaparecem depois de certo tempo) ttl = time to live (sobrevida) estão sendo projetados pela IETF mecanismos de atualização/notificação dos dados RFC 2136 http://www.ietf.org/html.charters/dnsind-charter.html
Tecnologia de Redes de Computadores Prof. Sidney Nicolau Venturi Filho 38. DHCP
DHCP (Dynamic Host Configuration Protocol) modos de configuração manual: o associa máquinas específicas a @ específicos automática: o fornece um @ a uma máquina que se conecta pela primeira vez dinâmica: o empresta um @ por um tempo limitado
DHCP 0 8 16 24 31 OP HTYPE HLEN HOPS TRAN SACTION ID SEC ONDS FLAGS CLIENT IP @ YOUR IP @ S ERVER IP @ R OUTER IP @ CLIENT HARDW ARE @... (16 oct.) SER VER HO ST NAM E... (16 oct.) BOOT FI LE NAM E... OPTI... (128 oct.) ONS (Variable)
DHCP campos da mensagem são idênticos: es DHCP podem atender pedidos BOOTP campo FLAGS broadcast reply request campo OPTIONS tempo de empréstimo DHCPACK, DHCPNACK, DHCPREQUEST etc.
Tecnologia de Redes de Computadores Prof. Sidney Nicolau Venturi Filho 39. Correio Eletrônico
Três grandes componentes: agentes de usuário (UA) es de correio simple mail transfer protocol: smtp Agente de Usuário a.k.a. leitor de correio compor, editar, ler mensagens de correio p.ex., Eudora, Outlook, elm, Netscape Messenger mensagens de saída e chegando são armazenadas no Correio Eletrônico de correio SMTP de correio agente de usuário agente de usuário SMTP SMTP agente de usuário fila de mensagens de saída caixa de correio do usuário de correio agente de usuário agente de usuário agente de usuário
Correio Eletrônico: es de correio Servidores de correio caixa de correio contém mensagens de chegada (ainda não lidas) p/ usuário fila de mensagens contém mensagens de saída (a serem enviadas) de correio SMTP agente de usuário SMTP de correio agente de usuário protocolo smtp entre es de correio para transferir mensagens de correio cliente: de correio que envia : de correio que recebe de correio agente de usuário SMTP agente de usuário agente de usuário
Protocolos de accesso ao correio agente de usuário SMTP SMTP POP3 ou IMAP agente de usuário de correio do remetente SMTP: entrega/armazenamento no do receptor protocolo de accesso ao correio: recupera do POP: Post Office Protocol [RFC 1939]» autorização (agente <-->) e transferência IMAP: Internet Mail Access Protocol [RFC 1730]» mais comandos (mais complexo) de correio do receptor» manuseio de msgs armazenadas no HTTP: Hotmail, Yahoo! Mail, Webmail, etc.
Correio Eletrônico: smtp [RFC 821] usa tcp para a transferência confiável de msgs do correio do cliente ao, porta 25 transferência direta: remetente ao receptor três fases da transferência handshaking (cumprimento) transferência das mensagens encerramento interação comando/resposta comandos: texto ASCII resposta: código e frase de status mensagens precisam ser em ASCII de 7-bits
Cenário: Alice envia mensagem para Bob 1) Alice usa o agente de usuário (UA) para compor a mensagem e para bob@someschool.edu 2) O agente de usuário dela envia a mensagem para o seu de correio; a mensagem é colocada na fila de mensagens. 3) O lado cliente do SMTP abre uma conexão TCP com o de correio do Bob. 4) O cliente SMTP envia a mensagem de Alice pela conexão TCP. 5) O de correio de Bob coloca a mensagem na caixa de correio de Bob. 6) Bob invoca seu agente de usuário para ler a mensagem.
fase de autorização comandos do cliente: user: declara nome pass: senha responde +OK -ERR fase de transação, cliente: list: lista números das msgs retr: recupera msg por número dele: apaga msg quit Protocolo POP3 S: +OK POP3 server ready C: user ana S: +OK C: pass faminta S: +OK user successfully logged on C: list S: 1 498 S: 2 912 S:. C: retr 1 S: <message 1 contents> S:. C: dele 1 C: retr 2 S: <message 1 contents> S:. C: dele 2 C: quit S: +OK POP3 server signing off
Tecnologia de Redes de Computadores Prof. Sidney Nicolau Venturi Filho 40. HTTP
WWW: algum jargão Página WWW: consiste de objetos endereçada por uma URL Quase todas as páginas WWW consistem de: página base HTML, e vários objetos referenciados. URL tem duas partes: nome de hospedeiro, e nome de caminho: Agent de usuário para WWW se chama de browser: MS Internet Explorer Netscape Communicator Servidor para WWW se chama WWW : Apache (domínio público) MS Internet Information Server (IIS) www.univ.br/algum-depto/pic.gif
WWW: o protocolo http http: hypertext transfer protocol protocolo da camada de aplicação para WWW modelo cliente/ cliente: browser que pede, recebe, visualiza objetos WWW : WWW envia objetos em resposta a pedidos http1.0: RFC 1945 http1.1: RFC 2068 PC executa Explorer Mac executa Navigator Servidor executando WWW do NCSA
Mais sobre o protocolo http http: serviço de transporte TCP: cliente inicia conexão TCP (cria socket) ao, porta 80 aceita conexão TCP do cliente mensagens http (mensagens do protocolo da camada de apl) trocadas entre browser (cliente http) e e WWW ( http) encerra conexão TCP http é sem estado não mantém informação sobre pedidos anteriores do cliente Protocolos que mantêm estado são complexos! Nota história passada (estado) tem que ser guardada Caso caia /cliente, suas visões do estado podem ser inconsistentes, devem ser reconciliadas
formato de mensagem http: pedido Dois tipos de mensagem http: pedido, resposta mensagem de pedido http: ASCII (formato legível por pessoas) linha do pedido (comandos GET, POST, HEAD) linhas do cabeçalho Carriage return, line feed indicate fim de mensagem GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (carriage return (CR), line feed(lf) adicionais)
formato de mensagem http: resposta linha de status (protocolo, código de status, frase de status) dados, p.ex., arquivo html solicitado linhas de cabeçalho HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998... Content-Length: 6821 Content-Type: text/html dados dados dados dados...