camada de transportes - ic.unicamp.brnfonseca/mo611/microsoft powerpoint - camada de... · programa...

189
Camada de Transporte Nelson Luís Saldanha da Fonseca Campinas 14/11/2007

Upload: phamkiet

Post on 17-Dec-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Camada de Transporte

Nelson Luís Saldanha da FonsecaCampinas

14/11/2007

Page 2: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Programa

• 1.Introdução: Conceito de redes de computadores, arquitetura em camadas, o que é a Internet? Modelos de referência (RM-OSI/ISSO e pilha TCP/IP).

• 2.Camada Física: meios de transmissão, multiplexação, redes de acesso.

• 3.Camada de Enlace de dados: enquadramento, controle de erro, compartilhamento do meio, protocolos de acesso ao meio (protocolos de acesso randômico e de passagem de permissão).

• 4.Camada de Redes: circuitos virtuais e roteamento datagramapuro, roteamento unicast e multicast, o protocolo IP, roteadores, controle de congestionamento.

• 5. Camada de Transporte: tipos de serviços de transporte, gerenciamento de conexões de transporte, o protocolo TCP, o protocolo UDP, controle de congestionamento do TCP, controle de fluxo.

• 6.Camada de aplicação: protocolos de aplicação, http, FTP, SMTP,DNS, protocolos para aplicações multimídia.

Page 3: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Objetivos

• Conceituar a função da camada de transporte;

• Conceituar os serviços oferecidos pelacamada de transporte;

• Apresentar os diferentes protocolos queimplementam os serviços oferecidos pelacamada de transporte.

Page 4: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Roteiro

• Camada de Transporte;

• A Camada de Transporte na Internet;

• Novas Propostas de Variantes dos ProtocolosUDP e TCP.

• Considerações finais

Page 5: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Camada de Transporte

• Redes de computadores

• Organizacao das redes em camadashierarquica

• Protocolos

• Funcao da camada de transporte

• A camada de redes

• Servicos da camada de transporte

• Controle de congestionamento e de fluxo

Page 6: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Redes de Computadores

ISP local

redecoorporativa

ISP regional

roteador estação

servidormóvel

Page 7: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Periferia da Rede

Page 8: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

O Núcleo da Rede

Page 9: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Não so computadores, não sódados…

O menor servidor Web do mundo

http://www-ccs.cs.umass.edu/~shri/iPic.html

Porta retratos IP

http://www.ceiva.com/

Tostadeira habilitada para a Web +

Previsão do tempo

http://dancing-man.com/robin/toasty/

Page 10: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

O porquê de se Organizar Redesem Camadas Hierárquicas

Page 11: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

O porquê de se Organizar Redesem Camadas Hierárquicas

Page 12: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Interface entre Camadas

Page 13: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Camadas Hierárquicas

Aplicação

Apresentação

Sessão

Transporte

Rede

Enlace

Física

Internet

X Transporte

Host-to-network

Aplicação

Page 14: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Função daCamada de Transporte

Page 15: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Protocolos

Oi

Oi

Que horassão?

2:00

Resposta de conexão TCP

Get http://gaia.cs.umass.edu/index.htm

<arquivo>

tempo

Solicitação de conexão TCP

Page 16: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Camadas: Comunicação Lógicaaplicaçãotransporteredesenlacefísica

aplicaçãotransporteredesenlacefísica

aplicaçãotransporteredesenlacefísica

aplicaçãotransporteredesenlacefísica

redeenlacefísica

Page 17: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Camadas: Comunicação Lógicaaplicaçãotransporteredesenlacefísica

aplicaçãotransporteredesenlacefísica

aplicaçãotransporteredesenlacefísica

aplicaçãotransporteredesenlacefísica

redesenlacefísica

dados

dados

dados

transporte

transporte

ack

Page 18: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Camadas: Comunicação Físicaaplicaçãotransporteredesenlacefísica

aplicaçãotransporteredesredesfísica

aplicaçãotransporteredesenlacefísica

aplicaçãotransporteredesenlacefísicaa

redesenlacefísicol

dados

dados

Page 19: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Encapsulamento

aplicaçãotransporteredesenlacefísica

aplicaçãotransporteredesenlacefísica

origem destino

M

M

M

M

Ht

HtHnHtHnHl

M

M

M

M

Ht

HtHn

HtHnHl

mensagem

segmento

datagramaquadro

Page 20: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Comutacao de Pacotes

Page 21: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Atraso

Page 22: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Enfileiramento nos Roteadores

Page 23: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Enfileiramento nos Roteadores

Page 24: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Roteamento em Redes comComutação de Pacotes

Circuitos virtuais

Roteamento

Datagrama puro

Page 25: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Circuitos Virtuais

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

1. inicia chamada 2. chegada de chamada

3. chamada aceita4. conexão completa5. começa fluxo de dados 6. dados recebidos

Page 26: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Roteamento Datagrama Puro

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

1. envia dados 2. recebe dados

Page 27: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Serviços Oferecidos pelaCamada de Transporte

Entrega confiável

• Seviços orientadosà conexao

Entrega ordenada

• Servicos não orientados à conexao

Page 28: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Conexão de Transporte

Page 29: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Serviços Orientados à Conexão

Page 30: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Entrega Confiável

• Pacote de Reconhecimento(acknowledgement);

• Numeração dos pacotes;

• Temporização para recebimento de reconhecimento;

Page 31: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Entrega Confiável

Page 32: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Entrega Confiável

Page 33: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transmissão Para e Espera

Page 34: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Protocolo Para e Espera

• Exemplo: enlace de 1 Gbps, 15 ms de atraso de propagação, pacotes de 1 KB:

Ttransmis

são

= 8 kb/pkt

10**9 b/s= 8 microseg

Usender =

.008

30.008 = 0.00027

microseco

L / R

RTT + L / R =

L (tamanho do pacote em bits)

R (taxa de transmissão, bps)=

Um pacote de 1 KB cada 30 ms -> 33 kB/s de vazão sobre um canal de 1 Gbps

Page 35: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Envio de Pacotes em Rajadas

Page 36: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Envio de Pacotes em Rajada

Page 37: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Janela de Transmissão

Page 38: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Janela TransmissorJanela Receptor

Page 39: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Janela TransmissorJanela Receptor

Page 40: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Estabelecimento de Conexão

Page 41: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Estabelecimento de Conexão

Page 42: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Estabelecimento de Conexão

Page 43: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Encerramento de Conexão

Page 44: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Encerramento de Conexão

Page 45: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Encerramento de Conexão

Page 46: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Encerramento de Conexão

Page 47: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Endereçamento

Page 48: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Porta de Transporte

Page 49: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Portas de Espera

Page 50: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Serviços não Orientados à Conexão

Page 51: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Controle de Fluxo

Page 52: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Controle de Congestionamento

Page 53: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Controle de Congestionamento em Nivel da Camada de Redes

Page 54: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Controle de Congestionamento em Nivel da Camada de Transporte

Page 55: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Roteiro

• Camada de Transporte;

• A Camada de Transporte naInternet;

• Variantes dos Protocolos UDP e TCP.

• Considerações finais

Page 56: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

A Camada de Transporte na Internet

• A Internet• A pilha de protocolos da Internet• Servicos de transporte• O protocolo UDP• O protocolo TCP• O protocolo SCTP• O protocolo DCCP• Sockets

Page 57: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

A Internet

Page 58: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Estatística Usuários na Internet

• Número de usuários mundiais ~ 1.500.000.000 (17% população do planeta)

• Número de usuários no Brasil ~ 40.000.000 (21% da população)

fonte: http://www.InternetWordStats.com , acessado em Julho de 2007

Page 59: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Número de Estações na Internet

Page 60: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

A Internet

Page 61: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

A Internet

Page 62: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Princípios da Internet

�Minimalismo, autonomia, não hánecessidade de mudança interna parainterconexão;

�Modelo de serviço melhor esforço(best effort);

� Roteadores sem estado;

� Controle descentralizado;

Page 63: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Breve Histórico

• 1967: concepção da ARPAnet pela ARPA (Advanced Reearch Projects Agency);

• 1969: entra em operação o primeiro nó da ARPAnet;

• 1972:

– Demosntração pública da ARPAnet;

– NCP (Network Control Protocol) - primeiroprotocolo host-host;

– primeiro programa de e-mail;

– ARPAnet com 15 nós;

Page 64: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Breve Historico

• 1974: Cerf e Kahn - arquitetura para a interconexão de redes;

• 1983: implantação do TCP/IP;• 1988: controle de congestionamento do TCP;

• 1991: NSF remove restrições ao uso comercial da NSFnet (desativada em 1995);

• 1990 : WWW – Mosaic;

Page 65: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Pilha de Protocolos da Internet

aplicação

transporte

rede

enlace

física

Page 66: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Serviços de Transporte na Internet

• Serviços orientados à conexão –Transmission Control Protocol (TCP);

• Serviços não orientados à conexão –User Datagram Protocol (UDP);

Page 67: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Requisitos do Serviço de Transportede Aplicações Comuns

Aplicação

transferência de arqscorreio

documentos WWWáudio/vídeo de

tempo realáudio/vídeo gravado

jogos interativosapls financeiras

Perdas

sem perdassem perdassem perdastolerante

tolerantetolerantesem perdas

Banda

elásticaelásticaelásticaáudio: 5Kb-1Mbvídeo:10Kb-5Mbcomo anterior> alguns Kbpselástica

Sensibilidadetemporal

nãonãonãosim, 100’s mseg

sim, alguns segssim, 100’s msegsim e não

Page 68: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Protocolos de Aplicação e Protocolos de Transporte na Internet

Aplicação

correio eletrônicoaccesso terminal remoto

WWW transferência de arquivos

streaming multimídia

servidor de arquivo remototelefonia Internet

Protocolo dacamada de apl

smtp [RFC 821]telnet [RFC 854]http [RFC 2068]ftp [RFC 959]proprietário(p.ex. RealNetworks)NSFproprietário(p.ex., Vocaltec)

Protocolo de transporte usado

TCPTCPTCPTCPTCP ou UDP

TCP ou UDPtipicamente UDP

Page 69: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Protocolos de Aplicação e Protocolos de Transporte na Internet

Page 70: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

UDP: User Datagram Protocol [RFC 768]

• Transmissao não-confiavel

• Não há estabelecimento de conexao

• Não implementa controle de fluxo

• Não tem associado a ele controle de congestionamento

porta origem porta dest.

32 bits

Dados de aplicação(mensagem)

Formato segmento UDP

comprimento checksum

Page 71: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581

• ponto a ponto;

• fluxo de bytes, ordenados, confiável;

• Dutado;

• transmissão full duplex;

• orientado à conexão;

• fluxo controlado.

socket

doorTCP

send buffer

TCP

receive buffer

socket

door

segment

application

writes dataapplication

reads data

Page 72: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Estrutura do Segmento

no. porta origem no. porta dest

32 bits

dados daaplicação

(tam. variável)

número de seqüência

número de reconhecimento

janela receptor

ptr dados urg.checksum

FSRPAUtam.cab.

semuso

Opções (tam. variável)

URG: dados urgentes(pouco usados)

ACK: no. ACKválido

PSH: envia dados já(pouco usado)

RST, SYN, FIN:gestão de conexão

(comandos deestabelecimento,

liberação)

no. bytes rcpt queraceitar

contagemde dadospor bytes (não segmentos!)

checksum Internet

(como UDP)

Page 73: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: nos. de seq. e ACKsEstação A Estação B

Seq=42, ACK=79, data = ‘C’

Seq=79, ACK=43, data = ‘C’

Seq=43, ACK=80

Usuáriotecla‘C’

A reconhecechegadado ‘C’ecoado

B reconhecechegada de ‘C’, ecoa

‘C’ de volta

tempo

cenário simples de telnet

Page 74: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: cenários de retransmissão

Estação A

Seq=92, 8 bytes de dados

ACK=100

perdatemporização

tempo cenário doACK perdido

Estação B

X

Seq=92, 8 bytes de dados

ACK=100

Host A

Seq=100, 20 bytes de dados

ACK=100

Tem

p.p/ Seq=92

temporização prematura,ACKs cumulativos

Host B

Seq=92, 8 bytes de dados

ACK=120

Seq=92, 8 bytes de dados

Tem

p. p/ Seq=100

ACK=120

tempo

Page 75: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Estimativa Intervalo Temporizacao

RTT: gaia.cs.umass.edu to fantasia.eurecom.fr

100

150

200

250

300

350

1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106

time (seconnds)

RT

T (

mil

lise

con

ds)

SampleRTT Estimated RTT

RTT_estimado = (1-αααα)* RTT_estimado + x*RTT_amostra

Desvio = (1- ββββ)* Desvio + ββββ *|RTT_amostra - RTT_estimado|

Temporização = RTT_estimado + 4*Desvio

Page 76: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Estrutura do Segmento

no. porta origem no. porta dest

32 bits

dados daaplicação

(tam. variável)

número de seqüência

número de reconhecimento

janela receptor

ptr dados urg.checksum

FSRPAUtam.cab.

semuso

Opções (tam. variável)

URG: dados urgentes(pouco usados)

ACK: no. ACKválido

PSH: envia dados já(pouco usado)

RST, SYN, FIN:gestão de conexão

(comandos deestabelecimento,

liberação)

no. bytes rcpt queraceitar

contagemde dadospor bytes (não segmentos!)

checksum Internet

(como UDP)

Page 77: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Estabelecimento de Conexão

cliente

syN

servidor

Syn ACK

ACK+dados

Page 78: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Encerramento de Conexãocliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

espera

temporizada

Page 79: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Gerenciamento de Conexões

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

espera

temporizada

fechada

Page 80: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Gerenciamento de Conexões

Page 81: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Gerenciamento de Conexões

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

Page 82: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Estrutura do Segmento

no. porta origem no. porta dest

32 bits

dados daaplicação

(tam. variável)

número de seqüência

número de reconhecimento

janela receptor

ptr dados urg.checksum

FSRPAUtam.cab.

semuso

Opções (tam. variável)

URG: dados urgentes(pouco usados)

ACK: no. ACKválido

PSH: envia dados já(pouco usado)

RST, SYN, FIN:gestão de conexão

(comandos deestabelecimento,

liberação)

no. bytes rcpt queraceitar

contagemde dadospor bytes (não segmentos!)

checksum Internet

(como UDP)

Page 83: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Opções

• Fator de escala para a janela do TCP;

• Timestamp;

• Tamanho máximo do segmento –maximum segment size (MSS).

Page 84: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Estrutura do Segmento

no. porta origem no. porta dest

32 bits

dados daaplicação

(tam. variável)

número de seqüência

número de reconhecimento

janela receptor

ptr dados urg.checksum

FSRPAUtam.cab.

semuso

Opções (tam. variável)

URG: dados urgentes(pouco usados)

ACK: no. ACKválido

PSH: envia dados já(pouco usado)

RST, SYN, FIN:gestão de conexão

(comandos deestabelecimento,

liberação)

no. bytes rcpt queraceitar

contagemde dadospor bytes (não segmentos!)

checksum Internet

(como UDP)

Page 85: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Controle de Fluxo

Page 86: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Controle de Fluxo

Page 87: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Controle de Congestionamento

Partida lenta

Fases

Congestion contol

Janela (conwin)

Variaveis

Limiar (Threshold)

Page 88: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Fast Recover, Fast Retransmit

1 2 3 4 5 6

1 2 3

Pacotes

Reconhecimentos

7

3 3 3

Page 89: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Controle de Congestionamento

Page 90: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Partida Lentahospedeiro A

um segmento

RTT

hospedeiro B

tempo

dois segmentos

quatro segmentos

Page 91: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP AIMD

Page 92: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Tahoe

SStempo

CA

SS: Slow Start

CA: Congestion Avoidance

Page 93: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Reno

SStempo

W

CA

SS: Slow Start

CA: Congestion AvoidanceFast retransmission/fast recovery

Page 94: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP: Controle de Congestionamento

• Quando CongWin está abaixo do limite (Threshold), o transmissor em fase de slow-start, a janela cresceexponencialmente.

