SlideShare uma empresa Scribd logo
Gerson Leiria Nunes
gersonnunes@furg.br
Objetivos:
 entender princípios
por trás dos
serviços da camada
de transporte:
◦ multiplexação/demul
-tiplexação
◦ transferência de
dados confiável
◦ controle de fluxo
◦ controle de
congestionamento
 aprender sobre os
protocolos da camada
de transporte na
Internet:
◦ UDP: transporte sem
conexão
◦ TCP: transporte orientado a
conexão
◦ controle de
congestionamento TCP
 oferecem comunicação lógica
entre processos de aplicação
rodando em hospedeiros
diferentes
 protocolos de transporte rodam
em sistemas finais
◦ lado remetente: divide as
mensagens da aplicação em
segmentos, passa à camada
de rede
◦ lado destinatário: remonta os
segmentos em mensagens,
passa à camada de aplicação
 mais de um protocolo de
transporte disponível às
aplicações
◦ Internet: TCP e UDP
aplicação
transporte
rede
enlace
física
aplicação
transporte
rede
enlace
física
rede
enlace
física
rede
enlace
física
 Remessa confiável em ordem (TCP)
◦ controle de congestionamento
◦ controle de fluxo
◦ estabelecimento da conexão
 remessa não confiável e
desordenada: UDP
◦ extensão sem luxo do IP pelo “melhor
esforço”
 serviços não disponíveis:
◦ garantias de atraso
◦ garantias de largura de banda
aplicação
transporte
rede
enlace
física
network
data link
physical
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
aplicação
transporte
rede
enlace
física
aplicação
transporte
rede
enlace
física
P1 aplicação
transporte
rede
enlace
física
aplicação
transporte
rede
enlace
física
P2P3 P4P1
hospedeiro 1 hospedeiro 2 hospedeiro 3
= processo= socket
entregando segmentos
recebidos ao socket correto
demultiplexação no destinatário: multiplexação no remetente:
colhendo dados de múltiplos
sockets, envelopando dados
com cabeçalho (usados depois
para demultiplexação)
 hospedeiro recebe
datagramas IP
◦ cada datagrama tem
endereço IP de origem,
endereço IP de destino
◦ cada datagrama carrega 1
segmento da camada de
transporte
◦ cada segmento tem
número de porta de
origem, destino
 hospedeiro usa endereços IP
& números de porta para
direcionar segmento ao
socket apropriado
# porta origem # porta destino
32 bits
dados da
aplicação
(mensagem)
outros campos de cabeçalho
formato do segmento TCP/UDP
 cria sockets com números
de porta:
DatagramSocket mySocket1 = new
DatagramSocket(12534);
DatagramSocket mySocket2 = new
DatagramSocket(12535);
 socket UDP identificado
por tupla de dois
elementos:
(endereço IP destino, número porta
destino)
 quando hospedeiro
recebe segmento UDP:
◦ verifica número de porta
de destino no segmento
◦ direciona segmento UDP
para socket com esse
número de porta
 datagramas IP com
diferentes endereços IP
de origem e/ou
números de porta de
origem direcionados
para o mesmo socket
DatagramSocket serverSocket = new DatagramSocket(6428);
Cliente
IP:B
P2
cliente
IP: A
P1P1P3
servidor
IP: C
SP:6428
DP:9157
SP:9157
DP:6428
SP:6428
DP:5775
SP: 5775
DP:6428
SP = Source Port
DP = Destination Port
 socket TCP identificado
por tupla de 4
elementos:
◦ endereço IP de origem
◦ número de porta de origem
◦ endereço IP de destino
◦ número de porta de
destino
 hospedeiro destinatário
usa todos os quatro
valores para direcionar
segmento ao socket
apropriado
 hospedeiro servidor
pode admitir muitos
sockets TCP
simultâneos:
◦ cada socket identificado
por usa própria tupla de 4
 servidores Web têm
diferentes sockets para
cada cliente conectando
◦ HTTP não persistente terá
diferentes sockets para
cada requisição
cliente
IP:B
P1
cliente
IP: A
P1P2P4
servidor
IP: C
SP: 9157
DP: 80
SP: 9157
DP: 80
P5 P6 P3
D-IP:C
S-IP: A
D-IP:C
S-IP: B
SP: 5775
DP: 80
D-IP:C
S-IP: B
cliente
IP:B
P1
cliente
IP: A
P1P2
servidor
IP: C
SP: 9157
DP: 80
SP: 9157
DP: 80
P4 P3
D-IP:C
S-IP: A
D-IP:C
S-IP: B
SP: 5775
DP: 80
D-IP:C
S-IP: B
 Protocolo de transporte da
