TCP 1 TCP. Manuel P. Ricardo

Documentos relacionados
TCP. Bibliografia FEUP/MRSC/AMSR MPR. » Aula preparada com base nos seguintes documentos

Controlo de Congestionamento

TCP Móvel. Introdução. TCP TCP Controlo de fluxo TCP Controlo de Congestionamento Problemas do TCP em comunicações móveis Potenciais soluções

A necessidade por um serviço de transporte confiável. Camada de Transporte. End-to-End Protocols. End-to-End Protocols. Data Link Versus Transport (1)

GA-027 Redes de Computadores

TCP - controle de fluxo

PTC Aula Princípios do controle de congestionamento 3.7 Controle de congestionamento no TCP

TCP - controle de fluxo

Nível de Transporte Portas, Protocolos UDP e TCP

Camada de Transporte. Redes Industriais Rone Ilídio UFSJ CAP

Camada de Transporte Parte II Gerson Porciúncula 5 semestre

Redes de Computadores

Serviços de Comunicações Capítulo 3

TCP - multiplexação/demultiplexação

Causas/custos do congestionamento: cenário 1

Redes de Computadores Camada de Transporte Protocolo TCP

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Redes de Computadores e Aplicações. Aula 43 - Camada de Transporte TCP (Transmission Control Protocol)

Capítulo 3: Camada de Transporte

TCP - formato do segmento. Formato do segmento TCP (fonte: Kurose)

Camada Transporte Parte 2. Prof. Dr. S. Motoyama

Redes de Computadores I

PTC Aula Princípios da transferência de dados confiável 3.5 Transporte orientado para conexão: TCP

SSC0641 Redes de Computadores

Desempenho de Redes de Computadores. Ricardo Couto A. da Rocha 2015

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Redes de Computadores

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Redes de Computadores

Redes de Computadores_Marcelo Furtado Pratica 2- Qualidade de serviços

Arquitetura de Redes de Computadores

Camada de Transporte. Protocolos TCP e UDP

Redes de Computadores

Camada de transporte. Serviços

2 Controle de Congestionamento do TCP

Redes de computadores e a Internet. Capítulo 3. Camada de transporte

Redes de Computadores LTI

Jones Bunilha Radtke. Tarefas:

PROTOCOLOS DE COMUNICAÇÃO

Planejamento. Revisão. Desempenho em Protocolos de Transporte

Redes de Computadores

Redes de Computadores (LTIC) 2014/15. Parte 1 (8 valores) Exame Final (1ª Época) 24 de junho de Nome:

Capítulo 6. A camada de transporte

Protocolos com paralelismo (pipelining) Pipelining: aumento da utilização

Controlo de Congestão TCP. Redes e Serviços de Comunicação Multimédia Secção de Redes de Comunicação de Dados

Redes de Computadores

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol

TM 1. Manuel P. Ricardo. Faculdade de Engenharia da Universidade do Porto

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Exame A

Redes de Comunicações 2. Camada Transporte: TCP e UDP

Redes de Computadores Aula 5

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Funções da. Os principais serviços oferecidos pela camada de transporte são: Controle de conexão, Fragmentação, Endereçamento e Confiabilidade.

Redes de computadores. Protocolo TCP

Redes de Computadores

Nível de Enlace. Laboratório MídiaCom - UFF Profa. Débora Christina Muchaluat Saade

Redes de Computadores. Redes de Computadores. Redes de Computadores. ü Contador de caracteres. ü Stuffing de caracteres.

Arquitetura de Redes TCP/IP. Camada de Transporte

Camada de transporte. Serviços fornecidos pela camada de transporte Multiplexagem/desmultiplexagem Camada de transporte não-orientada à sessão

Redes de Computadores

TCP - estabelecimento de conexão

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Redes de Computadores

Camada de Transporte

TCP Round Trip Time e temporização

Introdução às Redes de Telecomunicações Licenciatura em Eng. Electrotécnica e de Computadores 25 de Junho de o Exame 2 o Semestre.

Camada de Transporte Protocolos TCP e UDP

Arquitetura TCP/IP. Parte XI Transporte orientado a conexão (TCP) Fabrízzio Alphonsus A. M. N. Soares

Controle de Congestionamento em TCP Parte 2. Prof. Dr. S. Motoyama

Capítulo 3 Camada de transporte

EXERCÍCIOS DE REVISÃO REDES DE COMPUTADORES EDGARD JAMHOUR. Segundo Bimestre

Jéfer Benedett Dörr

Número: Professor: JM JF PA _. Exame2ª Época - 13/02/2009-2h

Camada de transporte. Serviços

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

