A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

D ISCIPLINA : F UNDAMENTOS DE R EDES DE C OMPUTADORES P ARTE 2 Flávia Balbino da Costa

Apresentações semelhantes


Apresentação em tema: "D ISCIPLINA : F UNDAMENTOS DE R EDES DE C OMPUTADORES P ARTE 2 Flávia Balbino da Costa"— Transcrição da apresentação:

1 D ISCIPLINA : F UNDAMENTOS DE R EDES DE C OMPUTADORES P ARTE 2 Flávia Balbino da Costa flavia.balbino@yahoo.com.br

2 1.7) Modelo Cliente/Servidor Às vezes, sistemas finais ou hospedeiros são ainda subdivididos em duas categorias: Clientes; Servidores. Informalmente, clientes costumam ser PCs de mesa ou móveis, PDAs a assim por diante, ao passo que servidores tendem a ser máquinas mais poderosas que armazenam e distribuem páginas Web, vídeo em tempo real, retransmissão de e-mails e assim por diante.

3 Para ficar mais claro, vamos imaginar o Sistema de Informação de uma empresa consiste em um ou mais bancos de dados e em algum número de funcionários que precisam acessá-los remotamente. Nesse modelo, os dados são armazenados em poderosos computadores chamados servidores.

4 Com frequência, essas máquinas são instaladas e mantidas em um local central por um administrador de sistemas. Em contraste, os funcionários têm em suas escrivaninhas máquinas mais simples, chamadas clientes, com as quais eles acessam dados remotos do servidor. A seguir será mostrada uma figura que ilustra as máquinas clientes e servidores conectadas entre si por uma rede. Todo esse arranjo é chamado modelo cliente/servidor.

5 Este modelo é aplicável quando o cliente e o servidor estão ambos no mesmo edifício (por exemplo, pertencem à mesma empresa), mas também quando estão muito distantes um do outro (por exemplo, quando uma pessoa em sua casa acessa um página na World Wide Web).

6 No contexto de software de rede vemos que há dois processos (lembre-se: processo significa programa em execução) envolvidos, um na máquina cliente e um na máquina servidora. Um programa cliente é um programa que funciona em um sistema final, que solicita e recebe um serviço de um programa servidor, que funciona em um outro sistema final. Esse modelo cliente/servidor, é sem dúvida, a estrutura mais predominante para aplicações da Internet.

7 A comunicação toma a forma do processo cliente enviando uma mensagem pela rede ao processo servidor. Então, o processo cliente espera por uma mensagem em resposta. Quando o processo servidor recebe a solicitação, ele executa o trabalho solicitado ou procura pelos dados solicitados e envia de volta uma resposta.

8 A Web, o e-mail, a transferência de arquivo, o login remoto (por exemplo, o Telnet), os grupos de discussão e muitas outras aplicações populares adotam o modelo cliente-servidor. Uma vez que um programa cliente normalmente roda em um computador e o programa servidor, em outro, aplicações cliente- servidor de Internet são, por definição, aplicações distribuídas.

9 1.8) Redes não-hierárquicas Nem todas as aplicações da Internet de hoje consistem em programas puramente clientes que interagem com programas puramente servidores. Por exemplo, as aplicações P2P (peer-to-peer) de compartilhamento de arquivos populares, como KaZaA, a aplicação P2P no sistema final do usuário funciona como um programa cliente e também como um programa servidor.

10 A forma de comunicação não-hierárquica, indivíduos que constituem um grupo livre podem se comunicar com outros participantes do grupo, como mostra a figura abaixo:

11 Em princípio, toda pessoa pode se comunicar com uma ou mais pessoas; não existe nenhuma divisão fixa entre clientes e servidores. A primeira geração de sistemas não- hierárquicos atingiu seu auge (2000) com um serviço chamado Napster, onde os associados registravam em um banco de dados central mantido no servidor Napster os arquivos (vídeo, música, etc.) que tinham em seus discos rígidos. Se algum usuário desejasse algum arquivo, era verificado no banco de dados do Napster onde estava localizado o arquivo e assim o usuário ia diretamente até o local indicado para obtê-la.

12

13 A geração seguinte de sistemas não- hierárquicos eliminou o banco de dados central, devido a problemas de direitos autorais. Agora cada usuário mantém seu próprio banco de dados local, além de fornecer uma lista de outras pessoas próximas associadas ao sistema. Um novo usuário pode então ir até qualquer associado para ver o que ele tem e obter uma lista de outros associados, com a finalidade de examinar outras músicas e outros nomes.

14

15

16

17 1.9) O que é um Protocolo? Protocolo Humano Protocolo de Rede de Computadores

