• Nenhum resultado encontrado

RECO 2010 TextoDidatico1 Aulas20 22

N/A
N/A
Protected

Academic year: 2021

Share "RECO 2010 TextoDidatico1 Aulas20 22"

Copied!
8
0
0

Texto

(1)

Texto Didático 4

Quais os eventos que acontecem quando se acessa um site através de um navegador  web, desde o momento em que o usuário preenche a barra de endereços do navegador  web até a carga e exibição do site solicitado?

Ao   inicializar   o  computador,  durante   a   carga   das   configurações   de   rede   TCP/IP,   um  endereço IP deve ser atribuído ao host. Ele pode ser obtido de três diferentes formas: i. Estático: configurado pelo administrador do host;

ii. Dinâmico: Via protocolo de aquisição de configurações TCP/IP, como o DHCP;

iii. Automático:   via   APIPA   (Automatic   Private   IP   Addressing).   Caso   a   obtenção   do  endereço IP, via protocolo de aquisição, falhe, e o sistema operacional do host suporte  o   APIPA   e   o   mesmo   esteja   ativado,   será   configurado   um   endereço   IP   na   faixa:  169.254.0.1 a 169.254.255.254.

Obtido o endereço IP do host, e sendo intrínseco à placa de interface de rede(NIC –  Network   Interface   Card)   a   existência   de   um   endereço   físico,   o   endereço   MAC,   para  acessar um outro nó TCP/IP, deve­se obter o endereço MAC de destino e o endereço IP  do destino. Assim que o usuário realiza o evento para a busca da página web, por exemplo  www.google.com.br, o navegador terá que traduzir a URL que compõe o nome do website  de destino no endereço IP de destino. Primeiramente, é verificado o arquivo local de  mapeamento de nomes em IPs. Por exemplo, no Linux 2.6, /etc/hosts, e no Windows  XP,  c:\windows\system32\drivers\etc\hosts.   Caso   não   haja   uma  correspondência no arquivo estático de mapeamento, é enviada uma solicitação DNS,  equivalente à exibida abaixo(a captura da soliticação foi realizada através do Analisador  de Tráfego Wireshark): No.     Time        Source      Destination       Protocol Info 22     2.100799     172.17.118.127         172.17.33.26         DNS   Standard query AAAA www.google.com.br Frame 22 (77 bytes on wire, 77 bytes captured) Ethernet II, Src: 00:a0:d1:63:7f:4a (00:a0:d1:63:7f:4a), Dst: 00:15:c5:5f:a2:d2  (00:15:c5:5f:a2:d2) Internet   Protocol,   Src:   172.17.118.127   (172.17.118.127),   Dst:   172.17.33.26  (172.17.33.26) User Datagram Protocol, Src Port: 33170 (33170), Dst Port: 53 (53) Domain Name System (query)     [Response In: 25]     Transaction ID: 0x7f9c     Flags: 0x0100 (Standard query)     Questions: 1     Answer RRs: 0     Authority RRs: 0     Additional RRs: 0     Queries

(2)

        www.google.com.br: type AAAA, class IN       Name: www.google.com.br

      Type: AAAA (IPv6 address)       Class: IN (0x0001)

Esta solicitação é enviada para o endereço IP do servidor DNS configurado no host.  Neste   caso,   o   endereço   IP   do   servidor   DNS   é   172.17.33.26,   conforme   pode   ser  observado pela Figura 1 abaixo:

A resposta a solicitação DNS pode ser observada a seguir:

No.     Time        Source      Destination       Protocol Info    28 2.673195    172.17.33.26      172.17.118.127        DNS      Standard   query response  CNAME www.google.com  CNAME www.l.google.com  A 64.233.169.103  A  64.233.169.147 A 64.233.169.99 A 64.233.169.104 Frame 28 (189 bytes on wire, 189 bytes captured) Ethernet II, Src: 00:15:c5:5f:a2:d2 (00:15:c5:5f:a2:d2), Dst: 00:a0:d1:63:7f:4a  (00:a0:d1:63:7f:4a) Internet   Protocol,   Src:   172.17.33.26   (172.17.33.26),   Dst:   172.17.118.127  (172.17.118.127) User Datagram Protocol, Src Port: 53 (53), Dst Port: 33170 (33170) Domain Name System (response)     [Request In: 26]     [Time: 0.344429000 seconds]     Transaction ID: 0x4b72     Flags: 0x8180 (Standard query response, No error)     Questions: 1     Answer RRs: 6     Authority RRs: 0     Additional RRs: 0     Queries         www.google.com.br: type A, class IN       Name: www.google.com.br       Type: A (Host address) Figura 1: Endereço IP do Servidor DNS

(3)

      Class: IN (0x0001)     Answers         www.google.com.br: type CNAME, class IN, cname www.google.com         www.google.com: type CNAME, class IN, cname www.l.google.com         www.l.google.com: type A, class IN, addr 64.233.169.103 A linha destacada exibe o endereço IP para a URL www.google.com.br. Uma vez obtido o  endereço IP de destino, resta apenas descobrir o endereço MAC de destino. O protocolo  ARP (Address Resolution Protocol) é utilizado com esse objetivo. Uma vez de posse do  endereço IP de destino, uma solicitação ARP é enviada, em  broadcast  de camada 2  (ff:ff:ff:ff:ff:ff).  A   máquina   que   contiver   o   endereço   IP   enviado   na   mensagem   ARP   irá  responder à solicitação. A resposta contém o endereço MAC do destino a ser alcançado.  Há ocasiões nas quais são utilizados dispositivos ProxyARP. Esses dispositivos enviam  seu próprio endereço MAC, uma vez que não é possível encaminhar uma solicitação em 

broadcast através dos mesmos. Um exemplo são roteadores.

De   posse   dos   4   endereços   necessários   ao   encaminhamento   da   solicitação   do  navegador web, procede­se ao estabelecimento de uma conexão TCP. Esse processo é  chamado de three­way handshake. Observe a Figura 2 abaixo. Trata­se do cabeçalho do protocolo TCP, responsável pelo estabelecimento da conexão  fim­a­fim. i. O cliente envia um segmento SYN, definindo o número da porta do servidor remoto ao  qual ele deseja se conectar (nesse caso, 80) e o Initial Sequence Number(ISN) (Número  de seqüência inicial, ou seja, o primeiro valor presente no campo Sequence Number da  Figura 2), que, neste caso, é igual a 0 (zero), conforme mostrado abaixo: Figura 2: Cabeçalho TCP

(4)

Frame 11 Transmission Control Protocol, Src Port: 58173 (58173), Dst Port: http (80), Seq: 0, Len: 0 Source port: 58173 (58173) Destination port: http (80) Sequence number: 0 (relative sequence number) Header length: 40 bytes Flags: 0x0002 (SYN) Window size: 23232 (scaled) Checksum: 0x5185 [correct] Options: (20 bytes) ii. O servidor responde com seu próprio segmento SYN, contendo o ISN do servidor. Ele  também confirma o SYN enviado pelo cliente, ativando a flag ACK, e preenchendo o  campo ACKNOWLEDGMENT com o valor do campo de sincronização anterior, acrescido  de 1: Frame 12 Transmission Control Protocol, Src Port: http (80), Dst Port: 58173 (58173), Seq: 0, Ack: 1, Len: 0 Source port: http (80) Destination port: 58173 (58173) Sequence number: 0 (relative sequence number) Acknowledgement number: 1 (relative ack number) Header length: 40 bytes Flags: 0x0012 (SYN, ACK) Window size: 23168 (scaled) Checksum: 0x1e94 [correct] Options: (20 bytes)

iii.   O   cliente,   então,   deve   confirmar   o   SYN   proveniente   do   servidor,   através   de  confirmação, que segue o mesmo procedimento anterior, ou seja, ativa a flag ACK e  acresce 1 ao valor do ISN do remetente. Além disso, o cliente já envia o próximo número  de seqüência: Frame 13 Transmission Control Protocol, Src Port: 58173 (58173), Dst Port: http (80), Seq: 1, Ack: 1, Len: 0 Source port: 58173 (58173) Destination port: http (80) Sequence number: 1 (relative sequence number) Acknowledgement number: 1 (relative ack number) Header length: 32 bytes Flags: 0x0010 (ACK) Window size: 5808 (scaled) Checksum: 0x5e1c [correct] Options: (12 bytes)

(5)

Logo após o estabelecimento da conexão, a solicitação HTTP, realizada pelo navegador  web, pode ser enviada ao servidor HTTP de destino, conforme exibido abaixo: No.     Time        Source      Destination       Protocol Info      32 2.674204    172.17.118.127        64.233.169.103        HTTP     GET /  HTTP/1.1 Frame 32 (834 bytes on wire, 834 bytes captured) Ethernet II, Src: 00:a0:d1:63:7f:4a (00:a0:d1:63:7f:4a), Dst: 00:18:8b:74:43:28  (00:18:8b:74:43:28) Internet   Protocol,   Src:   172.17.118.127   (172.17.118.127),   Dst:   64.233.169.103  (64.233.169.103) Transmission Control Protocol, Src Port: 58173 (58173), Dst Port: 80 (80), Seq:  1, Ack: 1, Len: 768 Hypertext Transfer Protocol     GET / HTTP/1.1\r\n     Host: www.google.com.br\r\n

        User­Agent:   Mozilla/5.0   (X11;   U;   Linux   i686;   pt­BR;   rv:1.8.1.4)  Gecko/20070515 Firefox/2.0.0.4\r\n         Accept:  text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8 ,image/png,*/*;q=0.5\r\n     Accept­Language: pt­br,pt;q=0.8,en­us;q=0.5,en;q=0.3\r\n     Accept­Encoding: gzip,deflate\r\n     Accept­Charset: ISO­8859­1,utf­8;q=0.7,*;q=0.7\r\n     Keep­Alive: 300\r\n     Connection: keep­alive\r\n         Cookie:  PREF=ID=9cafcaa3dddcf149:TM=1173917510:LM=1189533479:S=VjTShCBHuY_78WvZ;  SID=DQAAAHYAAADRWa­2g2BPOWbp5Lvq­­5Tj9cc_8XL8_p_oNAV2CQItUDkp7z5CQIWOxcmpAfLipP xBbcEhjQkeSbIz5HSwHQA0e4qs24noAhzz2_NyWsk5gkpljLz9aw89rJT3QVHSDNIP3gNlialWQ1ZV9     \r\n A linha em destaque exibe que a mensagem é do tipo GET, ou seja, está sendo realizada  a solicitação da página web presente no host www.google.com.br.        CLIENTE       SERVIDOR Aplicação Aplicação Transporte Transporte Rede Rede Enlace Enlace Física Física A solicitação migra da camada de aplicação para a camada de transporte, onde as portas  de fonte e destino, exibidas na Figura 2, são preenchidas. A porta de fonte é preenchida  com qualquer valor maior ou igual a 1024, determinada pelo sistema operacional. A porta  de destino é preenchida com o valor correspondente do protocolo, neste caso, porta 80 

(6)

para o protocolo HTTP. Esses valores de porta são PADRONIZADOS pela IANA (Internet  Assigned Number Authority – http://www.iana.org). Este instituto de padronização mantém  um arquivo chamado port­numbers(http://www.iana.org/assignments/port­numbers). Esse  arquivo institui que a porta do HTTP é a 80. 

A solicitação migra para a camada de rede. Os campos IP de fonte e IP de destino  (Source Address  e  Destination Address, exibidos na Figura  4) são preenchidos com os  valores previamente obtidos. Além disso, o campo  protocol  é preenchido com o valor  0x06, identificando que o protocolo utilizado na camada de transporte é o TCP.

A solicitação migra para a camada de enlace. Os campos MAC de fonte e MAC de  destino(DST MAC e SRC MAC, exibidos na Figura  3) são preenchidos com os valores  previamente   obtidos.   Além   disso,   o   campo   tipo   é   preenchido   com   o   valor   0x0806,  identificando que o protocolo a ser invocado, no destino, pela camada de enlace é o IP.

A solicitação migra para a camada física, onde a mesma é codificada em sinal. Caso o  meio seja metálico, o sinal é uma corrente elétrica. Caso o meio seja sem­fio, o sinal é  formado por ondas eletro­magnéticas. Caso o meio seja ótico, o sinal é a formado por luz.

(7)

Quando está solicitação chega até o servidor  www.google.com.br (64.233.169.103), a  camada física detecta a chegada deste sinal, decodifica o mesmo, e o envia para a  camada de Enlace. Ela verifica se o endereço contido no campo DST MAC (MAC de  destino) é igual ao endereço MAC presente na placa de rede do host. Se os valores forem  iguais, o campo tipo é consultado para identificar qual o protocolo de camada de rede  deve ser chamado. Uma vez que o valor consultado é 0x0806, o protocolo chamado na  camada de rede será o IP. Na camada de rede, o campo Destination Address, do cabeçalho IP, é consultado. Se os  valores forem iguais, o campo protocol é consultado para que se possa determinar qual o  protocolo deve ser chamado na camada transporte. Uma vez que o valor consultado foi  0x06, o protocolo a ser chamado na camada de transporte será o TCP. Caso o valor  consultado fosse 0x11, o protocolo invocado na camada de transporte seria o UDP. Na camada de transporte, o campo Destination port  é consultado, para que possa tomar  conhecimento de qual programa deve ser invocado na camada de aplicação. O valor  observado   é   80.   Alguns   programas   que   estão   associados   à   porta   80   são:  Apache(http://www.apache.org), IIS(http://www.iis.net). Os servidores web mais utilizados  podem ser observados no site: http://news.netcraft.com/ . Seja qual o servidor web em 

(8)

execução, a sua função é encontrar, no sistema de arquivo local, o arquivo solicitado pelo  cliente. Uma vez encontrado o arquivo, o servidor web (e.g.: Apache), insere esse arquivo  em uma mensagem HTTP e passa esta mensagem de volta para a camada de transporte,  onde todo o ciclo de encapsulamento realizado no cliente será repetido no servidor.

De volta ao cliente, todo o ciclo de desencapsulamento realizado no servidor, volta a  ocorrer   no   cliente,   até   que   o   arquivo   enviado   pelo   servidor  www.google.com.br  seja  interpretado e exibido pelo navegador WEB.

O   arquivo   enviado   pelo   servidor   é   escrito   na   linguagem   HTML   –  HyperText   Markup 

Language.   Uma   das   principais   funções   do   navegador   web   é   saber   interpretar 

corretamente este arquivo, resultando na exibição do mesmo, conforme a Figura 5 abaixo.

Referências

Documentos relacionados

O estudo em questão objetivou analisar o desempenho sustentável dos sistemas de esgotamento sanitário de Pernambuco a partir de cinco indicadores de desempenhos (índice de

Millard e Grant (2006) procuraram compreender como os estereótipos da imagem feminina comunicam diferentes significados quando são reproduzidos por mulheres negras e

A prioridade na ordem das orientações técnicas das deficiências constatadas poderá se basear nesta(s) classificação(ões), quanto ao estado de manutenção geral da

O terceiro capítulo apresenta a teoria pesquisada que servirá de base para a sugestão de um planejamento logístico para as atividades de construção e montagem de dutos. A

A legislação que enquadra em concreto os programas de reabilitação profissional - Decreto-Lei n.º 247/89, de 5 de Agosto (JusNet 3102/1989), bem como o Decreto-Lei n.º 40/83, de

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

ACIDENTES CAUSADOS POR ABELHAS, VESPAS E FORMIGAS.. CONTROLE DE RISCOS NA

• Quando o navegador não tem suporte ao Javascript, para que conteúdo não seja exibido na forma textual, o script deve vir entre as tags de comentário do HTML. <script Language