Internet “sem luxo”, básico
 Serviço de “melhor
esforço”, segmentos UDP
podem ser:
◦ perdidos
◦ entregues à aplicação
fora da ordem
 Sem conexão:
◦ sem handshaking entre
remetente e destinatário
UDP
◦ cada segmento UDP
tratado independente
dos outros
Por que existe um UDP?
 sem estabelecimento de
conexão (que pode gerar
atraso)
 simples: sem estado de
conexão no remetente,
destinatário
 cabeçalho de segmento
pequeno
 sem controle de
congestionamento: UDP
pode transmitir o mais
rápido possível
 Normalmente usado para
streaming de aplicações de
multimídia
◦ tolerante a perdas
◦ sensível à taxa
 Outros usos do UDP
◦ DNS
◦ SNMP
 Transferência confiável por
UDP: aumenta confiabilidade
na camada de aplicação
◦ recuperação de erro
específica da aplicação
# porta origem # porta dest.
32 bits
dados da
aplicação
(mensagem)
formato de segmento UDP
tamanho soma verif.
tamanho,
em bytes, do
segmento UDP,
incluindo
cabeçalho
remetente:
 trata conteúdo de
segmento como
sequência de inteiros de
16 bits
 soma de verificação
(checksum): adição
(soma por complemento
de 1) do conteúdo do
segmento
 remetente coloca valor
da soma de verificação
no campo de soma de
verificação UDP
destinatário:
 calcula soma de verificação
do segmento recebido
 verifica se soma de
verificação calculada igual ao
valor do campo de soma de
verificação:
◦ NÃO – erro detectado
◦ SIM – nenhum erro
detectado.
objetivo: detectar “erros” (p. e., bits invertidos) no
segmento transmitido
 importante nas camadas de aplicação, transporte e enlace
 lista dos 10 mais importantes tópicos de redes!
 características do canal confiável determinarão
complexidade do protocolo de transferência confiável (rdt)
lado
destinatário
rdt_rcv(): chamado quando pacote
chega no lado destinatário do canal
deliver_data(): chamado pela
rdt para remeter dados para cima
lado
remetente
rdt_send(): chamado de cima, (p. e.,
pela apl.). Dados passados para remeter
à camada superior do destinatário
udt_send(): chamado pela rdt,
para transferir pacote por canal
não confiável ao destinatário
 canal subjacente perfeitamente confiável
◦ sem erros de bit
◦ sem perda de pacotes
 Máquinas de estado finito separadas para
remetente e destinatário:
◦ remetente envia dados para canal subjacente
◦ destinatário lê dados do canal subjacente
Espera
chamada
de cima
packet = make_pkt(dados)
udt_send(pacote)
rdt_send(dados)
extract (pacote, dados)
deliver_data(dados)
Espera
chamada
de baixo
rdt_rcv(pacote)
remetente destinatário
 canal subjacente pode inverter bits no pacote
◦ soma de verificação para detectar erros de bit
 a questão: como recuperar-se dos erros:
◦ reconhecimentos (ACKs): destinatário diz explicitamente
ao remetente que o pacote foi recebido OK
◦ reconhecimentos negativas (NAKs): destinatário diz
explicitamente ao remetente que o pacote teve erros
◦ remetente retransmite pacote ao receber NAK
 novos mecanismos no rdt2.0 (além do rdt1.0):
◦ detecção de erro
◦ feedback do destinatário: mensagens de controle
(ACK,NAK) destinatário<->remetente
Espera
chamada
de cima
snkpkt = make_pkt(dados, soma_verif)
udt_send(pctenv)
extract(pctrec,dados)
deliver_data(dados)
udt_send(ACK)
rdt_rcv(pctrec) &&
notcorrupt(pctrec)
rdt_rcv(pctrec) && isACK(pctrec)
udt_send(pctenv)
rdt_rcv(pctrec) &&
isNAK(pctrec)
udt_send(NAK)
rdt_rcv(pctrec) &&
corrupt(pctrec)
Espera
ACK ou
NAK
Espera
chamada
de baixo
remetente
destinatário
rdt_send(dados)
L
O que acontece se
ACK/NAK for
corrompido?
 remetente não sabe o que
aconteceu no
destinatário!
 não pode simplesmente
retransmitir: possível
duplicação
tratando de duplicatas:
 remetente retransmite
pacote atual se ACK/NAK
corrompido
 remetente acrescenta
número de sequência a
cada pacote
 destinatário descarta (não
sobe) pacote duplicado
remetente envia um pacote,
depois espera resposta do
destinatário
pare e espere
Espera
chamada 0
de cima
pctenv = make_pkt(0, dados, checksum)
udt_send(pctenv)
rdt_send(dados)
Espera
ACK ou
NAK 0 udt_send(pctenv)
rdt_rcv(pctrec) &&
( corrupt(pctrec) ||
isNAK(pctrec) )
pctenv = make_pkt(1, dados, checksum)
udt_send(pctenv)
rdt_send(dados)
rdt_rcv(pctrec)
&& notcorrupt(pctrec)
&& isACK(pctrec)
udt_send(pctenv)
rdt_rcv(pctrec) &&
( corrupt(pctrec) ||
isNAK(pctrec) )
rdt_rcv(pctrec)
&& notcorrupt(pctrec)
&& isACK(pctrec)
Espera
chamada 1
de cima
Espera
ACK ou
NAK 1
L
L
 mesma funcionalidade de rdt2.1, usando apenas ACKs
 em vez de NAK, destinatário envia ACK para último
pacote recebido OK
◦ destinatário precisa incluir explicitamente # seq. do pacote
sendo reconhecido com ACK
 ACK duplicado no remetente resulta na mesma ação
de NAK: retransmitir pacote atual
nova suposição: canal
subjacente também
pode perder pacotes
(dados ou ACKs)
◦ soma de verificação, #
seq., ACKs, retransmissões
serão úteis, mas não
suficientes
técnica: remetente espera
quantidade “razoável” de
tempo por ACK
 retransmite se não chegar ACK
nesse tempo
 se o pacote (ou ACK)
simplesmente atrasado (não
perdido):
◦ retransmissão será
duplicada, mas os #s de seq.
já cuidam disso
◦ destinatário deve especificar
# seq. do pacote sendo
reconhecido com ACK
 requer contador regressivo
U
remet
=
0,008
30,008
= 0,00027
microsec
onds
L / R
RTT + L / R
=
paralelismo: remetente permite múltiplos
pacotes “no ar”, ainda a serem reconhecidos
◦ intervalo de números de sequência deve ser
aumentado
◦ buffering no remetente e/ou destinatário
 duas formas genéricas de protocolo com
paralelismo: Go-Back-N, repetição seletiva
U
remet
=
0,02
430,008
= 0,0008
microsecon
ds
3 * L / R
RTT + L / R
=
Aumento de utilização
por fator de 3!

Mais conteúdo relacionado

Mais procurados

Protocolo UDP
Protocolo UDPProtocolo UDP
Protocolo UDP
César Augusto Pessôa
 
Camada de Rede
Camada de RedeCamada de Rede
Camada de Rede
Cristiano Cordeiro
 
Protocolos de transporte
Protocolos de transporteProtocolos de transporte
Protocolos de transporte
Joel Saramago
 
RC - SL03 - Camada de Transporte
RC - SL03 - Camada de TransporteRC - SL03 - Camada de Transporte
RC - SL03 - Camada de Transporte
UFPB
 
Tcp udp
Tcp udpTcp udp
Tcp udp
thiagosenac
 
Controle de congestionamento tcp
Controle de congestionamento tcpControle de congestionamento tcp
Controle de congestionamento tcp
Thiago Inacio de Matos
 
Análise de Tráfego TCP/IP
Análise de Tráfego TCP/IPAnálise de Tráfego TCP/IP
Análise de Tráfego TCP/IP
Thiago Finardi
 
Protocolos TCP IP UDP
Protocolos TCP IP UDPProtocolos TCP IP UDP
Protocolos TCP IP UDP
André Nobre
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processos
Faculdade Mater Christi
 
Aula 6 a camada de rede
Aula 6   a camada de redeAula 6   a camada de rede
Aula 6 a camada de rede
O Cara Ivan Silva
 