18 1.9.1) Analogia Humana Se as pessoas executarem protocolos diferentes (por exemplo, se uma pessoa tem boas maneiras, mas a outra não; se uma delas entende o conceito de horas, mas a outra não), os protocolos não interagem e nenhum trabalho útil pode ser realizado. O mesmo é válido para redes – é preciso que duas (ou mais) entidades comunicantes executem o mesmo protocolo para que uma tarefa seja realizada.

19 Vamos considerar uma segunda analogia humana: Suponha que você esteja assistindo a uma aula de redes e o professor está falando sobre protocolos e você está confuso. Ele pára e pergunta: “Alguma dúvida?” (uma mensagem que é transmitida a todos os alunos recebida por todos os que não estão dormindo). Você levanta a mão e o professor com um sorriso diz: “Sim...” (uma mensagem transmitida, incentivando-o a fazer sua pergunta) e você então faz sua pergunta. O professor ouve e responde.

20 Mais uma vez percebemos que a transmissão e a recepção de mensagens e um conjunto de ações convencionadas, realizadas quando as mensagens são enviadas e recebidas, são o coração desse protocolo de pergunta e resposta.

21 1.9.2) Protocolos de Rede Um protocolo de rede é semelhante a um protocolo humano; a única diferença é que as entidades que trocam mensagens e realizam ações são componentes de hardware ou software de algum equipamento (por exemplo, computador, roteador ou outro equipamento habilitado para rede). Todas as atividades na Internet que envolvem duas ou mais entidades remotas comunicantes são governadas por um protocolo. *

22 Exemplos: Protocolos implementados em hardware nas placas de interface de rede de dois computadores conectados fisicamente controlam o fluxo de bits no “cabo” entre as duas placas de interface de rede; Protocolos de controle de congestionamento em sistemas finais controlam a taxa com que os pacotes são transmitidos entre a origem e o destino; Protocolos em roteadores determinam o caminho de um pacote da fonte ao destino.

23 Considere o que acontece quando fazemos uma requisição a um servidor Web, isto é, quando digitamos o URL de uma página Web no browser. Primeiramente, o computador enviará uma mensagem de requisição de conexão ao servidor Web e aguardará uma resposta. O servidor receberá essa mensagem de requisição de conexão e retornará uma mensagem de resposta de conexão. Sabendo que agora está tudo certo para requisitar o documento da Web, o computador envia então o nome da página Web com uma mensagem GET e o servidor retorna a página da Web (arquivo) para o computador.

24 Então: Um protocolo define o formato e a ordem das mensagens trocadas entre duas ou mais entidades comunicantes, bem como as ações realizadas na transmissão e/ou no recebimento de uma mensagem ou outro evento.

25 1.10) Pilha de Protocolos Uma lista de protocolos usados por um determinado sistema, um protocolo por camada, é chamada de pilha de protocolos. Temos como exemplo mais utilizado a pilha de protocolos TCP/IP. Esta pilha de protocolos possui inúmeros protocolos, onde cada um atua em uma determinada camada do modelo de referência TCP/IP (veremos mais adiante os modelos de referência existentes).

26 1.11) Tipos de Pilhas de Protocolos mais conhecidos a) NetBeui – características básicas: Só funciona em redes locais; Desenvolvido pela Microsoft; Utilizado em redes pequenas, não roteáveis, só para se comunicarem entre si – P2P (ponto a ponto).

27 b) Apple Talk – características básicas: É roteável; Desenvolvido pela Apple; Protocolo usado para fazer comunicação entre máquinas Macintosh. c) IPX/SPX – características básicas: Protocolo usado em redes Novell; É roteável e fácil de implementar; Caiu em desuso com o avanço do TCP/IP.

28 d) TCP/IP – características básicas e definições: É um padrão aberto (open source) de um grupo de protocolos de comunicação que são o padrão para a comunicação na Internet; É um conjunto de mecanismos de comunicação de dados, embutidos em software, que permitem que você use a Internet e inúmeras redes privadas; Predominante em muitas redes privadas; Cada protocolo de sua pilha é projetado para efetuar um função específica.

29 1.12) Uma Descrição do serviço – confiável orientado para conexão e não confiável não orientado para conexão Redes TCP/IP, e em particular, a Internet, oferecem dois tipos de serviços às aplicações de sistemas finais. Um profissional de desenvolvimento que está criando uma aplicação de Internet (por exemplo, uma aplicação de e-mail, de transferência de arquivo, de Web ou de telefonia pela Internet) deve programá-la para usar um desses dois serviços, que serão descritos resumidamente.

30 1.12.1) Serviço confiável orientado para conexão O Serviço confiável orientado para conexão se baseia no sistema telefônico. Para falar com alguém, você tira o fone do gancho, disca o número, fala e, em seguida, desliga. Da mesma forma, para utilizar um serviço de rede orientado para conexões, primeiro o usuário do serviço estabelece uma conexão, utiliza a conexão e depois libera a conexão.

31 O aspecto essencial de uma conexão é que ela funciona como um tubo: o transmissor empurra objetos (bits) em uma extremidade, e esses objetos são recebidos pelo receptor na outra extremidade. Quando uma aplicação usa o serviço orientado para conexão, o programa cliente e o programa servidor (que residem em sistemas finais diferentes) enviam pacotes de controle um para o outro antes de remeter pacotes com os dados reais que deverão ser transferidos.

32 Esse procedimento denominado apresentação, alerta o cliente e o servidor, permitindo que se preparem para uma rajada de pacotes. Uma vez concluído o procedimento de apresentação, diz-se que foi estabelecida uma conexão entre os dois sistemas finais. Os serviços orientados para conexão providos pela Internet vêm conjugados com diversos outros serviços, inclusive transferência de dados confiável, controle de fluxo e controle de congestionamento.

33 a) Transferência de dados confiável – quer dizer que uma aplicação pode confiar que a conexão entregará todos os seus dados sem erro e na ordem certa. A confiabilidade na Internet é conseguida por meio da utilização de confirmações e retransmissões. b) Controle de fluxo – garante que nenhum dos lados de uma conexão sobrecarregue o outro enviando demasiados pacotes muito rapidamente. A Internet implementa o serviço de controle de fluxo utilizando buffers de envio e de recebimento nos sistemas finais comunicantes.

34 c) Controle de congestionamento – ajuda a evitar que a Internet trave. Quando um comutador de pacotes fica congestionado, seus buffers podem transbordar e pode ocorrer perda de pacotes. Nessas circunstâncias, se todo par de sistemas finais comunicantes continuar a transmitir pacotes para a rede o mais rápido que puder, ocorrerá um travamento e poucos pacotes chegarão ao seu destino. A Internet evita esse problema forçando sistemas finais a reduzir a velocidade em que enviam pacotes à rede durante períodos de congestionamento.

35 Dependendo do tipo de redes de computadores, esses três serviços podem não ser implementados em um serviço orientado para conexão. Na verdade, qualquer protocolo que execute apresentação entre as entidades comunicantes antes de transferir dados é um serviço orientado para conexão.

36 O serviço orientado para conexão da Internet tem um nome: Protocolo de Controle de Transmissão – Transmission Control Protocol – TCP. O protocolo provê uma abstração de corrente de bytes, entregando de modo confiável uma corrente de bytes do remetente ao receptor.

37 Obs : Em geral, um serviço confiável é implementado para que o receptor confirme o recebimento de cada mensagem, de modo que o transmissor se certifique de que ela chegou. O processo de confirmação introduz sobrecarga e retardos, que frequentemente valem a pena, mas às vezes são indesejáveis. Uma situação típica em que um serviço confiável orientado a conexões é apropriado é a transferência de arquivos.

38 Como já dissemos, para algumas aplicações, os retardos introduzidos pelas confirmações são inaceitáveis. Uma dessas aplicações é o tráfego de voz digital. Os usuários de telefone preferem ouvir um pouco de ruído na linha ou uma palavra truncada de vez em quando a experimentar um retardo para aguardar confirmações. O mesmo acontece durante a transmissão de uma conferência de vídeo ; não haverá problema se aparecerem alguns pixels errados.

39 1.12.2) Serviço não confiável não orientado para conexão Não há apresentação mútua no serviço não orientado para conexão da Internet. Quando um lado de uma aplicação quer enviar pacotes ao outro lado, o programa remetente simplesmente os envia. Como não há procedimento de apresentação mútua antes da transmissão de pacotes de dados, os dados podem ser entregues mais rápido, o que torna o serviço não orientado para conexão ideal para aplicações simples orientadas para transação.

40 Mas, como também não há nenhuma transferência confiável de dados, uma fonte nunca sabe com certeza quais pacotes chegaram ao destino. Além disso, o serviço não orientado para conexão da Internet não provê controle de fluxo, nem controle de congestionamento. O serviço de Internet orientado para conexão é denominado Protocolo de Datagrama do Usuário – User Datagram Protocol – UDP.

41 TCPUDP Aplicações que usam TELNET (login remoto) Aplicações de Multimídia SMTP (para correio eletrônico) Tráfego de voz digital FTP (para transferência de arquivo) Videoconferência HTTP (para a Web)

42 Resumo de transporte confiável e transporte não- confiável:


Carregar ppt "D ISCIPLINA : F UNDAMENTOS DE R EDES DE C OMPUTADORES P ARTE 2 Flávia Balbino da Costa"

Apresentações semelhantes


Anúncios Google