AVALIAÇÃO COMPARATIVA DOS MECANISMOS CONGESTION AVOIDANCE TCP SACK E VEGAS OPERANDO SOBRE UMA REDE ATM VIA SATÉLITE

Chapter 3. The Data Link Layer. Data Link Layer Design Issues. Services Provided to the Network Layer Framing Error Control Flow Control

Capítulo 3 Camada de Transporte

Redes de Computadores

Teleprocessamento e Redes

Capítulo 3 Camada de transporte

Capítulo 3. Camada de transporte

TCP FACK (Forward Acknowledment)

Protocolo de Enlace de Dados

Redes de Computadores

Capítulo 3 Camada de transporte

Redes de Computadores

REDES DE COMPUTADORES Camada de Transporte. Alexandre Augusto Giron

Nome: Nº de aluno: Indique se vai realizar exame ou 2º teste: Exame: 2º teste: PARTE 1 (7 valores)

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, TCP: nos. de seq. e ACKs. TCP: estrutura do segmento. TCP: Tempo de Resposta (RTT) e Temporização

Exercícios de Revisão Redes de Computadores I. Spanning-Tree Camada de Transporte DNS DHCP

Fragmentos das máquinas de estados finitos do RDT 2.2 (fonte: Kurose)

Introdução às Redes de Telecomunicações Licenciatura em Eng. Electrotécnica e de Computadores 23 de Junho de o Exame 2 o Semestre.

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

Redes TCP/IP. Protocolos de Transporte e Aplicação

Jéfer Benedett Dörr

Protocolos de Transporte

PTC Aula A camada de transporte. (Kurose, p ) 15/03/2017

Transcrição:

TCP 1 TCP Faculdade de Engenharia da Universiadade do Porto Manuel P. Ricardo

TCP 2 Bibliografia L. Peterson, B. Davie, Computer Networks A Systems Approach, Morgan Kaufamnn, 2000 (Sec. 5.1, 5.2, 6.1, 6.2, 6.3 e 6.4)

TCP 3 TCP Características» Orientado às ligações» Full-duplex» Fluxo de bytes aplicação escreve bytes TCP envia segmentos aplicação lê bytes Mecanismos de controlo» Controlo de fluxo Evita que emissor congestione receptor» Controlo de congestionamento Evita que emissor congestione a rede Application process Application process Write bytes Read bytes TCP Send buffer TCP Receive buffer Segment Segment Segment Transmit segments

TCP 4 Formato do Segmento 0 4 10 16 31 SrcPort DstPort SequenceNum Acknowledgment HdrLen 0 Flags Checksum AdvertisedWindow UrgPtr Options (variable) Data

TCP 5 Estabelecimento da Ligação Active participant (client) Passive participant (server)

Controlo de Fluxo TCP 6

TCP 7 Janela Deslizante Emissor» envia dados com indicação do número de ordem do 1º byte Receptor Data (SequenceNum)» confirma recepção indicando número ordem próximo byte a receber Acknowledgment» indica espaço livre em memória AdvertisedWindow Data (SequenceNum) Sender Receiver Acknowledgment + AdvertisedWindow

Janela Deslizante Sending application Receiving application TCP 8 LastByteWritten TCP LastByteRead TCP LastByteAcked LastByteSent NextByteExpected LastByteRcvd» No emissor LastByteAcked < = LastByteSent LastByteSent < = LastByteWritten Buferiza bytes entre LastByteAcked e LastByteWritten» No receptor LastByteRead < NextByteExpected NextByteExpected < = LastByteRcvd +1 Buferiza bytes entre NextByteRead e LastByteRcvd

Controlo de Fluxo Sending application TCP LastByteWritten Receiving application TCP 9 TCP LastByteRead Comprimento do buffer no emissor MaxSendBuffer no receptor MaxRcvBuffer No receptor LastByteAcked LastByteSent NextByteExpected LastByteRcvd - LastByteRead < = MaxRcvBuffer AdvertisedWindow = MaxRcvBuffer -(LastByteRcvd - LastByteRead) No Emissor LastByteWritten - LastByteAcked < = MaxSendBuffer LastByteSent - LastByteAcked < = AdvertisedWindow EffectiveWindow = AdvertisedWindow - (LastByteSent - LastByteAcked) Processo bloqueia se quer enviar (write) y bytes e (LastByteWritten - LastByteAcked) + y > MaxSenderBuffer ACK enviado como resposta à chegada de um segmento LastByteRcvd

