



























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Aula 04 - introdução as redes de computadores livro Kurose cap 03.
Tipologia: Notas de aula
1 / 35
Esta página não é visível na pré-visualização
Não perca as partes importantes!




























dados full-duplex:–
transmissão bi-direcional namesma conexão– MSS: maximum segment size
-^
orientado à conexão:–
handshaking (troca demensagens de controle) inicia oestado do transmissor e doreceptor antes da troca de dados
-^
controle de fluxo:–
transmissor não esgota acapacidade do receptor
ponto-a-ponto:–
um transmissor, um receptor
confiável, seqüêncial
byte
stream:^ –
não há contornos de mensagens
pipelined:
(transmissão de vários
pacotes em confirmação)–
Controle de congestão e de fluxodefinem tamanho da janela
buffers de transmissão e derecepção
socketport
TCPbuffe de txr
TCP buffer de rx
socketport
segment
aplicaçãoenvia dados
aplicaçãolê dados
Estrutura do Segmento TCP
porta origem
porta destino
32 bits
dados de aplicação(tamanho variável) número de seqüência número de reconhecimento
janela de recep.dados urgentes
checksum
FS PR AU
tam.cabec.
nãousado Opções (tamanho variável)
URG: dados urgentes
(pouco usado)
ACK: campo de ACK
é válido
PSH: produz envio dedados (pouco usado)
RST, SYN, FIN:
estabelec. de conexão
(comandos de criação e término)
contagem porbytes de dados(não segmentos!)número de bytesreceptor estápronto paraaceitar
Internetchecksum
(como no UDP)
TCP: transferência de dados confiável
transmissor simplificado, assumindoque não há controle de fluxo nem decongestionamento
waitforevent espera
por evento evento: dados recebidos
da aplicação acima
evento: temporização esgotada
para segmento com seq = y
evento: ACK recebido,com número de ACK = y
cria, envia segmento
retransmite segmento
processamento do ACK
TCP:
transferência
confiável
00
sendbase = initial_sequence number 01
nextseqnum = initial_sequence number 0203
loop (forever) { 04
switch(event)
05
event: dados recebidos da aplicação acima
06
cria segmento TCP com número de seqüência nextseqnum
07
inicia temporizador para segmento nextseqnum
08
passa segmento ao IP
09
nextseqnum = nextseqnum + length(data)
10
event: esgotamento de temp. para segmento com seq = y
11
retransmite segmento com seq = y
12
calcule nova temporização para o segmento y
13
reinicia temporizador para número de seqüência y
14
event: ACK recebido, com valor y no campo de ACK
15
if (y > sendbase) { /* ACK cumulativo de todos os dados até y */
16
cancela todas as temporizações para segmentos com seq < y
17
sendbase = y
18
}
19
else { /* um ACK duplicata para um segmento já reconhecido */
20
incrementa numero de duplicatas de ACKs recebidas para y
21
if (numero de duplicatas de ACKS recebidas para y == 3) {
22
/* TCP fast retransmit */
23
reenvia segmento com número de seqüência y
24
reinicia temporização para segmento y
25
}
26
} /* end of loop forever */
TransmissorTCP simplificado
TCP: cenários de retransmissão Host A
Seq=92, 8 bytes data
ACK=
loss
tempo
cenário com perda
do ACK
Host B
Seq=92, 8 bytes data
ACK=
Host A
Seq=100, 20 bytes data
ACK=
Seq=92 temp.
tempo
temporização prematura,
ACKs cumulativos
Host B
Seq=92, 8 bytes data
ACK=
Seq=92, 8 bytes data
Seq=100 temp.
ACK=
temporização
TCP: Controle de Fluxo
receptor: explicitamente
informa o transmissor daárea livre no buffer(dinamicamente mudando)^ –
campo
RcvWindow
no
segmento TCP
transmissor: mantém a
quantidade de dadostransmitidos mas nãoreconhecidos menor que oúltimo
RcvWindow
recebido
transmissor não deveesgotar os buffers de
receção enviando controle de fluxodados rápido demais armazenamento de recepção
RcvBuffer
= tamanho do Buffer de recepção do TCP
RcvWindow
= total de espaço livre no buffer
EstimatedRTT
(1-x)EstimatedRTT*
xSampleRTT*
Média móvel com peso exponential
-^
influencia de uma dada amostra decresce de forma exponencial
-^
valor típico de x: 0.
Definindo a temporização •^
EstimtedRTT
mais “margem de segurança”
grandes variações no
EstimatedRTT
maior margem de
segurança
Temporização
EstimatedRTT
4Desvios*
Desvios
(1-x)Desvio*
x|SampleRTT-EstimatedRTT|*
TCP Round Trip Time e Temporização
TCP Estabelecimento de Conexão
TCP transmissor estabelece conexão
com o receptor antes de trocarsegmentos de dados
-^
initializar variáveis:–
números de seqüência– buffers, controle de fluxo(ex.
RcvWindow
-^
cliente:
iniciador da conexão
Socket
clientSocket
=
new
Socket("hostname","portnumber");
-^
servidor
:^ chamado pelo cliente
Socket
connectionSocket =
welcomeSocket.accept();
TCP SYN ao servidor–
especifica número de seqüênciainicial
Passo 2: sistema final servidor que
recebe o SYN, responde comsegmento
SYNACK
-^
reconhece o SYN recebido
-^
aloca buffers
-^
especifica o número deseqüência inicial do servidor
Passo 3: o sistema final cliente
reconhece o SYNACK
TCP Término de Conexão
cliente recebe FIN,
responde com ACK.–
Entra “espera temporizada”- vai responder com ACK aFINs recebidos
servidor, recebe ACK.
Conexão fechada.
cliente
FIN
servidor ACKFIN ACK
closing
closing
closed
espera temp.
closed
TCP Controle de Conexão
Estados do Cliente
Estados do Servidor
Causas/custos do congestionamento: cenário 1
-^
dois transmissores, doisreceptores
-^
um roteador, buffersinfinitos
-^
não há retransmissão
grandes atrasosquandocongestionado
-^
máxima vazãoobtenível
-^
-^
Causas/custos do congestionamento: cenário 2transmissor reenvia pacotes perdidos
quatro transmissores
-^
caminhos com múltiplos saltos
-^
temporizações/retransmissões
λ
in
λ
in
Causas/custos do congestionamento: cenário 3
Outro “custo” do congestionamento:•^
quando pacote é descartado, qualquer capacidade de transmissão quetenha sido anteriormente usada para aquele pacote é desperdiçada! Causas/custos do congestionamento: cenário 3