Professional Documents
Culture Documents
27/02/2007
Semestre 1 Tópico 12
Esclarecimentos
Esse material é de apoio para as aulas da disciplina
e não substitui a leitura da bibliografia básica
Os professores da disciplina irão focar alguns dos
tópicos da bibliografia assim como poderão
adicionar alguns detalhes não presentes na
bibliografia, com base em suas experiências
profissionais
O conteúdo de slides com o título “Comentários
adicionais” seguido de um texto, se refere a
comentários adicionais ao slide cujo texto indica e
tem por objetivo incluir alguma informação
adicional aos conteúdo do slide correspondente.
4
Glossário
DNS:Domain Name System
HTTP:Hyper Text Transfer Protocol
RFC:Request for Comments
SNMP:Simple Network Management Protocol
TCP: Transmission Control Protocol
UDP:User Datagram Protocol
5
Multiplexação e Demultiplexação:
Orientados à conexão
Tipos de Redes
Fornecem comunicação lógica aplicação
entre processos de aplicação transporte
rede
em diferentes hospedeiros enlace
física
rede
enlace
rede
Os protocolos de transporte
tr
enlace física
an
física
são executados nos sistemas
sp
rede
or
finais enlace
te
física
rede
ló
Lado emissor: quebra as
g
enlace
ic
física
o
mensagens da aplicação
fi
rede
m
em segmentos e envia enlace
a
física
fi
para a camada de rede
m
Lado receptor: remonta aplicação
transporte
os segmentos em rede
enlace
mensagens e passa para física
a camada de aplicação
Há mais de um protocolo de
tr
enlace física
an
física
sp
Controle de fluxo. rede
or
enlace
te
Orientado à conexão. física
rede
ló
g
enlace
ic
Não confiável, sem ordem física
o
fi
rede
de entrega: UDP
m
enlace
a
física
fi
Extensão do “melhor
m
esforço” do IP. aplicação
transporte
Serviços não disponíveis: rede
enlace
física
Garantia a atrasos.
Garantia de banda.
9
Multiplexação/demultiplexação
Camada de transporte
Demultiplexação no Multiplexação no
hospedeiro receptor: hospedeiro emissor:
Entrega os segmentos Coleta dados de
P2 P3 P1
P1
simultâneos:
Cada socket é identificado pelos seus próprios 4
valores
Servidores Web possuem sockets diferentes para
cada cliente conectado
HTTP não persistente terá um socket diferente
14
Demultiplexação orientada à
conexão
P1 P4 P5 P6 P2 P1P3
SP: 5775
DP: 80
S-IP: B
D-IP:C
P1 P4 P2 P1P3
SP: 5775
DP: 80
S-IP: B
D-IP:C
UDP checksum
Objetivo: detectar “erros” no segmento transmitido
Transmissor:
Trata o conteúdo do segmento como seqüência de inteiros de
16 bits
Checksum: soma (complemento de 1 da soma) do conteúdo do
segmento
Transmissor coloca o valor do checksum no campo de
checksum do UDP
Receptor:
Computa o checksum do segmento recebido
1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
wraparound 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
sum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
20
Princípios de transferência confiável de
dados
Importante nas
camadas de
aplicação,
transporte e enlace
Top 10 na lista dos
tópicos mais
importantes de
redes!
Características dos
canais não
confiáveis
determinarão a
complexidade dos
protocolos
confiáveis de
transferência de
21
Transferência confiável: o ponto de
partida
rdt_send(): chamada da camada deliver_data(): chamada pela
superior, (ex., pela aplicação). Passa entidade de transporte para entregar
dados para entregar à camada superior dados para cima
receptora
lado lado
transmissor receptor
estado: quando
neste evento causando transição de estados
“estado” o ações tomadas na transição de estado
próximo
estado fica estado estado
unicamente 1 evento
2
determinado ações
pelo próximo
evento
23
rdt1.0: Transfêrencia confiável sobre canais
confiáveis
Canal de transmissão perfeitamente confiável
Não há erros de bits
Não há perdas de pacotes
FSMs separadas para transmissor e receptor:
de um NAK
Novos mecanismos no rdt2.0 (além do rdt1.0):
Detecção de erros
25
rdt_rcv(rcvpkt) &&
notcorrupt(rcvpkt)
extract(rcvpkt,dat
a)
deliver_data(data)
udt_send(ACK)
27
receptor!
Não pode apenas retransmitir: possível
duplicata
Tratando duplicatas:
Transmissor acrescenta número de seqüência
em cada pacote
Transmissor reenvia o último pacote se ACK/NAK
for perdido
Receptor descarta (não passa para a aplicação)
pacotes duplicados
Pare e espere
Transmissor envia um pacote e então espera
rdt2.1: discussão
Transmissor:
Adiciona número de seqüência ao pacote
corrompidos
Duas vezes o número de estados
perdido):
Retransmissão será duplicata, mas os números de
Transmissor rdt3.0
35
rdt3.0: em ação
36
rdt3.0: em ação
37
Desempenho do rdt3.0
rdt3.0 funciona, mas o desempenho é sofrível
Exemplo: enlace de 1 Gbps, 15 ms de atraso de
propagação, pacotes de 1 KB:
U
39
Protocolos com paralelismo
(pipelining)
Paralelismo: transmissor envia vários pacotes ao mesmo
tempo, todos esperando para serem reconhecidos
Faixa de números de seqüência deve ser aumentada
(a) operação do protocolo pare e espere (a) operação do protocolo com paralelismo
Aumento da utilização
por um fator de 3!
U 3* L/ R .024
sender = = = 0.0008
RTT + L / R 30.008 microsecon
ds
41
Go-Back-N
Transmissor:
Número de seqüência com k bits no cabeçalho do pacote
“janela” de até N pacotes não reconhecidos, consecutivos,
são permitidos
GBN em ação
45
Retransmissão seletiva
Receptor reconhece individualmente todos os
pacotes recebidos corretamente
Armazena pacotes, quando necessário, para
reconhecido
Janela de transmissão
Retransmissão seletiva
TRANSMISSOR
Dados da camada superior:
Se o próximo número de seqüência disponível está na janela, envia o
RECEPTOR
Pacote n em [rcvbase, rcvbase + N -1]
Envia ACK(n)
Caso contrário:
48
Tamanho da janela = 3
Receptor não vê