Redes de Computadores
(T202-A)
02 – Redes: conceitos iniciais II
Prof. Edson J. C. Gimenez
[email protected] 2020/Sem1
Referências:
1. Kurose & Ross. Redes de Computadores e a Internet: uma
abordagem top-down. Capítulos 1 e 2.
• Sala virtual: sv.pearson.com.br
Visão geral de atraso em redes de pacotes 3
Um pacote começa sua
transmissão em um sistema
final (origem), passa por
uma série de roteadores, e
termina sua jornada em
outro sistema final (destino).
Quando um pacote viaja de
um nó ao nó, sofre, ao longo
desse caminho, diversos
tipos de atraso em cada nó,
entre eles:
Atraso de processamento
nodal
Atraso de fila
Atraso de transmissão
Atraso de propragação
4
Visão geral de atraso em redes de pacotes
Atraso de processamento
Diz respeito ao tempo exigido para examinar o cabeçalho do pacote e
determinar para onde direcioná-lo, podedo também incluir outros fatores,
como o tempo necessário para verificar os erros em bits existentes no
pacote que ocorreram durante a transmissão deste, do no anterior ao
roteador.
Atrasos de processamento em roteadores de alta velocidade em geral
são da ordem de microssegundos, ou menos.
Atraso de fila
Atraso ocorrido enquanto um pacote espera (na fila) para ser transmitido
no enlace.
Este atraso dependerá da quantidade de outros pacotes que chegarem
antes e que já estiverem na fila esperando pela transmissão no enlace.
Na prática, atrasos de fila podem ser da ordem de micro a
milissegundos.
5
Visão geral de atraso em redes de pacotes
Atraso de transmissão
É o atraso exigido para que o pacote seja totalmente transmitido
(colocado) pela placa de saída do roteador no enlace de dados.
Sendo o tamanho do pacote L bits e a velocidade de transmissão do
enlace R bits/s, este atraso será dado por L / R segundos.
Na prática, atrasos de transmissão costumam ser da ordem de micro a
milissegundos.
Atraso de propagação
O tempo necessário para que um bit possa se propagar desde o inicio
do enlace ate o seu final.
É uma função da velocidade de propagação de enlace, na faixa de
2x108 m/s a 3x108 m/s, e da distância desse enlace.
6
Visão geral de atraso em redes de pacotes
Arquiteturas de aplicações de rede 7
A arquitetura de rede é fixa e provê um conjunto específico de
serviços.
A arquitetura da aplicação é projetada pelo programador e determina
como a aplicação é organizada nos vários sistemas finais.
Pode-se classificar as arquiteturas de aplicação em:
Arquiteturas cliente-servidor
Arquiteturas peer-to-peer (P2P)
8
Arquiteturas de aplicações de rede
Em uma arquitetura cliente-servidor há um hospedeiro sempre em
funcionamento, denominado servidor, que atende a requisições de
muitos outros hospedeiros, denominados clientes.
Características:
Os clientes não se comunicam diretamente entre si
Os servidores devem ser conhecidos; devem possuir um endereço fixo,
de conhecimento público
Dependendo do serviço, vários servidores podem ser utilizados
Na arquitetura P2P utiliza-se a comunicação direta entre duplas de
hospedeiros conectados alternadamente, denominados pares.
Uma das características mais fortes da arquitetura P2P é sua
autoescalabilidade.
9
Arquiteturas de aplicações de rede
10
Comunicação entre processos
Uma aplicação de rede consiste em pares de processos que enviam
mensagens uns para os outros por meio de uma rede.
Um processo envia mensagens para a rede e recebe mensagens dela
através de uma interface de software denominada socket.
um socket é a interface entre a camada de aplicação e a de
transporte dentro de um hospedeiro; é também denominado interface
de programação da aplicação (application programming interface —
API) entre a aplicação e a rede, visto que é a interface de programação
pela qual as aplicações de rede são criadas
Para identificar o processo receptor, duas informações devem ser
especificadas:
o endereço do hospedeiro – um endereço IP;
um identificador, que especifica o processo receptor no hospedeiro de
destino – um identificar de porta (número de porta).
11
Comunicação entre processos
Protocolo de aplicação, sockets e protocolo de transporte subjacente.
Serviços de transporte disponíveis para aplicações 12
Transferência confiável de dados
Deve garantir que os dados enviados por um processo origem sejam
transmitidos correta e completamente para o processo destino.
Quando um protocolo de transporte oferece esse serviço, o processo
remetente passa seus dados para um socket e confia que eles serão
entregues corretamente ao processo destinatário.
Pode não ser necessário para aplicações tolerantes à perda, tais como
aplicações multimídia.
Vazão
É a taxa pela qual o processo remetente pode enviar bits ao processo
destinatário, podendo oscilar com o tempo.
Aplicações sensíveis à largura de banda necessitam de uma vazão
mínima garantida, tais como algumas aplicações multimídia.
Aplicações elásticas são aquelas que podem usar qualquer quantidade
mínima ou máxima disponível, tais como correio eletrônico, transferência
de arquivos e transferências Web
Serviços de transporte disponíveis para aplicações 13
Temporização
Um protocolo da camada de transporte pode também oferecer garantias
de temporização.
Aplicações interativas em tempo real, como a telefonia por Internet,
ambientes virtuais, teleconferência e jogos multijogadores, exigem
restrições de temporização no envio de dados para garantir eficácia.
Para aplicações que não são em tempo real, é sempre preferível um
atraso menor a um maior, mas não ha nenhuma limitação estrita aos
atrasos fim a fim.
Segurança
Um protocolo de transporte pode, além do sigilo, fornecer outros
serviços de segurança aos dados trocados entre os processos origem e
destino, incluindo integridade dos dados e autenticação do ponto
terminal.
14
Serviços de transporte providos pela Internet
A Internet (pilha TCP/IP) disponibiliza dois protocolos de transporte
para aplicações: o UDP e o TCP
Um protocolo da camada de transporte pode também oferecer garantias
de temporização.
Requisitos de aplicações de rede selecionadas:
15
Serviços de transporte providos pela Internet
Serviços do TCP
O modelo de serviço TCP inclui um serviço orientado para conexão e
um serviço confiável de transferência de dados.
Serviço orientado para conexão: o TCP faz com que o cliente e o
servidor troquem informações de controle de camada de transporte
antes que as mensagens de camada de aplicação comecem a
fluir.
Serviço confiável de transporte: os processos comunicantes contam com
o TCP para a entrega de todos os dados enviados sem erro e na ordem
correta ao processo destino
O TCP inclui ainda um mecanismo de controle de congestionamento,
que limita a capacidade de transmissão de um processo (cliente ou
servidor) quando a rede esta congestionada entre remetente e
destinatário.
16
Serviços de transporte providos pela Internet
Serviços do UDP
O UDP é um protocolo de transporte não orientado para conexão
Portanto, não há apresentação antes que os dois processos comecem a
se comunicar.
É um protocolo simplificado, leve, com um modelo de serviço
minimalista.
O UDP provê um serviço não confiável de transferência de dados
Quando um processo envia uma mensagem para dentro de um
socket UDP, o protocolo não oferece garantias de que a
mensagem chegará ao processo receptor.
Além disso, mensagens que chegam de fato ao processo receptor
podem chegar fora de ordem.
O UDP não inclui nenhum mecanismo de controle de
congestionamento.
17
Serviços de transporte providos pela Internet
Serviços não oferecidos pelos protocolos de transporte
Tanto o TCP quanto o UDP não oferecem garantias de vazão e de
temporização, que podem ser necessário para algumas aplicações.
Neste caso, as aplicações devem, já em seu desenvolvimento, serem
projetadas para lidar com suas necessidades.
Assim, a Internet hoje pode oferecer serviços satisfatórios a
aplicações sensíveis ao tempo, mas não garantias de temporização
ou de largura de banda.
18
Serviços de transporte providos pela Internet
Aplicações populares da Internet, seus protocolos de camada de
aplicação e seus protocolos de transporte subjacentes:
19
Lista de exercícios 02: