Rc Lista1 RES

download Rc Lista1 RES

of 8

Transcript of Rc Lista1 RES

  • 8/16/2019 Rc Lista1 RES

    1/8

     

    Av. José de Freitas Queiroz, 5003  –  Cedro Novo  –  CEP: 63.902-580  –  Quixadá-Ceará

    E-mail: [email protected]

    Universidade Federal do CearáCampus de QuixadáCursos de Ciência da Computação e Engenharia de Computação

    Disciplina de Redes de Computadores  –  2016.1Professor Arthur Callado

    Primeira Lista de Exercícios Quixadá, 05 de Maio de 2016

    Nome:

    1) Em que partes da rede (não confundir com a arquitetura da rede) seimplementam os protocolos de camada de aplicação e porquê?

    Sistemas finais. Por que eles fazem parte da camada de aplicação da rede, e o que ocorrenas camadas inferiores não importa para eles, assim como o que ocorre neles não importa paraas outras camadas.

    2) Diferencie arqui tetura cl iente/servidor de arqui tetura Peer-to-peer (ponto-a-ponto), com vantagens e desvantagens de cada uma.

     Arquitetura Cliente – Servidor:Nessa arquitetura existe um sistema final denominado servidor sempre em funcionamentoatendendo a requisições vários de outros sistemas finais denominados clientes. O servidor temum endereço fixo, chamado de IP.Vantagens:- Um cliente sempre pode contatar um servidor.- Suporta vários clientes diferentes, com capacidades diferentes.Desvantagens:- Cliente não fornece serviço.- Servidor pode ficar sobrecarregado dependendo do tanto de requisições por clientes e donúmero de clientes.

    - Único ponto de falha, se o servidor falhar os clientes não receberam suas requisições. Arquitetura Peer – To – Peer: A arquitetura P2P não possui um servidor sempre em funcionamento atendendo a

    requisições de clientes, nela ambos os pares da conexão podem realizar ambas funções, ouseja, os pares podem ser tanto servidores quanto clientes. Devido a isso não necessitam estarsempre em funcionamento, por isso seu IP varia sempre que eles se conectam a rede.Vantagens:- É escalavel.- Descentralização dos Dados.- É altamente distribuida.Desvantagens:

    - Perda de dados, visto que um membro da rede pode ter uma única cópia de um arquivo e sairda rede.

  • 8/16/2019 Rc Lista1 RES

    2/8

     

    Av. José de Freitas Queiroz, 5003  –  Cedro Novo  –  CEP: 63.902-580  –  Quixadá-Ceará

    E-mail: [email protected]

    3) Diferencie os principais requisitos de transporte que uma aplicação pode ter e dêexemplos de aplicação com tais requisitos.

    Transferência Confiável de Dados:Garante que todos os dados enviados serão entregues sem erros e na ordem correta,

    para aplicações que exigem transferência confiável de dados.EX.:Correio Eletrônico.

     Algumas aplicações tolerantes a perda podem tolerar uma certa perda dos dados.EX.:

     Áudio/Vídeo em tempo real.Largura de Banda:

    É a quantidade de bits que uma aplicação pode transmitir por segundo. Algumas aplicações exigem uma banda mínima para poder serem proveitosas.

    EX.:Multimidia.

    Outras melhoram quando sua largura de banda disponível aumenta.EX.:

    Download de arquivos.Temporização:

    É o tempo que leva para entrega dos dados. Algumas aplicações requeremlimiações estritas de temporização para a entrega dos dados.EX.:

     Ambientes Virtuais.4) Explique os métodos de formulário HTTP.

    O HTTP é um protocolo da camada de aplicação cuja função principal é arecuperação de informações por meio de requisições e respostas.Métodos:GET: Utilizado quando se quer obter um objeto.POST: O usuário envia solicitações e recebe o resultado de acordo com o que enviou.HEAD: Utilizado somente para leitura, na mensagem de resposta vem todo o cabeçalhoda mensagem mas sem o arquivo.PUT: Permite que o usuário carregue um arquivo para um diretório especifico em umservidor Web específico.DELETE: Permite que o usuário ou aplicação elimine um dado objeto em um servidorWeb.

    5) Explique o que é proxy HTTP e como é feito o “proxy transparente” em HTTP. 

    Proxy é uma entidade da rede que atende requisições HTTP em nome de umservidor Web de origem. Possui cache, a mesma com suas funcionalidades ajuda nadiminuição do tempo de resposta. Se aplica a toda uma rede, e economiza largura debanda.

    Proxy transparente ou proxy forçado dá-se pelo fato de você não definir nonavegador o uso do proxy e usar o proxy. Isso acontece através do roteador, o roteadorna execução de seu trabalho identifica que um um dado pacote possui uma requisiçãoHTTP e invês de encaminhar para fora da rede, ele encaminha esse pacote para o

    proxy e o mesmo responde a máquina.

  • 8/16/2019 Rc Lista1 RES

    3/8

     

    Av. José de Freitas Queiroz, 5003  –  Cedro Novo  –  CEP: 63.902-580  –  Quixadá-Ceará

    E-mail: [email protected]

    6) Explique porque se diz que o protocolo FTP é controlado “fora de banda”. 

    Por que ele usa duas conexões para transferência de arquivos. Uma conexão deControle e uma conexão de Dados. Na conexão de controle são enviadas informaçõesde controle entre os dois hospedeiros. E na conexão de dados é que ele envia o arquivo,

    devido a essa conexão de controle separada, dizemos que ele envia suas informaçõesde controle fora de banda. 

    7) Expl ique porque é possível mandar mensagens usando o SMTP fazendo-sepassar por outra pessoa, mesmo sem saber a senha da pessoa.

    O protocolo SMTP não possui nenhuma forma de autentificação de dados, suafunção é realizar a comunicação entre o agente de usuário rementente e o servidor decorreio do agente de usuário remetente, entre o servidor de correio do agente deusuário remetente e o servidor de correio do agente de usuário destinatário. A conexãodo servidor de correio do agente de usuário destinatário e o agente de usuário

    destinatário é realizada por um potocolo de aplicação como HTTP, POP3, IMAP,dentre outros.

    Devido a essa falta de autentificação e a falta de comunição com ambos osagentes de usuário por causa de sua comunicação restrita ele não tem como saber sevocê é você mesmo.

    8) Quais as vantagens do protocolo IMAP em relação ao protocolo POP3?

    Vantagens:- Mantém estado da última sessão.- Permite criar pastas e transferir mensagens de uma pasta para outra.- Usuário pode manipular seus arquivos e pastas.- Usuários que se logão em mais de máquina simultaneamente, tem acesso a todos osarquivos em cada máquina.

    9) Explique como são organizados os servidores raiz do protocolo DNS.São organizados em uma hierarquia, servidores raiz, servidores de domínio de alto

    nível (TLD), servidores com autoridade respectivamente.

    Servidores raiz são contatados por servidores de nomes locais, após isso oservidor raiz, contacta o servidor de domínio de alto nível, que por sua vez contacta em

    alguns casos um servidor intermediário para que esse se contacte com o servidor comautoridade, esse servidor obtém o endereço IP e envia a resposta no sentido inverso atéchegar no servidor de nome local. Na maioria das vezes o servidor de domínio de altonível contacta diretamente o servidor com autoridade, o qual obtém o endereço IP eenvia a resposta no sentido inverso até chegar no servidor de nome local.

    10) Como é a configuração e o funcionamento da resolução de nomes reversa, istoé, de endereços IP para nomes de máquina?

    O DNS Normal recebe um nome de hospedeiro e traduz em um endereço IP, já oDNS Reverso recebe um endereço IP e traduz no nome canônico da máquina

    hospedeira. A configuração e o funcionamento do DNS normal e do DNS reverso são

  • 8/16/2019 Rc Lista1 RES

    4/8

     

    Av. José de Freitas Queiroz, 5003  –  Cedro Novo  –  CEP: 63.902-580  –  Quixadá-Ceará

    E-mail: [email protected]

    equivalentes, a única diferença entre os mesmo é o mecanismo de consulta e seu valorde retorno.

    11) Diferencie as redes P2P puras das redes P2P híbridas.

     A arquitetura P2P pura não possui um servidor sempre em funcionamentoatendendo a requisições de clientes, nela ambos os pares da conexão podem realizarambas funções, ou seja, os pares podem ser tanto servidores quanto clientes. Devido aisso não necessitam estar sempre em funcionamento, por isso seu IP varia sempre queeles se conectam a rede.

     A arquitetura P2P híbrida consiste em uma arquitetura P2P onde há umanecessidade de possuir um par central para que parte dos serviços da rede semantenham. No entanto, ao contrário de uma arquitetura cliente-servidor, os paresainda podem realizar ambas as funções e compartilharem recursos entre si.

    12) Como funciona o protocolo Gnutella para busca de conteúdo?

    O protocolo Gnutella utiliza para buscar conteúdos um processo chamado deinundação de consultas. Denomina-se Inundação de Consultas o processo realizadopor um par que queira localizar um arquivo. Para fazer isso ele envia a todos os seusvizinhos uma mensagem Query da Gnutella que inclui o as palavras-chave do arquivo,esses vizinhos repetem o processo para seus vizinhos e assim sucessivamente.

    Quando um par recebe a mensagem Query ele verifica se possui esse arquivodisponível para compartilhar no par, se houver uma compatibilização, o par devolveuma mensagem QueryHit contendo o arquivo e o tamanho do arquivo. A mensagemQueryHit segue o caminho inverso da mensagem Query até seu receptor .

    13) O que é multiplexação? Dê um exemplo não relacionado à camada de transporte.

    Multiplexação é uma técnica utilizada para permitir que mais de uma mensagem ocupe o mesmomeio de transporte. Ela é usada tanto em redes de computadores, em linhas telefônicas e noenvio de telegramas.

    14) Quais são as diferenças filosóficas entre TCP e UDP e 15) Quais são as diferençaspráticas entre o TCP e o UDP?

    O protocolo UDPO UDP é um protocolo voltado para a "não conexão". Simplificando, quando uma máquina Aenvia pacotes para uma máquina B, o fluxo é unidirecional. Na verdade, a transmissão de dadosé feita sem prevenir o destinatário (a máquina B) e o destinatário recebe os dados sem avisar otransmissor (máquina A). Isto é porque o encapsulamento dos dados enviados pelo protocoloUDP não permite transmitir informações sobre o emissor. Portanto, o destinatário não conhece oemissor dos dados, exceto o seu IP.

    O protocolo TCP Ao contrário do UDP, o TCP é voltado para a "conexão". Quando a máquina A envia dados paraa máquina B, a máquina B é notificada da chegada dos dados e confirma a boa recepção dos

    dados. Aqui, intervem o controle CRC dos dados. Este contrôle baseia-se em uma equaçãomatemática, para verificar a integridade dos dados transmitidos. Assim, se os dados recebidos

  • 8/16/2019 Rc Lista1 RES

    5/8

     

    Av. José de Freitas Queiroz, 5003  –  Cedro Novo  –  CEP: 63.902-580  –  Quixadá-Ceará

    E-mail: [email protected]

    estiverem corrompidos, o TCP permite que os destinatários peçam ao emissor para reenviar osdados corrompidos.

    16) Em uma transmissão, como se identifica um processo específico em uma máquina?Dê exemplos.

    17) O que são sockets? Que funções são necessárias ao uso de sockets?O acesso aos serviços da camada de transporte pode ser feito por primitivas de transporte,essas primitivas são denominadas SOCKET.Por essas primitivas é possível acessar vários protocolos da camada de transporte, dentre elesTCP e UDP.Sockets garantem a intercomunicação bidirecional entre processos, executados localmente ouem máquinas conectadas através de uma LAN/WAN.SocketCria um novo ponto final de comunicação e aloca espaço na entidade de transporte local para

    tratamento da conexão.Parâmetros: formato do endereçamento, tipo do serviço: SOCK_DGRAM para datagramas,SOCK_STREAM para streams e protocolo (normalmente 0).Não atribui diretamente um endereço ao socket criado.

    Bind Anexa um endereço local a um socket.Parâmetros: o descritor do socket, uma estrutura de dados com o endereço e o tamanho dessaestrutura de dados.Um processo servidor deve executar essa primitiva para disponibilizar um endereço aos clientes.Na arquitetura cliente/servidor após sua execução os clientes podem se conectar ao servidor.ListenTorna o processo servidor apto a aceitar conexões dos clientes, aloca uma fila de espera paraconexões pendentes. Se a fila já foi alocada mostra o seu tamanho.Parâmetros: o descritor do socket e o tamanho máximo da fila de conexões pendentes.Caso seja solicitada conexão e a fila de espera estiver cheia é enviada uma mensagem de erroao solicitante. AcceptFaz com que um processo servidor permaneça bloqueado até que uma solicitação de conexãoseja feita.Parâmetros: o descritor do socket, um ponteiro para uma estrutura que endereça o solicitante da

    conexão e um inteiro que informa o tamanho dessa estrutura.ConnectSolicita uma conexão ao servidor, bloqueia o processo até que a conexão seja estabelecida.Parâmetros: o descritor do socket, ponteiro para estrutura com o endereço destino e o tamanhoda estrutura.Essa primitiva deve ser executada por um processo cliente para estabelecer comunicação com oservidor.Send ou WriteEnvia dados pela conexão para a entidade destino.Parâmetros: o descritor do socket, ponteiro para o buffer com os dados a serem enviados, otamanho do buffer, códigos de condição especiais (normalmente 0).

  • 8/16/2019 Rc Lista1 RES

    6/8

     

    Av. José de Freitas Queiroz, 5003  –  Cedro Novo  –  CEP: 63.902-580  –  Quixadá-Ceará

    E-mail: [email protected]

    Receive ou ReadRecebe dados da conexão.Parâmetros: o descritor do socket, ponteiro para uma estrutura onde os dados recebidos podemser colocados, o tamanho da estrutura, códigos de condição especiais (normalmente 0).Close

    Termina a conexão. Como o encerramento da conexão é simétrico apenas quando ambos osprocessos tiverem executado essa primitiva a conexão será terminada.Parâmetros: o descritor do socket e códigos de término (normalmente 0).

    18) Para que serve o checksum? Como ele funciona?

    Checksum ou soma de verificação é um código usado para verificar a integridade de dadostransmitidos através de um canal com ruídos ou armazenados em algum meio por algum tempo.

    Isto é feito calculando a soma de verificação dos dados antes do envio ou do armazenamento

    deles, e recalculá-los ao recebê-los ou recuperá-los do armazenamento. Se o valor obtido é o

    mesmo, as informações não sofreram alterações e portanto não estão corrompidas

    Formas mais simplificadas destas somas são vulneráveis por não detectarem algumas formas

    de falha. A simples soma dos valores dos caracteres por exemplo é vulnerável a troca de ordem

    dos mesmos pela comutatividade da soma. Há formas mais elaboradas de se calcular estas

    somas que resolvem estes problemas, como por exemplo, o Cyclic Redundancy

    Check (verificação de redundância cíclica) ou CRC muito utilizados para detecção de

    falha[8] através da divisão de polinômios. 

    19) Como são realizados o estabelecimento e o término de conexão do TCP?

    Para estabelecer uma conexão, o TCP usa um handshake (aperto de mão) de três vias. Antes

    que o cliente tente se conectar com o servidor, o servidor deve primeiro ligar e escutar a sua

    própria porta, para só depois abri-la para conexões: isto é chamado de abertura passiva. Uma

    vez que a abertura passiva esteja estabelecida, um cliente pode iniciar uma abertura ativa. Para

    estabelecer uma conexão, o aperto de mão de três vias (ou 3 etapas) é realizado:

    1. SYN: A abertura ativa é realizada por meio do envio de um SYN pelo cliente ao servidor.

    O cliente define o número de sequência de segmento como um valor aleatório A.

    2. SYN-ACK: Em resposta, o servidor responde com um SYN-ACK. O número de

    reconhecimento (acknowledgment) é definido como sendo um a mais que o número de

    sequência recebido, i.e. A+1, e o número de sequência que o servidor escolhe para o

    pacote é outro número aleatório B.

    3.  ACK : Finalmente, o cliente envia um ACK de volta ao servidor. O número de sequência é

    definido ao valor de reconhecimento recebido, i.e. A+1, e o número de reconhecimento é

    definido como um a mais que o número de sequência recebido, i.e B+1.

    Neste ponto, o cliente e o servidor receberam um reconhecimento de conexão. As etapas 1 e 2

    estabelecem o parâmetro (número de sequência) de conexão para uma direção e ele é

    https://pt.wikipedia.org/wiki/Adi%C3%A7%C3%A3ohttps://pt.wikipedia.org/wiki/CRChttps://pt.wikipedia.org/wiki/Soma_de_verifica%C3%A7%C3%A3o#cite_note-8https://pt.wikipedia.org/wiki/Soma_de_verifica%C3%A7%C3%A3o#cite_note-8https://pt.wikipedia.org/wiki/Polin%C3%B4miohttps://pt.wikipedia.org/wiki/Handshakehttps://pt.wikipedia.org/wiki/Handshakehttps://pt.wikipedia.org/wiki/Polin%C3%B4miohttps://pt.wikipedia.org/wiki/Soma_de_verifica%C3%A7%C3%A3o#cite_note-8https://pt.wikipedia.org/wiki/CRChttps://pt.wikipedia.org/wiki/Adi%C3%A7%C3%A3o

  • 8/16/2019 Rc Lista1 RES

    7/8

     

    Av. José de Freitas Queiroz, 5003  –  Cedro Novo  –  CEP: 63.902-580  –  Quixadá-Ceará

    E-mail: [email protected]

    reconhecido. As etapas 2 e 3 estabelecem o parâmetro de conexão (número de sequência) para

    a outra direção e ele é reconhecido. Com isto, uma comunicação full-duplex é estabelecida.

    Tipicamente, numa ligação TCP existe aquele designado de servidor (que abre um socket e

    espera passivamente por ligações) num extremo, e o cliente no outro. O cliente inicia a ligação

    enviando um pacote TCP com a flag  SYN activa e espera-se que o servidor aceite a ligaçãoenviando um pacote SYN+ACK. Se, durante um determinado espaço de tempo, esse pacote não

    for recebido ocorre um timeout  e o pacote SYN é reenviado. O estabelecimento da ligação é

    concluído por parte do cliente, confirmando a aceitação do servidor respondendo-lhe com um

    pacote ACK.

    Durante estas trocas, são trocados números de sequência iniciais (ISN) entre os interlocutores

    que irão servir para identificar os dados ao longo do fluxo, bem como servir de contador de bytes

    transmitidos durante a fase de transferência de dados (sessão). 

    No final desta fase, o servidor inscreve o cliente como uma ligação estabelecida numa tabela

    própria que contém um limite de conexões, o backlog. No caso do backlog ficar completamentepreenchido a ligação é rejeitada ignorando (silenciosamente) todos os subsequentes pacotes

    SYN.Término da ligação[editar | editar código-fonte] 

    Término de conexão.

     A fase de encerramento da sessão TCP é um processo de quatro fases, em que cada

    interlocutor responsabiliza-se pelo encerramento do seu lado da ligação. Quando um deles

    pretende finalizar a sessão, envia um pacote com a flag FIN ativa, ao qual deverá receber uma

    resposta ACK. Por sua vez, o outro interlocutor irá proceder da mesma forma, enviando um FINao qual deverá ser respondido um ACK.

    Pode ocorrer, no entanto, que um dos lados não encerre a sessão. Chama-se a este tipo de

    evento de conexão semi-aberta. O lado que não encerrou a sessão poderá continuar a enviar

    informação pela conexão, mas o outro lado não.

    20) Como funciona a janela deslizante do TCP? Quais os modos de funcionamento e emque casos é feita a troca?

    Protocolo de janelas deslizantes é usado para a entrega confiável e ordenada de mensagens. 

    É um protocolo orientado à conexão (primeiro garante que a conexão está ativa, para depoisiniciar o envio das mensagens) que garante que todas as mensagens enviadas são entreguesaos destinatários integralmente e na ordem correta de envio.

    O receptor envia uma mensagem de confirmação de recebimento (ACK)  a cada mensagem

    recebida. Se o transmissor não recebe o ACK de uma mensagem num tempo pré-estabelecido,

    ele envia a mesma mensagem novamente. O transmissor cria uma espécie de tabela, onde cada

    posição é uma janela, em que são gravadas todas as mensagens que foram enviadas.

     A cada ACK recebido, avança uma posição da tabela para a direita (a janela “desliza”). Por

    questão de segurança, se o receptor receber uma mensagem com numeração fora do intervalo

    https://pt.wikipedia.org/wiki/Full-duplexhttps://pt.wikipedia.org/wiki/Servidorhttps://pt.wikipedia.org/wiki/Sockethttps://pt.wikipedia.org/wiki/Servidorhttps://pt.wikipedia.org/wiki/Transmission_Control_Protocol#Transfer.C3.AAncia_de_dados_.28sess.C3.A3o.29https://pt.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&veaction=edit&vesection=7https://pt.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&action=edit&section=7https://pt.wikipedia.org/wiki/Entregahttps://pt.wikipedia.org/wiki/Mensagemhttps://pt.wikipedia.org/w/index.php?title=Protocolo_orientado_%C3%A0_conex%C3%A3o&action=edit&redlink=1https://pt.wikipedia.org/wiki/Conex%C3%A3ohttps://pt.wikipedia.org/w/index.php?title=Destinat%C3%A1rio&action=edit&redlink=1https://pt.wikipedia.org/wiki/Receptorhttps://pt.wikipedia.org/w/index.php?title=ACK&action=edit&redlink=1https://pt.wikipedia.org/w/index.php?title=ACK&action=edit&redlink=1https://pt.wikipedia.org/wiki/Receptorhttps://pt.wikipedia.org/w/index.php?title=Destinat%C3%A1rio&action=edit&redlink=1https://pt.wikipedia.org/wiki/Conex%C3%A3ohttps://pt.wikipedia.org/w/index.php?title=Protocolo_orientado_%C3%A0_conex%C3%A3o&action=edit&redlink=1https://pt.wikipedia.org/wiki/Mensagemhttps://pt.wikipedia.org/wiki/Entregahttps://pt.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&action=edit&section=7https://pt.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&veaction=edit&vesection=7https://pt.wikipedia.org/wiki/Transmission_Control_Protocol#Transfer.C3.AAncia_de_dados_.28sess.C3.A3o.29https://pt.wikipedia.org/wiki/Servidorhttps://pt.wikipedia.org/wiki/Sockethttps://pt.wikipedia.org/wiki/Servidorhttps://pt.wikipedia.org/wiki/Full-duplex

  • 8/16/2019 Rc Lista1 RES

    8/8

     

    Av. José de Freitas Queiroz, 5003  –  Cedro Novo  –  CEP: 63.902-580  –  Quixadá-Ceará

    E-mail: [email protected]

    de numeração das janelas a mesma é descartada e se estiver na numeração, porém fora de

    ordem a mensagem é armazenada.

    21) Como funciona o controle de fluxo do TCP?

    O TCP usa o campo janela ou window para controlar o fluxo. O receptor, à medida que recebeos dados, envia mensagens ACK (=Acknowledgement), confirmando a recepção de umsegmento; como funcionalidade extra, estas mensagens podem especificar o tamanho máximodo buffer no campo (janela) do segmento TCP, determinando a quantidade máxima de bytesaceita pelo receptor. O transmissor pode transmitir segmentos com um número de bytes quedeverá estar confinado ao tamanho da janela permitido: o menor valor entre sua capacidade deenvio e a capacidade informada pelo receptor.