TCP 10 Retransmissão Adaptativa (Algoritmo Original) RTT Round Trip Time (tempo de ida e volta) Medida de samplertt para cada par segmento/ack Cálculo da média pesada do RTT» RTT = a x RTT + (1-a) x SampleRTT a em [0.8, 0.9] TimeOut = 2 x RTT

TCP 11 Melhoria de Karn/Partridge Não mede samplertt em caso de retransmissão Duplica valor do timeout em cada retransmissão Sender Receiver Sender Receiver SampleR TT SampleR TT

TCP 12 Melhoria de Jacobson/ Karels Novo método de cálculo do RTT» Dif = samplertt - RTT» Desv = Desv + p ( Dif - Desv) p em [0,1]» RTT = RTT + ( p x Dif) Considera variância no cálculo do timeout» TimeOut = m x RTT + f x Desv» m = 1, f = 4 Mecanismo de timeout preciso» importante para controlo de congestionamento

Controlo de Congestionamento TCP 13

TCP 14 TCP - Controlo de Congestionamento Princípio de funcionamento» Cada fonte determina a sua capacidade de geração de tráfego» Baseada em critérios de justiça entre fluxos utilização máxima de recursos (capacidade de comutação, capacidade de transporte dos links) ACKs recebidos regulam a transmissão de pacotes são o relógio da fonte

TCP 15 Subida Aditiva/Descida Multiplicativa Mudanças na capacidade de canal ajuste na transmissão Nova variável de estado por ligação CongestionWindow» Limita a quantidade de dados em trânsito MaxWin = MIN(CongestionWindow, AdvertisedWindow) EffWin = MaxWin - (LastByteSent - LastByteAcked) Objectivo» Se congestionamento da rede diminui aumenta CongestionWindow» Se congestionamento da rede aumenta diminui CongestionWindow Débito (byte/s) CongestionWindow/RTT

TCP 16 Subida Aditiva/Descida Multiplicativa Como sabe a fonte se/quando a rede está congestionada? Por ocorrência de timeout!» Redes fixas pacotes raramente sofrem erros» Ocorrência de timeout perda de pacote» Perda de pacotes congestionamento Filas nos routers cheias

TCP 17 Subida Aditiva/Descida Multiplicativa Algoritmo» Incrementa CongestionWindow de 1 pacote Por cada RTT (Round Trip Time) Subida linear» Divide CongestionWindow por 2 Sempre que há perda de pacote Descida multiplicativa Source Destination Na prática,» Incrementa ligeiramente por ACK recebido» Increment= MSS * (MSS / CongestionWindow)» CongestionWindow += Increment» MSS Maximum Segment Size

TCP 18 Subida Aditiva/Descida Multiplicativa Funcionamento Dente de Serra KB 70 60 50 40 30 20 10 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 Time (seconds)

TCP 19 Arranque Lento Objectivo» Determinar capacidade de transmissão disponível Source Destination Aproximação» Começar com CongestionWindow = 1 pacote» Duplicar CongestionWindow em cada RTT

TCP 20 Retransmissão e Recuperação Rápidas Problema» Se timeout TCP grande periodo de inactividade pode ser grande Sender Packet 1 Packet 2 Packet 3 Receiver ACK 1 Packet 4 ACK 2 Packet 5 ACK 2 Solução» Retransmissão rápida utilização de ACKs repetidos (3) Packet 6 ACK 2 ACK 2 Retransmit packet 3 ACK 6

Source Destination TCP 21 TCP ArranqueLento TCP tem congestionwindow» número de pacotes em trânsito, sem causar congestionamento» Novos pacotes enviados se permitidos por congestionwindow, e Advertisedwindow, do receptor ArranqueLento» Emissor começa com congestionwindow=1sgm» Duplica congestionwindow em cada RTT Quando detecta perda de pacote, por timeout» threshold = ½ congestionwindow» congestionwindow=1sgm (router esvazia filas)» Pacote perdido retransmitido» ArranqueLento enquanto congwindow<threshold» Depois fase de PrevençãoDeCongestionamento

PrevençãoDeCongestionamento (Congestion Avoidance) TCP 22 PrevençãoDeCongestionamento (subida aditiva)» Incrementa congestionwindow de 1 sgm, por cada RTT Detecção de perda de pacote, por recepção de 3 ACKs duplicados» Deduz que pacote se perdeu, não por congestionamento severo, porque segm seguintes chegaram destino» Retransmite pacote perdido» congestionwindow=congestionwindow / 2» Fase de PrevençãoDeCongestionamento Source Destination KB 70 60 50 40 30 20 10 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 Time (seconds) 10.0

TCP 23 TCP Controlo de Congestionamento Na realidade, um pouco mais complexo RFC 2001, TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms