d isciplina : f undamentos de r edes de c omputadores p arte 2 flávia balbino da costa...

42
DISCIPLINA: FUNDAMENTOS DE REDES DE COMPUTADORES PARTE 2 Flávia Balbino da Costa [email protected]

Upload: internet

Post on 22-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

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

DISCIPLINA:FUNDAMENTOS DE REDES DE COMPUTADORESPARTE 2

Flávia Balbino da Costa

[email protected]

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

1.7) Modelo Cliente/Servidor1.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.

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

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.

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

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.

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

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).

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

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.

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

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.

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

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.

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

1.8) Redes não-hierárquicas1.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.

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

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:

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

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.

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

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.

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

1.9) O que é um Protocolo?1.9) O que é um Protocolo?

Protocolo Humano Protocolo de Rede de Computadores

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

1.9.1) Analogia Humana1.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.

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

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.

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

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.

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

1.9.2) Protocolos de Rede1.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.

*

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

Exemplos: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.

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

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.

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

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.

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

1.10) Pilha de Protocolos1.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).

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

1.11) Tipos de Pilhas de Protocolos 1.11) Tipos de Pilhas de Protocolos mais conhecidosmais 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).

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

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.

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

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.

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

1.12) Uma Descrição do serviço – 1.12) Uma Descrição do serviço – confiável orientado para conexão e não confiável orientado para conexão e não confiável não orientado para conexãoconfiá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.

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

1.12.1) Serviço 1.12.1) Serviço confiável orientado para confiável orientado para conexãoconexã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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

1.12.2) Serviço não 1.12.2) Serviço não confiável não orientado confiável não orientado para conexãopara 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.

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

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.

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

TCP UDP

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)

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

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