• Quando CongWin está acima do limite (Threshold, o transmissor em fase de congestion-avoidance, a janelacresce linearmente.

• Quando ocorrem três ACK duplicados, o limiar(Threshold)é ajustado em CongWin/2 e CongWin é ajustado para Threshold.

• Quando ocorre tempo de confirmação, o Threshold é ajustado para CongWin/2 e o CongWin é ajustadopara 1 MSS.

Page 95: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Equidade de banda

R

R

compartilhamento igual da banda

Vazão da conexão 1

Vazã o

daconexão

2

Page 96: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Deficiências do TCP Reno

• Recuperação de múltiplas perdas uma janela;

• Perdas como sinalização de congestionamento;

• Penalização de conexões com RTTs longos;

• Vazão inversamente proporcional a perdas;

• Comportamento oscilatório da janela de transmissão;

Page 97: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Múltiplas Perdas em uma ÚnicaJanela de Transmissão

Page 98: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Variantes do TCPAprimoramentos do TCP-Reno

• TCP-Vegas;

• TCP Sack;

• TCP New-Reno;

• TCP com limitação das retransmissões.

Page 99: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Vegas

decréscimo linear acréscimo linear

αβ << RTT) imojanela/min da (tamanho - esperada vazao

Page 100: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Vegas

• Slow start – crescimento exponencial a cadadois RTTs;

• Vazao esperada – (tamanho da janela / RTT mínimo) < g congestion avoidance

• RTT > timeout e 1 ACK duplicataretransmissão

Page 101: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Vegas

SStempo

CA

Page 102: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Sack– TCP with Acknowledgement;

– Opcao negociavel;

– receptor pode informar ao emissor quais pacotes recebeu com sucesso;

– Retransmissao se receptor informa a não-recepcao de segmento transmitido, se numero segmentos em transito menor que tamanho da janela.

Page 103: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Sack

Page 104: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP FACK

• Forward Acknowledgement

• Quantidade de dados enviado –quantidade de dados reconhecidos + quantidade de dados retransmitidos emtransito < 1 segmento

Page 105: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP New Reno

reconhecimento parcial

retransmissao

Page 106: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP com Limitação Transmissão

• Transmite novos dados ao receber doisacks duplicados a fim de anteciparalgoritmo fast retransmit.

Page 107: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Diff < γ

Cwnd=

ssthres

Cwnd=

ssthres

Cwnd=

ssthres

(pode

ser

estimad

o)

Cwnd=

ssthresCwnd =

ssthres

Mudança partida

lenta para

congestion

avoidance

Diff<α

Increm

ento

linear

Diff > βdecresc

imo

linear

Cwnd+

1/cwnd

Cwnd+

1/cwnd

Cwnd+

1/cwnd

Cwnd+

1/cwndCwnd+

1/cwnd

No congestion

avoidance

A cada

RTT

Cwnd+

1

Cwnd+

1

Cwnd+

1

Cwnd+

1Cwnd+

1

Na partida lenta,

cwnd atualizadao a

cada ACK

VegasFACKSACKNew

RenoRenoTahoe

Page 108: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

ACKSACKSACKACKACKACK

Formato

ACK

Retransmi

te com

ACK

duplicado

ou RTT >

timeout

Envia

enquanto

dados

pendente

s<cwnd

Continua

com ACK

parcial se

pipe <

cwnd

Continua

com ACK

parcial

Termina

som ACK

parcial ou

total

nenhum

Fast

Recovery

VegasFACKSACKNew

Reno

RenoTahoe

Page 109: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Stream Control Transmission Protocol

• Entrega confiavel e ordenada opcionalmente;• Transporte de mensagens;• Controle de congestionamento;• Múltiplos fluxos (multi-streaming)• Múltiplos endereços IP (Multi-homed);• Dados enviados em “pedaços” (chunk);• Proteção contra ataques (SYN flood);• Seleção de caminho e monitoramento.

Page 110: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Estabelecimento ConexaoPonto final A Ponto final Z

INIT

INIT-ACK

COOKIE-ECHO

COOKIE-ACK

*

*

* --pode conter dados dos usuarios

Associacaoestabelecida

Associacaoestabelecida

Page 111: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

3800octets

PMTU=512 octets

SCTP SCTP

TSN 1*

Page 112: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 2 TSN 1*

Page 113: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 3 TSN 1*TSN 2

Page 114: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 4 TSN 1*TSN 2TSN 3

Page 115: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 5

TSN 1*

TSN 2TSN 3TSN 4

Page 116: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto finalZ

PMTU=512 octets

SCTP SCTP

TSN 6

TSN 1*

TSN 2TSN 3TSN 4TSN 5

Page 117: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 7

TSN 1*

TSN 2

TSN 3TSN 4TSN 5TSN 6

Page 118: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 8

TSN 1*

TSN 2

TSN 3

TSN 4

TSN 5TSN 6TSN 7

Page 119: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 9+

TSN 1*

TSN 2

TSN 3

TSN 4

TSN 5

TSN 6TSN 7TSN 8

Page 120: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 9+

TSN 1*

TSN 2

TSN 3

TSN 4

TSN 5

TSN 6

TSN 7TSN 8

Page 121: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 9+

TSN 1*

TSN 2

TSN 3

TSN 4

TSN 5

TSN 6

TSN 7

TSN 8

Page 122: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

PMTU=512 octets

SCTP SCTP

TSN 9+

TSN 1*

TSN 2

TSN 3

TSN 4

TSN 5

TSN 6

TSN 7

TSN 8

Page 123: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Transferência de Mensagem Longa

Ponto final A Ponto final Z

3800octets

PMTU=512 octets

SCTP SCTP

Page 124: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Cabeçalho SCTP

SCTP Common Header

Chunk 1

Chunk N

...

Page 125: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Cabeçalho SCTP

Source Port Destination Port

Verification Tag

CRC-32c Checksum

Chunk Type Chunk Flags Chunk Length

Chunk Data

Page 126: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Exemplos de Chunks

DATA

INITIATION

SELECTIVE-ACKNOWLEDGMENT HEARTBEAT

ABORT

SHUTDOWN

EXPLICIT CONGESTION NOTIFICATION ECHO

CONGESTION WINDOW REDUCE

Page 127: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Múltiplos fluxos

Sd-queue

Ro-queue

Ro-queue

Sd-queue

Page 128: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Multihoming

EP-1 EP-2IP NetworkIP-3

IP-2

IP-1

IP-4X

Page 129: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Sockets

Page 130: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Socket()

#include <sys/socket.h>

int socket (int family, int type, int protocol);

Returns: non-negative descriptor if OK, -1 on error

Page 131: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Connect ()

#include <sys/socket.h>

int connect(int sockfd, const struct sockaddr *servaddr, socklen_t addrlen);

Returns: 0 if OK, -1 on error

Page 132: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

struct in_addr {

in_addr_t s_addr; /* 32-bit IPv4 address */

/* network byte ordered */

};

struct sockaddr_in {

uint8_t sin_len; /* length of structure (16) */ sa_family_t sin_family; /* AF_INET */

in_port_t sin_port; /* 16-bit TCP/UDP portnumber */

/* network byte ordered */

struct in_addr sin_addr; /* 32-bit IPv4 address */ /*network byte ordered*/

char sin_zero[8]; /* unused */ };

Generic Socket Address Structure

Page 133: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Cliente TCP1 #include "unp.h"

2 int

3 main(int argc, char **argv)

4 {

5 int sockfd;

6 struct sockaddr_in servaddr;

7 if (argc != 2)

8 err_quit("usage: tcpcli <IPaddress>");

9 sockfd = Socket(AF_INET, SOCK_STREAM, 0);

10 bzero(&servaddr, sizeof(servaddr));

11 servaddr.sin_family = AF_INET;

12 servaddr.sin_port = htons(SERV_PORT);

13 Inet_pton(AF_INET, argv[1], &servaddr.sin_addr);

14 Connect(sockfd, (SA *) &servaddr, sizeof(servaddr));

15 str_cli(stdin, sockfd); /* do it all */

16 exit(0);

17 }

Page 134: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Cliente UDP1 #include "unp.h"

2 void

3 dg_cli(FILE *fp,int sockfd,const SA

*pservaddr,socklen_t,servlen)

4 {

5 int n;

6 char sendline[MAXLINE], recvline[MAXLINE + 1];

7 while (Fgets(sendline, MAXLINE, fp) != NULL) {

8

Sendto(sockfd,sendline,strlen(sendline),0,pservaddr,servlen)

;

9 n = Recvfrom(sockfd, recvline, MAXLINE, 0, NULL, NULL);

10 recvline[n] = 0; /* null terminate */

11 Fputs(recvline, stdout);

12 }

13 }

Page 135: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Cliente UDP1 #include "unp.h"

2 void

3 str_cli(FILE *fp, int sockfd)

4 {

5 char sendline[MAXLINE], recvline[MAXLINE];

6 while (Fgets(sendline, MAXLINE, fp) != NULL) {

7 Writen(sockfd, sendline, strlen (sendline));

8 if (Readline(sockfd, recvline, MAXLINE) == 0)

9 rr_quit("str_cli: server terminated

prematurely");

10 Fputs(recvline, stdout);

11 }

12 }

Page 136: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Sockets em Java• import java.io.*;

• import java.net.*;

• class TCPClient {

• public static void main(String argv[]) throws Exception

• {

• String sentence;

• String modifiedSentence;

• BufferedReader inFromUser =

• new BufferedReader(new InputStreamReader(System.in));

• Socket clientSocket = new Socket("hostname", 6789);

• DataOutputStream outToServer =

• new DataOutputStream(clientSocket.getOutputStream());

Page 137: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Roteiro

• Camada de Transporte;

• A Camada de Transporte na Internet;

• Novas Propostas de Variantes dos Protocolos UDP e TCP.

• Considerações finais

Page 138: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Variantes do Protocolo UDP

• UDP Lite

• Datagram Congestion Control Protocol (DCCP)

Page 139: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

UDP Lite

Page 140: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Datagram Congestion Control Protocol (DCCP)

• Aplicações multimídia streaming e de telefonia;

• Aplicações que necessitam de semânticabaseada em fluxo mas que não necessitamentrega confiável e ordenada como TCP e quenão precisam do conceito de múltiplos fluxoscomo no SCTP;

• Orientado à conexão.

Page 141: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

DCCP

• Controle de congestionamento possivelmentenegociável, não necessariamente o mesmoempregado no TCP;

• Encorajar o uso de mecanismos amigáveis aoTCP evitando a necessidade de implementaçãona camada de aplicação;

• Motivar o uso de Explicit Control Notification (ECN).

Page 142: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Omissões do DCCP

• Controle de Fluxo;

• Entrega confiável;

• Fluxos (stream);

• Transmissão ponto-multiponto.

Page 143: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Datagrama DCCP

Page 144: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

DCCP

• Mecanismos de Controle de congestionamento sem a necessidade de implementação na camada de aplicação, não necessariamente mecanismo do TCP;

Page 145: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Amigável ao TCP

Vazão =pRTT 2

31

Page 146: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Controle Congestionamento DCCP

• Reservado (CCID 0)

• Definido pelo usuario (CCID 1)

• TCP-Like (CCID 2)

• TRFC (CCID 3)

Page 147: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Controle Congestionamento DCCPTFRC (CCID 3)

• Vazão =

• b –segmentos por reconhecimento

• T0 – duração de período de perda

( )2

0 3218

33 ,1min

3

2

1

ppbp

Tbp

RTT +

+

Page 148: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Amigável ao TCP

Dependenteda camada

mediamúltiplataxamulticastMDLA

Dependenteda camada

altamúltiplataxamulticastLTS

Dente de serramédiamúltiplajanelamulticastRLC

Dente de serrabaixaúnicajanelamulticastMTCP

Dente de serraaltaúnicataxaunicastLDA

Dente de serrabaixaúnicataxaunicastRAP

Característicada taxa

ComplexidadeTaxa

Mecanismocontrole

congestiona-mento

Unicast/

multicast

Protocolo

Page 149: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Características Protocolos de Transporte

simnaonaonaostreaming

simsimsimnaoControle de congestionamento

simnaosimnaoControle de fluxo

opcionalsimsimnaoEntrega ordenada

simnaosimnaoARQ

simsimsimsimDeteccao de erros

simsimsimsimPortas numeradas

datagramadatagramasegmentodatagramaPDU

8 bytes + cabecalhovariavel do chunk

variado20 bytes8 bytesTamanhocabecalho

SCTPDCCPTCPUDP

Page 150: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Variantes TCP

• Redes com alto produto banda atraso;

• Redes sem fio.

Page 151: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Redes com Alto Produto Banda Atraso

Banda (passante) X Atraso

Redes de alta velocidade Satélite

(alta capacidade)

Page 152: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP para Redes de Alta Velocidade

• Janela de Congestionamento TCP Reno cresce lentamente e

• Seu tamanho e drasticamente reduzidoem eventos de perda

• Ineficiência para operar em redes de alta velocidade

Page 153: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP para Redes de Alta Velocidade

• Para que uma conexaodo TCP Reno,

• segmentos de 1500bytes em

• enlace de 10Gbps e 100 ms de atraso de propagacao,

• Tamanho de janelapara utilizar toda a capcidade do enlace em uma hora e meia, o que implica

• taxa de perda de 10-11,

Page 154: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

High Speed TCP (HS-TCP)• Incremento em um

RTT

• Decremento em um

RTT

)(2

)()(2)(

2

wb

wpwbwwa

−=

5.0)5.0()/log(

)/log()( +−= high

lowhigh

low bww

wwwb

Page 155: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP para Redes de Alta Velocidade

Propriedades Desejáveis:

• Justiça intra-protocolo;

• Amigável ao TCP-Reno;

• Rápido em reação;

• Estável;

• Facil difusão.

Page 156: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Aditive Increase and

Binary Search Increase,

Multiplicative Descrease

(AIBIMD)

Busca dinâmica para

tamanho de janelaBIC

Multiplicative Increase

Multiplicative Decrease

(MIMD)

Utilização eficiente

independente de

capacidade do canal

Scalable-TCP

Baseado no Atraso

Quatro modos

independentes:

estimação, controle de

dados, controle de janela

e controle de rajadas

FAST-TCP

Dois modos: TCP-Reno

AIMD e Crescimento

Rapido (Fast Increase)

Relação linear em uma

escala log-log entre taxa

de transmissão e evento

denotando

congestionamento

HS-TCP

Mecanismo de controle

de congestionamentoPrincipal CaracterísticaVariante

Page 157: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

AIMD

Amigável a RTT,

componentes para

controle de: justiça,

estimação capacidade,

rajadas, escalabilidade e

estabilidade

TCP-Libra

AIMD e Crescimento

Rápido (Fast Increase)

Rápida convergencia

para equilíbrio de

compartilhamento de

banda

H-TCP

AIMD e Crescimento

rápidoBaseado no Atraso

TCP-Africa

AIMD e baseado no

atrasoAbordagem híbrida

Compound-TCP

Additive increase and

cubic decrease,

multiplicative decrease

(AICIMD)

Busca dinâmica para

estabelecr tamanho da

janela

CUBIC

Mecanismo de controle

de congestionamentoPrincipal CaracterísticaVariante

Page 158: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre Satélite

(a)

(b)

terrestrial

lineIP network 1 IP network

2

intersatellite

links

IP network

2IP network 1 IP network 3

Page 159: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre Satélite

1 a 50 gbps128 Mbps –10Gbps

128 Mbps –10Gbps

Capacidade

NuncaInfrequenteFrequenteHandover

250 a 280 100 a 130 5 a 20

Atrasopropaga-ção

(ms)

3 a 410 a 15> 32Coberturaglobal

36.00010.000 a 15.000

700 a 2000Altitude (km)

GEOMEOLEO

Page 160: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre SatéliteLongos Atrasos

Page 161: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre SatéliteImpacto no Desempenho

• Assimetria de banda

• Atrasos Variáveis;

• LEO Handoff;

• Meio ruidoso;

• Segurança;

Page 162: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Peach

Page 163: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Westwood

• Estimação de banda passante

• Limiar (threshold) = estmação da taxa de transmissão X RTT mínimo

Page 164: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Hybla

• Justiça RTT;

• Crescimento da janela independente do RTT da conexão.

Page 165: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre SatéliteSoluções Adotadas

• Descoberta de caminho com MTU compativel

• Fator Multiplicativo de Janela;

• Multiplas conexoes

• T/TCP (TCP for Transaction);

• TCP com reconhecimentos (ACKs) envolvendo contabilidade de bytes.

Page 166: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre SatéliteSoluções Adotadas - Splitting

Page 167: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP Redes sem Fio

Page 168: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre Redes sem FioDificuldades

• Alta taxa de erro de bits (bit error rate);

• Handoff;

• Apagão;

• Energia limitada;

Page 169: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre Redes sem Fio

Soluções

Gerenciamento tratamento

Conexão de perdas

Segmentação fim-a-fim localização notificação

Page 170: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Segmentação Conexão

Nó Fixo- FH

Rede com Fio

Nó Móvel- MH

TCP PadrãoTCP Móvel

Estação Base - BS

Page 171: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

M-TCP

Nó Móvel - MH

Nó Supervisor - SHNó Supervisor - SH

Estação Supervisor Móvel- MSS

Células compartilhas por

ambos SH

Nó Móvel - MH

Nó Fixo

Rede com Fio

TCP PadrãoM-TCPNó Supervisor

- SH

Nó Móvel - MH

M-TCP SH-TCP

Page 172: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Segmentação de Conexão

Pacotes pequenos

Trata erro sem fio

Não tolera disconexoes

Altos atrasos handoff

TCP para rede

cabeada e simple

transport protocol para

enlace sem fio

METP

Recuperacao rápida de

perdas

Atrasos pequenos de

handoff

Buffers grandes SH

Separação na SHM-TCP

Recuperação rápida de

perdas

Buffers grandes BS

Altos atrasos handoff

Separação na BSI-TCP

Limitações

Vantagens

Característica

Page 173: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Gerenciamento Conexoes Fim-a-Fim

Robusto

Não lida com

desconexões

Detecta

congestionamento

usando jitter

JTCP

Discrimina erro por

congetionamento e por

enlace sem fio

Ajusta partida lenta de

acodo com nível de

congestionamento

TCP-Veno

Economia de energia

Desempenho degradado

com altos valores BER

Probing e recuperação

imediata

TCP-Probing

Lida inteligentemente

com handoff

Nao consegue

diferenciar erro sem fio

Handoff e disconexões

Transmissor congela

relógios e para

transmissão

Freeze TCP

Limitações

Vantagens

Característica

Page 174: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Localizacao da perdaProtocolo Snoop

Nó Fixo - FH

Rede com Fio

Nó Móvel - MH Estação Base

- BSRetransmissão Local

Snooping dos ACK'sArmazenamento dos

dados

Conexão TCP Fim-a-fim

Page 175: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Localizacao de Perda

Recupera múltipals

perdas

Agente snoop e

consciente de opção

SACK

TCP-SACK Aware

Snoop

Atrapalha recuperação

de congestionamento

Atrasa terceiros e

subsequentes DUPACK

DDA

Atrasos handoff

Rapida recuperação

erros enlace sem fio

Grandes buffers na BS

Suprime DUPACKs.

Envia cada pacote via

multicast para BS mais

perto

Snoop

Limitações

Vantagens

Característica

Page 176: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Notificação

Descrimina erros enlace

sem fio e

congestionamento

Quando enlace sem fio

problemático BS envia

EBSN para a fonte

EBSN

Não e fim-a-fim

Evita temporizacao

Detecação de perda no

enlace sem fio na

camada de enlace

ELN

Autonomia fim-a-fim

violada

Congestioanemnto

incipiente

ECN

Limitções

Vantagens

Características

Page 177: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre Redes sem Fio

nãosimsimnãoAutonomia

fim-a-fim

difícilfácildifícilfácilDifusão

simBS inoperante

alta quantidade

MH

simBS inoperante

alta quantidade

MH

Escalabilidade

simsimsimsimDistinção de

erro

nãonãonaoSim mas a

custo alto

Mobilidade

NotificaçãoLocalizaçãoFim-a-fimSegmentacão

Page 178: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre Redes Ad Hoc

Page 179: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Características que influenciam oTCP sobre Redes Ad Hoc

• Alta taxa de erro;• Incapacidade de distinguir entre perda porcongestionamento, por perda de rota e devidoa canal sem fio;

• Assimetria de caminhos• Restricoes de energia• Recomputação e perda da rota;• Particionamento da rede• Terminal oculto.

Page 180: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Recomputação e Perda da Rota

Page 181: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Particionamento da Rota

Page 182: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Terminal Oculto

Page 183: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP-F

• Quando agente de roteamento de um nódetecta rompimento de rota, envia umanotificação (Route Failure Notification RFN);

• TCP congela variáveis e para de enviardados;

• Retoma transmissão quando recebenotificação de restauração da rota(Route Re-establishment Notification RRN);

Page 184: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

TCP sobre Redes Ad Hoc

trataNão trataNão trataNão trata

Transmissão

confiável

mengame

controle

Antiga janela e

RTO

Reset para

cada nova rota

Janela antiga e

RTO

Janela antiga e

RTO

Janela e RTO

após RR

Não tratatrataNao trataNão trataReordenação

pacote

Retorna estadoMecanismo

probing

Mecanismo

Probing

Retoma estadoRecontrução de

rota

Congela estadoMensagem

ICMP, destino

não encontrado

Congela estadoCongela estado

TCP

Rompimento de

rota

Não tratatrataNão trataNão trataAlta taxa de

erro

TCP-BusATCPELFNTCP-F

Page 185: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Roteiro

• Camada de Transporte;

• A Camada de Transporte na Internet;

• Variantes do Protocolo TCP para redesespecificas.

• Considerações finais

Page 186: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Considerações Finais

• Resumo conclusivo

• Conclusões

Page 187: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Resumo Conclusivo

• Função – abstrair para os processos queimplementam as aplicações a existênciade uma rede entre os mesmos;

• Serviços – orientado a conexão, queinclui entrega confiável e não orientadoà conexão sem entrega confiável;

Page 188: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Resumo Conclusivo

• Protocolos – Na Internet, o TCP ofereceserviços orientados à conexão e, consequentemmente alto overhead. Alémde ter associado a ele controle de fluxoe de congestionamento. O protocolo UDPnão é orientado à conexão e possui as vantagens e desvantagens opostas aoTCP.

Page 189: Camada de Transportes - ic.unicamp.brnfonseca/MO611/Microsoft PowerPoint - Camada de... · Programa • 1.Introdução: Conceito de redes de computadores, arquitetura em camadas,

Conclusões

• A camada de transporte deve oferecerserviços com e sem entrega confiável. Os seusprotocolos devem ser amigáveis para evitarinanição de recursos. Os mecanismos para osprotocolos devem ser auto-contidos na camadade transporte, orientados a características do meio e independentes do processo par conectado