Fundamentos de Redes
e Sistemas Distribuídos
Aula 01 – Introdução
Prof. Dr. Rodrigo Clemente Thom de Souza
Critérios de Avaliação
• M=(P1+P2+P3+T)/4
– P1: Prova escrita (valor 100) data: 11/11/2015
– P2: Prova escrita (valor 100) data: 09/10/2015
– P3: Prova escrita (valor 100) data: 01/02/2016
– T: Trabalhos (valor 100) datas: 26/10, 28/10, 04/11, 03/02, 08/02 e 10/02
• Média mínima para aprovação: 70
• Frequência mínima para aprovação: 75%
• EXAME: Os alunos que ficarem com frequência igual ou superior a 75% e
média maior ou igual a 40 e menor que 70 ficam para exame final (prova escrita valendo 100)
• No exame final serão aprovados na disciplina os que obtiverem grau numérico igual ou superior a 50 na média aritmética entre o grau do exame final e a média do conjunto das avaliações realizadas
Bibliografia Recomendada
•
TANENBAUM, A. S., WETHERALL, D. J. Redes
de Computadores. 6a ed. São Paulo: Pearson,
2013.
•
COULOURIS, G., DOLLIMORE, J., KINDBERG, T.
Sistemas Distribuídos – Conceitos e Projeto.
5a. ed. São Paulo: Bookman, 2013.
Conteúdo
• Introdução: – Hardware de Rede – Software de Rede – Exemplos • Modelos de Referência: – OSI – TCP/IP • Camadas: – Camada de Aplicação – Camada de Transporte – Camada de Rede – Camada Física • Sistemas Distribuídos: – Características – ModelosTrabalho: Exemplos de Redes
Temas:
• 26/10
– NFC (Rhayanne)
– TV a Cabo (João Martioro)
– Telefonia Móvel 3G/4G (Matheus)
• 28/10
– Bluetooth (Taísa)
– Rede Pública de Telefonia Comutada (Wagner)
– WiFi 802.11 (Eli)
– Rede de Comunicação via Satélite Iridium/Globalstar/Teledesic (Neiva)
• 04/11
– Internet (Sean)
– Ethernet (Kléber)
– ATM (Leonardo)
– Frame Relay (João Bosco)
• X.25
• BBS
Sugestões de conteúdo: • Origem e histórico
• Conceitos físicos e tecnologias utilizadas
• Arquitetura, protocolos e camadas
• Vantagens e desvantagens
• Perspectivas futuras
Revolução Industrial
•
Cada um dos três séculos anteriores foi dominado por
uma única tecnologia:
–
Século 18 - Grandes sistemas mecânicos
–
Século 19 - Máquinas a vapor
–
Século 20 - Aquisição, processamento e distribuição de
informações
• Meios de comunicação: Redes de telefonia em escala mundial,
rádio e TV, satélites de comunicação
• Informática
•
Fusão Computadores + Comunicações
Redes de
Computadores
Definição
•
Rede de computadores: conjunto de computadores
autônomos interconectados por uma única tecnologia
–
Dois computadores estão interconectados quando podem
trocar informações
–
Tipos de conexões: fio de cobre; fibras ópticas,
microondas, ondas de infravermelho e satélites de
comunicações
PERGUNTAS: Internet é uma rede? WWW é uma rede?
Resposta
•
Não.
–
A Internet é uma rede de redes
–
A Web é um Sistema Distribuído (SD) que funciona
na Internet
SD x Rede de Computadores
• SD = conjunto de computadores independentes que, para os usuários,
parece ser um único sistema coerente, por meio de uma camada de software intermediária (middleware)
– Ex: WWW - nela tudo tem a aparência de um documento (uma página da Web)
• Rede de Computadores:
– Esta coerência e este middleware estão ausentes
– Os usuários ficam expostos às máquinas reais, sem qualquer tentativa por parte do sistema de fazer as máquinas parecerem e atuarem de modo coerente
– Se as máquinas tiverem hardware diferente e SOs distintos, isso será totalmente visível para os usuários
– Se quiser executar um programa em uma máquina remota, o usuário terá de efetuar o login nessa máquina e executar o programa lá
• Na prática, um SD é um sistema de software instalado em uma rede!
• É o software que determina a diferença entre uma rede e um SD, não o hardware!
• Apesar disso, há uma considerável sobreposição entre os dois assuntos: – Ex: SDs e Redes precisam movimentar arquivos (a diferença está em quem é o
responsável pela movimentação, o sistema ou o usuário)
Por que usar redes de computadores?
•
Aplicações comerciais
–
Compartilhamento de recursos: tornar
todos os programas, equipamentos e
dados ao alcance de todas as pessoas na
rede, independentemente da localização
física do recurso e do usuário
• Ex: impressora comum
–
Compartilhamento de informações:
servidores de dados mantidos em um local
central por um administrador de sistemas
e acessados por clientes
• Ex: modelo cliente-servidor
–
Comunicação entre pessoas
• Exemplos: e-mail, videoconferência, edição compartilhada de documentos
–
Negócios eletrônicos
Por que usar redes de computadores?
•
Aplicações domésticas
–
Acesso a informações remotas
•
Ex: Web, Internet Bank...
–
Comunicação entre pessoas
•
Ex: Instant Messengers, Newsgroups, Redes Sociais,
Comunicação não hierárquica (P2P), VoIP...
–
Entretenimento interativo
•
Ex: Jogos online, simuladores, E-learning, Vídeos On
Demand...
–
Comércio eletrônico
–
Usuários móveis
–
Redes domésticas
Questões Sociais
•
Privacidade
–
Ex: cookies, espionagem governamental, hacking,
spams
•
Liberdade de Opinião (e alcance)
–
Ex: aconselhamento médico, posts anônimos,
cyberbullying, haters
Hardware de Rede
•
Tecnologia de Transmissão
•
Escala
Classificação de Redes
(por Tecnologia de Transmissão)
•
Links de difusão: possuem apenas um canal de comunicação,
compartilhado por todas as máquinas da rede.
Um campo de endereço dentro do pacote especifica o destinatário pretendido. Quando uma máquina recebe o pacote, verifica o campo de endereço:
• Se o pacote se destinar à máquina receptora, ela o processará • Se for destinado a alguma outra máquina, o pacote é ignorado
– Multicasting: admitem a transmissão para um subconjunto das
máquinas
– Broadcasting: endereçamento de um pacote a todos os destinos, com
a utilização de um código especial no campo de endereço
•
Links ponto a ponto: conexões entre pares de máquinas individuais
– Unicasting: um pacote nesse tipo de rede talvez tenha de visitar
máquinas intermediárias até chegar ao seu destino (problema do roteamento)
Classificação de Redes
(por Escala)
Redes Pessoais (PAN)
•
Redes destinadas a uma única pessoa
–
Exemplos:
•
car kit multimídia bluetooth
•
teclado infrared
•
aparelhos de audição
•
marca-passos
Redes Locais (LAN)
•
Redes privadas contidas em um único edifício
com até alguns km de extensão
–
Exemplos: escritórios, redes domésticas, LAN house...
–
Tamanho restrito: o pior tempo de transmissão é
limitado e conhecido com antecedência. O
conhecimento desse limite permite a utilização de
determinados tipos de projetos que em outras
circunstâncias não seriam possíveis, além de
simplificar o gerenciamento da rede
–
Diversas topologias: barramento, anel, estrela...
–
Controle de colisão entre pacotes (ex: Token Ring)
Redes Metropolitanas (MAN)
•
Abrangem uma cidade
•
Exemplo: Rede de TV a cabo (oferece serviços
de Internet de mão dupla em partes não
utilizadas do espectro da TV a cabo)
Redes Geograficamente Distribuídas (WAN)
•
Abrange uma grande área geográfica (ex: país ou continente)
•
Separa os aspectos da comunicação pura da rede (sub-rede) dos
aspectos de aplicação (hosts)
•
Pode operar por comutação de pacotes (roteamento) ou sistema de
satélites
•
Hosts: usuários conectados por uma sub-rede de comunicação
operada por um provedor (empresa de telefonia ou provedor de
Internet)
•
Sub-rede: transporta mensagens de um host para outro usando:
– Linhas de transmissão: transportam os bits entre as máquinas e podem
ser formadas por fios de cobre, fibra óptica, enlaces de rádio...
– Elementos de comutação (roteadores): computadores especializados
que conectam três ou mais linhas de transmissão. Quando os dados chegam a uma linha de entrada, o elemento de comutação deve escolher uma linha de saída para encaminhá-los
Software de Rede
•
Hierarquia de Protocolos
•
Questões de Projeto relacionadas às Camadas
•
Orientação a Conexões
•
Primitivas de Serviço
•
Serviços x Protocolos
Hierarquia de Protocolos
• Objetivo: reduzir a complexidade do projeto de rede (organizando-a em uma pilha de camadas)• Camada: “provedor” de serviços
específicos a camadas superiores (mas mantendo encapsulados seu estado interno e detalhes de implementação)
• Protocolo: acordo (regras) para
comunicação entre máquinas
• Arquitetura de Rede: conjunto
de camadas e protocolos
• Pares (peer): entidades
(processos, dispositivos de hw, seres humanos) que ocupam uma mesma camada em máquinas diferentes se comunicando por um protocolo
Questões de Projeto
• IDENTIFICAÇÃO DE TRANSMISSORES E RECEPTORES DE UMA MENSAGEM:
– Uma solução seria criar uma forma de endereçamento (ex: HEAD)
• CONTROLE DE ERROS:
– O receptor deve ter algum meio para informar ao transmissor quais mensagens foram recebidas corretamente e quais não foram (ex: ACK)
• TAMANHO DE MENSAGENS:
– Muito grandes: mecanismos de desmontagem, transmissão e remontagem de mensagens
– Muito pequenas (unidades de mensagem tão pequenas que o envio de cada uma separadamente se torna ineficiente): reunir várias mensagens com um destino comum em uma grande mensagem e desmembrá-la na outra extremidade
• ORDENAÇÃO DE PACOTES NO RECEPTOR:
– Uma solução seria enumerá-los
• CONTROLE DE FLUXO:
– O que fazer com os pacotes enumerados recebidos enquanto não chegam seus predecessores?
– Como impedir que um transmissor envie uma quantidade excessiva de dados a um receptor mais lento?
– Limitar o transmissor a uma velocidade de transmissão pré-determinada?