O documento descreve conceitos fundamentais de atraso em redes de pacotes, incluindo atraso de processamento, fila, transmissão e propagação. Também discute arquiteturas de aplicações de rede, como cliente-servidor e peer-to-peer, e os protocolos de transporte TCP e UDP da Internet, que fornecem serviços como transferência confiável e não confiável de dados.
Redes de Computadores: Visão Geral de Atrasos em Redes de Pacotes
1. T202 - A/C
Redes de Computadores
02 – Aplicação e Transporte
Prof. Edson J. C. Gimenez
soned@inatel.br
2022/Sem2
2. 2
Referências:
1. Kurose & Ross. Redes de Computadores e a Internet: uma
abordagem top-down. Capítulos 1 e 2.
3. Visão geral de atraso em redes de pacotes
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
Atraso de fila
Atraso de transmissão
Atraso de propagação
3
Kurose & Ross
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, podendo 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
nó 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.
4
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 do enlace, na faixa
de 2x108 m/s a 3x108 m/s, e da distância desse enlace.
=
5
6. Visão geral de atraso em redes de pacotes 6
Kurose & Ross
7. Visão geral de atraso em redes de pacotes
Exemplo 1: Uma estação A está transmitindo quadros para uma estação B
através de um enlace ponto a ponto com taxa de 1 Mbps. Sabendo-se que o
enlace possui comprimento de 5 km, com velocidade de propagação de
300.000 km/s, que os quadros enviados pela estação A (para B) possuem
1000 bytes de comprimento, que as confirmações (respostas) enviadas por B
(para A) possuem 10 bytes de comprimento, responda as questões a seguir,
considerando que serão transmitidos 5 quadros de A para B:
a) Qual é o valor do atraso de propagação relativo ao enlace A – B?
b) Qual é o valor do atraso de transmissão de um quadro de A para B?
c) Qual é o valor do atraso de transmissão de uma confirmação de B para A?
7
8. Visão geral de atraso em redes de pacotes
Exemplo 1 – Solução:
Taxa de tx no enlace: R = 1 Mbps
Comprimento do enlace: Lenlace = 5 km
Vel. Propagação do enlace: Vprop = 300000 km/s
Comprimento do quadro A: Lquadro_A = 1000 bytes = 8000 bits
Comprimento do quadro B: Lquadro_B = 10 bytes = 80 bits
a) = =
/
≈ 16,67 '(
b) )* =
+
,
=
- ./
0 1 .
= 8,00 4(
c) )5 =
+
,
=
- ./
0 1 .
= 80,00 '(
8
9. Arquiteturas de aplicações de rede
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)
9
10. 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 auto-
escalabilidade.
Arquiteturas de aplicações de rede 10
12. 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.
Socket é a interface entre a camada de aplicação e a camada 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).
Comunicação entre processos 12
13. Protocolo de aplicação, sockets e protocolo de transporte.
Comunicação entre processos 13
Kurose & Ross
14. 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ções14
15. 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 há 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.
Serviços de transporte disponíveis para aplicações15
16. A Internet (pilha TCP/IP) disponibiliza dois protocolos de transporte
para aplicações: o TCP (Transmission Control Protocol) e o UDP
(User Data Protocol).
Serviços de transporte providos pela Internet 16
17. 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.
Serviços de transporte providos pela Internet 17
18. Serviços do UDP
O UDP é um protocolo de transporte não orientado para conexão
Nenhuma troca de informações ocorre antes que os dois processos
comecem a se comunicar (troca de dados).
É 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 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.
Serviços de transporte providos pela Internet 18
19. 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.
Exemplos de aplicações populares da Internet, seus protocolos de
camada de aplicação e seus protocolos de transporte subjacentes:
Serviços de transporte providos pela Internet 19
Kurose & Ross