Exercicio rossana
Exercicio rossanaExercicio rossana
Exercicio rossana
Fernando A Santos
 
Redes tcp udp
Redes tcp udpRedes tcp udp
Redes tcp udp
Carlos Pereira
 
Redes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPRedes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IP
Mauro Tapajós
 
Redes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPRedes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IP
Mauro Tapajós
 
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
Wellington Oliveira
 
Redes - Camada de Transporte
Redes - Camada de TransporteRedes - Camada de Transporte
Redes - Camada de Transporte
Luiz Arthur
 
Lista 03 respostas
Lista 03 respostasLista 03 respostas
Lista 03 respostas
Força Tauá
 
Redes - Camada de Inter-Redes
Redes - Camada de Inter-RedesRedes - Camada de Inter-Redes
Redes - Camada de Inter-Redes
Luiz Arthur
 
Camada de enlace parte1
Camada de enlace   parte1Camada de enlace   parte1
Camada de enlace parte1
Universidade Federal do Pampa
 
Camada de enlace parte2
Camada de enlace   parte2Camada de enlace   parte2
Camada de enlace parte2
Universidade Federal do Pampa
 

Mais procurados (20)

Protocolo UDP
Protocolo UDPProtocolo UDP
Protocolo UDP
 
Camada de Rede
Camada de RedeCamada de Rede
Camada de Rede
 
Protocolos de transporte
Protocolos de transporteProtocolos de transporte
Protocolos de transporte
 
RC - SL03 - Camada de Transporte
RC - SL03 - Camada de TransporteRC - SL03 - Camada de Transporte
RC - SL03 - Camada de Transporte
 
Tcp udp
Tcp udpTcp udp
Tcp udp
 
Controle de congestionamento tcp
Controle de congestionamento tcpControle de congestionamento tcp
Controle de congestionamento tcp
 
Análise de Tráfego TCP/IP
Análise de Tráfego TCP/IPAnálise de Tráfego TCP/IP
Análise de Tráfego TCP/IP
 
Protocolos TCP IP UDP
Protocolos TCP IP UDPProtocolos TCP IP UDP
Protocolos TCP IP UDP
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processos
 
Aula 6 a camada de rede
Aula 6   a camada de redeAula 6   a camada de rede
Aula 6 a camada de rede
 
Exercicio rossana
Exercicio rossanaExercicio rossana
Exercicio rossana
 
Redes tcp udp
Redes tcp udpRedes tcp udp
Redes tcp udp
 
Redes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPRedes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IP
 
Redes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPRedes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IP
 
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
 
Redes - Camada de Transporte
Redes - Camada de TransporteRedes - Camada de Transporte
Redes - Camada de Transporte
 
Lista 03 respostas
Lista 03 respostasLista 03 respostas
Lista 03 respostas
 
Redes - Camada de Inter-Redes
Redes - Camada de Inter-RedesRedes - Camada de Inter-Redes
Redes - Camada de Inter-Redes
 
Camada de enlace parte1
Camada de enlace   parte1Camada de enlace   parte1
Camada de enlace parte1
 
Camada de enlace parte2
Camada de enlace   parte2Camada de enlace   parte2
Camada de enlace parte2
 

Semelhante a Camada de transporte parte1

Parte3a
Parte3aParte3a
Parte3a
redesinforma
 
02 - Aplicação-Transporte.pdf
02 - Aplicação-Transporte.pdf02 - Aplicação-Transporte.pdf
02 - Aplicação-Transporte.pdf
edsonjcg
 
R&C 0401 07 1
R&C 0401 07 1R&C 0401 07 1
R&C 0401 07 1
guest6a825195
 
Lab 06 ping_com_udp
Lab 06 ping_com_udpLab 06 ping_com_udp
Lab 06 ping_com_udp
Almeida Martins
 
Camada de transporte parte2
Camada de transporte parte2Camada de transporte parte2
Camada de transporte parte2
Universidade Federal do Pampa
 
R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)
Mariana Hiyori
 
Camada de rede parte2
Camada de rede   parte2Camada de rede   parte2
Camada de rede parte2
Universidade Federal do Pampa
 
Rc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osiRc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osi
Jhenrique R Dos Santos
 
RIP - Routing Information Protocol
RIP - Routing Information ProtocolRIP - Routing Information Protocol
RIP - Routing Information Protocol
Jean Pimentel
 
Samba, Squid, FTP, DHCP2
Samba, Squid, FTP, DHCP2Samba, Squid, FTP, DHCP2
Samba, Squid, FTP, DHCP2
SoftD Abreu
 
Camada de aplicação parte1
Camada de aplicação parte1Camada de aplicação parte1
Camada de aplicação parte1
Universidade Federal do Pampa
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Apostilas modelo cliente servidor
Apostilas   modelo cliente servidorApostilas   modelo cliente servidor
Apostilas modelo cliente servidor
Daniel Silveira
 
Cap 02.pdf
Cap 02.pdfCap 02.pdf
Cap 02.pdf
MateusHonorato8
 
Redes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de EnlaceRedes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de Enlace
Wellington Oliveira
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
wab030
 
Camada rede
Camada redeCamada rede
Camada rede
Jhosafá de Kastro
 
Aula 1
Aula 1Aula 1
Aula 1
André Silva
 

Semelhante a Camada de transporte parte1 (20)

Parte3a
Parte3aParte3a
Parte3a
 
02 - Aplicação-Transporte.pdf
02 - Aplicação-Transporte.pdf02 - Aplicação-Transporte.pdf
02 - Aplicação-Transporte.pdf
 
R&C 0401 07 1
R&C 0401 07 1R&C 0401 07 1
R&C 0401 07 1
 
Lab 06 ping_com_udp
Lab 06 ping_com_udpLab 06 ping_com_udp
Lab 06 ping_com_udp
 
Camada de transporte parte2
Camada de transporte parte2Camada de transporte parte2
Camada de transporte parte2
 
R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)
 
Camada de rede parte2
Camada de rede   parte2Camada de rede   parte2
Camada de rede parte2
 
Rc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osiRc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osi
 
RIP - Routing Information Protocol
RIP - Routing Information ProtocolRIP - Routing Information Protocol
RIP - Routing Information Protocol
 
Samba, Squid, FTP, DHCP2
Samba, Squid, FTP, DHCP2Samba, Squid, FTP, DHCP2
Samba, Squid, FTP, DHCP2
 
Camada de aplicação parte1
Camada de aplicação parte1Camada de aplicação parte1
Camada de aplicação parte1
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Modelo TCP/IP
 
Apostilas modelo cliente servidor
Apostilas   modelo cliente servidorApostilas   modelo cliente servidor
Apostilas modelo cliente servidor
 
Cap 02.pdf
Cap 02.pdfCap 02.pdf
Cap 02.pdf
 
Redes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de EnlaceRedes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de Enlace
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Camada rede
Camada redeCamada rede
Camada rede
 
Aula 1
Aula 1Aula 1
Aula 1
 

Mais de Universidade Federal do Pampa

Estudo e análise da dispersão de poluentes
Estudo e análise da dispersão depoluentesEstudo e análise da dispersão depoluentes
Estudo e análise da dispersão de poluentes
Universidade Federal do Pampa
 
Camada de transporte parte3
Camada de transporte parte3Camada de transporte parte3
Camada de transporte parte3
Universidade Federal do Pampa
 
Camada de rede parte3
Camada de rede   parte3Camada de rede   parte3
Camada de rede parte3
Universidade Federal do Pampa
 
Camada de rede parte1
Camada de rede   parte1Camada de rede   parte1
Camada de rede parte1
Universidade Federal do Pampa
 
Camada de aplicacao parte2
Camada de aplicacao parte2Camada de aplicacao parte2
Camada de aplicacao parte2
Universidade Federal do Pampa
 
Aula sockets
Aula socketsAula sockets
Aula introdutoria parte 2
Aula introdutoria   parte 2Aula introdutoria   parte 2
Aula introdutoria parte 2
Universidade Federal do Pampa
 
Seguranca de rede
Seguranca de redeSeguranca de rede
Aula introdutoria parte 1
Aula introdutoria   parte 1Aula introdutoria   parte 1
Aula introdutoria parte 1
Universidade Federal do Pampa
 
Aula 12
Aula   12Aula   12
Aula 11
Aula   11Aula   11
Aula 10
Aula   10Aula   10
Aula 9
Aula   9Aula   9
Aula 8
Aula   8Aula   8
Aula 6.
Aula   6.Aula   6.
Aula 7
Aula   7Aula   7
Aula 5
Aula   5Aula   5
Aula 4
Aula   4Aula   4
Aula 3
Aula   3Aula   3
Aula 2
Aula   2Aula   2

Mais de Universidade Federal do Pampa (20)

Estudo e análise da dispersão de poluentes
Estudo e análise da dispersão depoluentesEstudo e análise da dispersão depoluentes
Estudo e análise da dispersão de poluentes
 
Camada de transporte parte3
Camada de transporte parte3Camada de transporte parte3
Camada de transporte parte3
 
Camada de rede parte3
Camada de rede   parte3Camada de rede   parte3
Camada de rede parte3
 
Camada de rede parte1
Camada de rede   parte1Camada de rede   parte1
Camada de rede parte1
 
Camada de aplicacao parte2
Camada de aplicacao parte2Camada de aplicacao parte2
Camada de aplicacao parte2
 
Aula sockets
Aula socketsAula sockets
Aula sockets
 
Aula introdutoria parte 2
Aula introdutoria   parte 2Aula introdutoria   parte 2
Aula introdutoria parte 2
 
Seguranca de rede
Seguranca de redeSeguranca de rede
Seguranca de rede
 
Aula introdutoria parte 1
Aula introdutoria   parte 1Aula introdutoria   parte 1
Aula introdutoria parte 1
 
Aula 12
Aula   12Aula   12
Aula 12
 
Aula 11
Aula   11Aula   11
Aula 11
 
Aula 10
Aula   10Aula   10
Aula 10
 
Aula 9
Aula   9Aula   9
Aula 9
 
Aula 8
Aula   8Aula   8
Aula 8
 
Aula 6.
Aula   6.Aula   6.
Aula 6.
 
Aula 7
Aula   7Aula   7
Aula 7
 
Aula 5
Aula   5Aula   5
Aula 5
 
Aula 4
Aula   4Aula   4
Aula 4
 
Aula 3
Aula   3Aula   3
Aula 3
 
Aula 2
Aula   2Aula   2
Aula 2
 

Último

DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 

Último (6)

DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 

Camada de transporte parte1

  • 2. Objetivos:  entender princípios por trás dos serviços da camada de transporte: ◦ multiplexação/demul -tiplexação ◦ transferência de dados confiável ◦ controle de fluxo ◦ controle de congestionamento  aprender sobre os protocolos da camada de transporte na Internet: ◦ UDP: transporte sem conexão ◦ TCP: transporte orientado a conexão ◦ controle de congestionamento TCP
  • 3.  oferecem comunicação lógica entre processos de aplicação rodando em hospedeiros diferentes  protocolos de transporte rodam em sistemas finais ◦ lado remetente: divide as mensagens da aplicação em segmentos, passa à camada de rede ◦ lado destinatário: remonta os segmentos em mensagens, passa à camada de aplicação  mais de um protocolo de transporte disponível às aplicações ◦ Internet: TCP e UDP aplicação transporte rede enlace física aplicação transporte rede enlace física
  • 4. rede enlace física rede enlace física  Remessa confiável em ordem (TCP) ◦ controle de congestionamento ◦ controle de fluxo ◦ estabelecimento da conexão  remessa não confiável e desordenada: UDP ◦ extensão sem luxo do IP pelo “melhor esforço”  serviços não disponíveis: ◦ garantias de atraso ◦ garantias de largura de banda aplicação transporte rede enlace física network data link physical rede enlace física rede enlace física rede enlace física rede enlace física aplicação transporte rede enlace física
  • 5. aplicação transporte rede enlace física P1 aplicação transporte rede enlace física aplicação transporte rede enlace física P2P3 P4P1 hospedeiro 1 hospedeiro 2 hospedeiro 3 = processo= socket entregando segmentos recebidos ao socket correto demultiplexação no destinatário: multiplexação no remetente: colhendo dados de múltiplos sockets, envelopando dados com cabeçalho (usados depois para demultiplexação)
  • 6.  hospedeiro recebe datagramas IP ◦ cada datagrama tem endereço IP de origem, endereço IP de destino ◦ cada datagrama carrega 1 segmento da camada de transporte ◦ cada segmento tem número de porta de origem, destino  hospedeiro usa endereços IP & números de porta para direcionar segmento ao socket apropriado # porta origem # porta destino 32 bits dados da aplicação (mensagem) outros campos de cabeçalho formato do segmento TCP/UDP
  • 7.  cria sockets com números de porta: DatagramSocket mySocket1 = new DatagramSocket(12534); DatagramSocket mySocket2 = new DatagramSocket(12535);  socket UDP identificado por tupla de dois elementos: (endereço IP destino, número porta destino)  quando hospedeiro recebe segmento UDP: ◦ verifica número de porta de destino no segmento ◦ direciona segmento UDP para socket com esse número de porta  datagramas IP com diferentes endereços IP de origem e/ou números de porta de origem direcionados para o mesmo socket
  • 8. DatagramSocket serverSocket = new DatagramSocket(6428); Cliente IP:B P2 cliente IP: A P1P1P3 servidor IP: C SP:6428 DP:9157 SP:9157 DP:6428 SP:6428 DP:5775 SP: 5775 DP:6428 SP = Source Port DP = Destination Port
  • 9.  socket TCP identificado por tupla de 4 elementos: ◦ endereço IP de origem ◦ número de porta de origem ◦ endereço IP de destino ◦ número de porta de destino  hospedeiro destinatário usa todos os quatro valores para direcionar segmento ao socket apropriado  hospedeiro servidor pode admitir muitos sockets TCP simultâneos: ◦ cada socket identificado por usa própria tupla de 4  servidores Web têm diferentes sockets para cada cliente conectando ◦ HTTP não persistente terá diferentes sockets para cada requisição
  • 10. cliente IP:B P1 cliente IP: A P1P2P4 servidor IP: C SP: 9157 DP: 80 SP: 9157 DP: 80 P5 P6 P3 D-IP:C S-IP: A D-IP:C S-IP: B SP: 5775 DP: 80 D-IP:C S-IP: B
  • 11. cliente IP:B P1 cliente IP: A P1P2 servidor IP: C SP: 9157 DP: 80 SP: 9157 DP: 80 P4 P3 D-IP:C S-IP: A D-IP:C S-IP: B SP: 5775 DP: 80 D-IP:C S-IP: B
  • 12.  Protocolo de transporte da Internet “sem luxo”, básico  Serviço de “melhor esforço”, segmentos UDP podem ser: ◦ perdidos ◦ entregues à aplicação fora da ordem  Sem conexão: ◦ sem handshaking entre remetente e destinatário UDP ◦ cada segmento UDP tratado independente dos outros Por que existe um UDP?  sem estabelecimento de conexão (que pode gerar atraso)  simples: sem estado de conexão no remetente, destinatário  cabeçalho de segmento pequeno  sem controle de congestionamento: UDP pode transmitir o mais rápido possível
  • 13.  Normalmente usado para streaming de aplicações de multimídia ◦ tolerante a perdas ◦ sensível à taxa  Outros usos do UDP ◦ DNS ◦ SNMP  Transferência confiável por UDP: aumenta confiabilidade na camada de aplicação ◦ recuperação de erro específica da aplicação # porta origem # porta dest. 32 bits dados da aplicação (mensagem) formato de segmento UDP tamanho soma verif. tamanho, em bytes, do segmento UDP, incluindo cabeçalho
  • 14. remetente:  trata conteúdo de segmento como sequência de inteiros de 16 bits  soma de verificação (checksum): adição (soma por complemento de 1) do conteúdo do segmento  remetente coloca valor da soma de verificação no campo de soma de verificação UDP destinatário:  calcula soma de verificação do segmento recebido  verifica se soma de verificação calculada igual ao valor do campo de soma de verificação: ◦ NÃO – erro detectado ◦ SIM – nenhum erro detectado. objetivo: detectar “erros” (p. e., bits invertidos) no segmento transmitido
  • 15.  importante nas camadas de aplicação, transporte e enlace  lista dos 10 mais importantes tópicos de redes!  características do canal confiável determinarão complexidade do protocolo de transferência confiável (rdt)
  • 16. lado destinatário rdt_rcv(): chamado quando pacote chega no lado destinatário do canal deliver_data(): chamado pela rdt para remeter dados para cima lado remetente rdt_send(): chamado de cima, (p. e., pela apl.). Dados passados para remeter à camada superior do destinatário udt_send(): chamado pela rdt, para transferir pacote por canal não confiável ao destinatário
  • 17.  canal subjacente perfeitamente confiável ◦ sem erros de bit ◦ sem perda de pacotes  Máquinas de estado finito separadas para remetente e destinatário: ◦ remetente envia dados para canal subjacente ◦ destinatário lê dados do canal subjacente Espera chamada de cima packet = make_pkt(dados) udt_send(pacote) rdt_send(dados) extract (pacote, dados) deliver_data(dados) Espera chamada de baixo rdt_rcv(pacote) remetente destinatário
  • 18.  canal subjacente pode inverter bits no pacote ◦ soma de verificação para detectar erros de bit  a questão: como recuperar-se dos erros: ◦ reconhecimentos (ACKs): destinatário diz explicitamente ao remetente que o pacote foi recebido OK ◦ reconhecimentos negativas (NAKs): destinatário diz explicitamente ao remetente que o pacote teve erros ◦ remetente retransmite pacote ao receber NAK  novos mecanismos no rdt2.0 (além do rdt1.0): ◦ detecção de erro ◦ feedback do destinatário: mensagens de controle (ACK,NAK) destinatário<->remetente
  • 19. Espera chamada de cima snkpkt = make_pkt(dados, soma_verif) udt_send(pctenv) extract(pctrec,dados) deliver_data(dados) udt_send(ACK) rdt_rcv(pctrec) && notcorrupt(pctrec) rdt_rcv(pctrec) && isACK(pctrec) udt_send(pctenv) rdt_rcv(pctrec) && isNAK(pctrec) udt_send(NAK) rdt_rcv(pctrec) && corrupt(pctrec) Espera ACK ou NAK Espera chamada de baixo remetente destinatário rdt_send(dados) L
  • 20. O que acontece se ACK/NAK for corrompido?  remetente não sabe o que aconteceu no destinatário!  não pode simplesmente retransmitir: possível duplicação tratando de duplicatas:  remetente retransmite pacote atual se ACK/NAK corrompido  remetente acrescenta número de sequência a cada pacote  destinatário descarta (não sobe) pacote duplicado remetente envia um pacote, depois espera resposta do destinatário pare e espere
  • 21. Espera chamada 0 de cima pctenv = make_pkt(0, dados, checksum) udt_send(pctenv) rdt_send(dados) Espera ACK ou NAK 0 udt_send(pctenv) rdt_rcv(pctrec) && ( corrupt(pctrec) || isNAK(pctrec) ) pctenv = make_pkt(1, dados, checksum) udt_send(pctenv) rdt_send(dados) rdt_rcv(pctrec) && notcorrupt(pctrec) && isACK(pctrec) udt_send(pctenv) rdt_rcv(pctrec) && ( corrupt(pctrec) || isNAK(pctrec) ) rdt_rcv(pctrec) && notcorrupt(pctrec) && isACK(pctrec) Espera chamada 1 de cima Espera ACK ou NAK 1 L L
  • 22.  mesma funcionalidade de rdt2.1, usando apenas ACKs  em vez de NAK, destinatário envia ACK para último pacote recebido OK ◦ destinatário precisa incluir explicitamente # seq. do pacote sendo reconhecido com ACK  ACK duplicado no remetente resulta na mesma ação de NAK: retransmitir pacote atual
  • 23. nova suposição: canal subjacente também pode perder pacotes (dados ou ACKs) ◦ soma de verificação, # seq., ACKs, retransmissões serão úteis, mas não suficientes técnica: remetente espera quantidade “razoável” de tempo por ACK  retransmite se não chegar ACK nesse tempo  se o pacote (ou ACK) simplesmente atrasado (não perdido): ◦ retransmissão será duplicada, mas os #s de seq. já cuidam disso ◦ destinatário deve especificar # seq. do pacote sendo reconhecido com ACK  requer contador regressivo
  • 24.
  • 25.
  • 27. paralelismo: remetente permite múltiplos pacotes “no ar”, ainda a serem reconhecidos ◦ intervalo de números de sequência deve ser aumentado ◦ buffering no remetente e/ou destinatário  duas formas genéricas de protocolo com paralelismo: Go-Back-N, repetição seletiva
  • 28. U remet = 0,02 430,008 = 0,0008 microsecon ds 3 * L / R RTT + L / R = Aumento de utilização por fator de 3!