Redes Transporte 2

download Redes Transporte 2

of 33

Transcript of Redes Transporte 2

  • 8/18/2019 Redes Transporte 2

    1/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP (Transmission ControlProtocol)

    • Janelas deslizantes (Go-back-N)– Para conseguir conabilidade, emissor aguarda oC! de cada pacote en"iado

    – #$ ent%o en"ia o pr$&imo pacote

    – Rede permanece ociosa durante este tempo– Janelas deslizantes: tornam a transmiss%o de

    pacotes mais eciente ("'rios pacotes antes doC!)

    – Mais comple&a ue a conrma%o positi"a "istaanteriormente

  • 8/18/2019 Redes Transporte 2

    2/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP * +anela esli-ante

    • protocolo cria uma /anela de taman0o &o– Pode transmitir todos os pacotes ue se encontram

    nesta /anela antes de receber uma conrma%o– 1m pacote 2 dito n%o*conrmado se foi en"iado e

    nen0um C! retornou– M'&imo de conrma3es4 taman0o da /anela

    1 2 3 4 5 6 7 8 9 ... N

    Janela inicial (tamanho 3)

  • 8/18/2019 Redes Transporte 2

    3/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP * +anela esli-ante

    •5uando o remetente recebe um C! para oprimeiro pacote da /anela– esli-a a /anela– 6n"ia o pr$&imo pacote

    – /anela continua desli-ando de acordo com ac0egada das conrma3es

    1 2 3 4 5 6 7 8 9 ... N

    Janela desliza

  • 8/18/2019 Redes Transporte 2

    4/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP * +anela esli-ante

    1 2 3 4 5 6 7 8 9 ... N

    Janela desliza

    1 2 3 4 5 6 7 8 9 ... N

    Janela desliza

     ACK 3 ece!ido"

     ACK 1 ece!ido"

    N#o en$iados

    %n$iados

    Con&imados

    'ndica e at* o 3 (inclsi$e)

    J+ che,aam todos coetamente

  • 8/18/2019 Redes Transporte 2

    5/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP * +anela esli-ante

    1 2 3 4 5 6 7 8 9 ... N

    Janela desliza

    1 2 3 4 5 6 7 8 9 ... N

    Janela desliza

     ACK 7 ece!ido"

     ACK 4 ece!ido"

    N#o en$iados

    %n$iados

    Con&imados

  • 8/18/2019 Redes Transporte 2

    6/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP * +anela esli-ante

    -emetente -eceto  

    %n$ia /C0

    %n$ia /C0 1

    %n$ia /C0 2

    (esea)

    -ece!e /C0

    %n$ia ACK

    -ece!e /C0 2(descata)

    -ece!e ACK

    %n$ia /C0 3

    -ece!e /C0 3

    (descata)

    0imeot /C0 1

    %n$ia /C0 1

    -ece!e /C0 1

    %n$ia ACK 1

    -ece!e /C0 2

    %n$ia ACK 2

    -ece!e /C0 3

    %n$ia ACK 3

    %n$ia /C0 2

    %n$ia /C0 3

    .

    .

    .

  • 8/18/2019 Redes Transporte 2

    7/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP * +anela esli-ante

    • Com um mecanismo bem a/ustado de /anela– Rede ca com mais pacotes trafegando– Tr'fego mais eciente na rede do ue uma t2cnica

    de conrma%o simples, baseada somente em

    C!s• Mecanismo de /anela continua oferecendo

    transfer7ncia con'"el• 8arante a ordem da entrega das mensagens

  • 8/18/2019 Redes Transporte 2

    8/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – +anela "ari'"el

    •  TCP permite ue o taman0o da /anela "arie com o tempo• Cada conrma%o de recebimento cont2m uma informa%o

    sobre uantos pacotes o receptor est' preparado para aceitar• ssim, o remetente atuali-a o taman0o da sua /anela de acordo

    com a capacidade informada pelo receptor

    – umento da capacidade do receptor, aumento da /anela– iminui%o da capacidade do receptor, diminui%o da /anela

    • 9ornece mel0or controle de :u&o e transfer7ncia con'"el• Controle de :u&o 2 essencial para redes e 0osts 0eterog7neos

    – Cada um com sua "elocidade e capacidade

    – Mel0or utili-a%o da rede

  • 8/18/2019 Redes Transporte 2

    9/33

    Redes de Computadores I – Prof. Mateus Raeder

    Pacote TCP

    • unidade de transfer7ncia entre dois 0osts com TCP 2 c0amadade segmento ou pacote

    • Pacotes s%o trocados para estabelecer cone&3es– Pigg;bac

  • 8/18/2019 Redes Transporte 2

    10/33

    Redes de Computadores I – Prof. Mateus Raeder

    Pacote TCP

    /ota i,em /ota estino

    Checsm /onteio de ,ncia

    es ( o mais ala$as de 32 !its)

    16 31

    ados

    0amanho da anela

    Nmeo de sencia

    Nmeo ACK

    0amanho

    ca!ealho

    N#o

    sado

    :

    '

    N

    ;

    <

    N

    -

    ;

    0

    /

    ;

    =

     A

    C

    K

    >

    -

    ?

  • 8/18/2019 Redes Transporte 2

    11/33

    Redes de Computadores I – Prof. Mateus Raeder

    Pacote TCP

    • Portas destino e origem• =>mero de seu7ncia4 do pacote do remetente• =>mero C!4 n>mero de conrma%o ue identica

    o pr$&imo n>mero de seu7ncia esperado pelo outro

    0ost (receptor)•  Taman0o do cabeal0o4 especica o taman0o docabeal0o do pacote TCP. Taman0o m?nimo 2 de @pala"ras de AB bits

    • =%o usado4 reser"ados para uso futuro

  • 8/18/2019 Redes Transporte 2

    12/33

    Redes de Computadores I – Prof. Mateus Raeder

    Pacote TCP

    • its de controle (identicam a nalidade dosegmento)– 1R84 o campo Ponteiro 1rgente 2 "'lido– C!4 o campo =>mero C! 2 "'lido– P#D4 fora a entrega da mensagem (pus0 – empurrar)

    • Receptor n%o arma-ena a mensagem at2 enc0er o buEer– R#T4 reiniciar a cone&%o

    • Caso ten0a cado confusa de"ido fal0as no 0ost, por e&emplo• Re/eitar uma cone&%o ou um segmento in"'lido

    – #F=4 sincroni-a n>meros de seu7ncia (estabelececone&%o)

    – 9I=4 remetente n%o tem dados

  • 8/18/2019 Redes Transporte 2

    13/33

    Redes de Computadores I – Prof. Mateus Raeder

    Pacote TCP

    •  Taman0o da /anela4 especica o taman0o da /anela(em b;tes) ue ser' usada na cone&%o–  T2cnica de pigg;bac

  • 8/18/2019 Redes Transporte 2

    14/33

    Redes de Computadores I – Prof. Mateus Raeder

    Pacote TCP

    • C0ec

  • 8/18/2019 Redes Transporte 2

    15/33

    Redes de Computadores I – Prof. Mateus Raeder

    p3es TCP

    • ptions4 pode conter G ou mais op3es– Cada op%o comea com um campo de H octeto ue indica

    o tipo da op%o– 6m seguida, H octeto ue indica o taman0o da op%o

    • p%o de Taman0o M'&imo de #egmento (Ma&imum

    #egment #i-e – M##)– Combina entre as e&tremidades o taman0o m'&imo do

    segmento a ser transferido– Permite ue receptor diga o taman0o m'&imo, permitindo

    comunica%o entre m'uinas e redes 0eterog7neas demaneira mais eciente

  • 8/18/2019 Redes Transporte 2

    16/33

    Redes de Computadores I – Prof. Mateus Raeder

    p3es TCP

    • p%o de Taman0o M'&imo de #egmento (Ma&imum#egment #i-e – M##) cont...– #e n%o est%o na mesma rede f?sica, podem tentar descobrir

    a MT1 (capacidade da redeJ) m?nima ao longo do camin0o– 6scol0a de M## 2 cr?tica

    • Muito peueno4 pode causar o"er0ead e sobrecarga na rede• Muito grandes4 podem obrigar roteadores a fragmentar o

    pacote di"ersas "e-es, diminuindo o desempen0o da rede

    – 5ual o taman0o de segmento idealK• maior poss?"el sem e&igir fragmenta%o algumaLL

    • Pr'tica 2 muito dif?cil

  • 8/18/2019 Redes Transporte 2

    17/33

    Redes de Computadores I – Prof. Mateus Raeder

    p3es TCP

    • p%o de +anela m$"el– /anela do cabeal0o IP tem H bits

    • M'&imo do taman0o 2 N!b;tes

    – Para acomodar /anelas maiores, a op%o de 6scala de +anelaapresenta campos ue permitem informar o taman0o real da

    no"a /anela• p%o de estampa de tempo

    – /uda o TCP a calcular o atraso na rede– Oalor de tempo e um de estampa de tempo de resposta de

    eco– Remetente4 coloca a 0ora no estampa ao en"iar um pacote– Receptor4 copia o tempo para o campo resposta de eco e

    manda conrma%o-emetente sa!e o temo total ,asto

    desde o en$io do se,mento

  • 8/18/2019 Redes Transporte 2

    18/33

    Redes de Computadores I – Prof. Mateus Raeder

    p3es TCP

    • Retransmiss%o #eleti"a– #ubstituir o 8o*bac

  • 8/18/2019 Redes Transporte 2

    19/33

    Redes de Computadores I – Prof. Mateus Raeder

    p3es TCP

    • Retransmiss%o #eleti"a– remetente de"er' retransmitir os pacotes ue n%o

    receberam conrma%o (C!)• Tempori-ador para cada pacote sem C! 

    –  +anela e&iste no remetente

    • Com os n>meros de seu7ncia consecuti"os• Qimita uantidade de pacotes en"iados sem recon0ecimento

  • 8/18/2019 Redes Transporte 2

    20/33

    Redes de Computadores I – Prof. Mateus Raeder

    p3es TCP

    • Retransmiss%o #eleti"a

  • 8/18/2019 Redes Transporte 2

    21/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – bertura de cone&%o

    • s duas e&tremidades da cone&%o (diferentemente do1P) de"em concordar em participar da transmiss%o

    • aplica%o em uma e&tremidade reali-ar' a aberturapassi"a4– Indica ue aceitar' uma cone&%o ue ir' c0egar em uma

    determinada porta• =a outra e&tremidade, a aplica%o reali-a a abertura

    ati"a– Indicar' ue dese/a estabelecer uma cone&%o com

    determinada porta em determinado 0ost

  • 8/18/2019 Redes Transporte 2

    22/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – Controle da cone&%o

    •  Tr7s fases– 6stabelecimento da cone&%o–  Transmiss%o de dados– 6ncerramento da cone&%o

    • 9lags– #F=4 indica solicita%o de cone&%o– 9I=4 indica nali-a%o da cone&%o– R#T4 indica o reset da cone&%o– C!4 indica um recon0ecimento de recebimento de pacote

  • 8/18/2019 Redes Transporte 2

    23/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – 6stabelecimento da cone&%o

    i,em A estino @

    ;

  • 8/18/2019 Redes Transporte 2

    24/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – = meros de seu nciainiciais

    • Dands0ameros de seu7ncia

    inicial

    • M'uinas escol0em n>meros de seu7ncia iniciais

    aleatoriamente• s e&tremidades de"em con0ecer os n>meros deseu7ncia umas das outras– en"ia #F= /unto com seu n>mero de seu7ncia (&) para – recebe o #F=, guarda o n>mero de seu7ncia do :u&o de

    , e responde com seu n>mero de seu7ncia (;), di-endoue espera o n>mero de seu7ncia &H agora de

      * guarda o n>mero de seu7ncia de

      e conrma di-endo ue espera por

    ;H

    TCP = d i

  • 8/18/2019 Redes Transporte 2

    25/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – = meros de seu nciainiciais

  • 8/18/2019 Redes Transporte 2

    26/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – 9ec0ando uma cone&%o

    • t2rmino da cone&%o de"e ser reali-ado de maneira

    controlada– Cone&3es s%o full duple&, e "%o nos dois sentidos

    independentemente

    • 5uando um aplicati"o TCP n%o possui mais dados

    para en"iar, fec0a a cone&%o em uma dire%o– #omente a sua metadeJ• 5uando um lado recebe um pedido de

    encerramento, de"e a"isar a aplica%o– 6ntretanto, a aplica%o poder' continuar en"iando dados

    pela sua metadeJ de cone&%o

  • 8/18/2019 Redes Transporte 2

    27/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – 9ec0ando uma cone&%o

    FIN

    ACK

    ACK

    FIN

    Dados

    ACK dos dados

    Host A Host B

  • 8/18/2019 Redes Transporte 2

    28/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – 9ec0ando uma cone&%o

    • cone&%o estar' encerrada uando os dois sentidos

    da cone&%o esti"erem desati"ados• #%o necess'rios, de modo geral, N segmentos TCP

    para encerrar uma cone&%o– 9I= e C! em um sentido e 9I= e C! no outro sentido

    • Pode ocorrer com apenas A segmentosK– #imLL primeiro C! e o segundo 9I= podem ser en"iados

    pelo mesmo segmento (de caronaJ)– #omente A segmentos

  • 8/18/2019 Redes Transporte 2

    29/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – Rein?cio da cone&%o

    • lgumas "e-es condi3es anormais foram a

    interrup%o da cone&%o– 1m lado inicia o t2rmino com o bit R#T setado– outro lado responde imediatamente com outro segmento

    de reset, abortando a cone&%o– TCP informa ao programa aplicati"o ue 0ou"e um aborto

  • 8/18/2019 Redes Transporte 2

    30/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – Pol?tica de transmiss%o

    • Oamos supor ue o receptor tem um buEer de @GGG

    b;tes• #e o remetente en"iar um segmento de AGGG b;tes,

    o receptor conrmar' o recebimento– Por2m, at2 ue alguma aplica%o retire do buEer, o buEer

    possui BGGG b;tes restantes– 6sta informa%o (BGGG b;tes) "ai para a /anela do remetente

    • remetente en"ia mais BGGG b;tes, e s%oconrmados– Receptor anunciar' /anela G, pois n%o cabem mais dados

    (buEer c0eio)– ssim, o remetente de"e parar de en"iar mensagens at2

    uma

     /anela maior ser anunciada

  • 8/18/2019 Redes Transporte 2

    31/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – Pol?tica de transmiss%o

  • 8/18/2019 Redes Transporte 2

    32/33

    Redes de Computadores I – Prof. Mateus Raeder

     TCP – #?ndrome da /anela boba

    • 1m problema ue pode diminuir muito odesempen0o do TCP

    • ados repassados para o remetente s%o muitograndes, mas uma aplica%o consome os dadosum b;te por "e-

    • uEer do lado receptor ca c0eio, e o remetentesabe disso (/anela 2 G)

    • aplica%o ent%o l7 H caractere do :u&o TCP• ue aconteceK

    – Receptor ca bem faceiro e en"ia a /anela de taman0o H

    ?

  • 8/18/2019 Redes Transporte 2

    33/33

    Redes de Computadores I Prof Mateus Raeder

     TCP – #?ndrome da /anela boba

    • 5ual a solu%oK– 6"itar ue o receptor en"ie uma atuali-a%o de /anela

    para H b;te– 6le 2 forado a aguardar at2 ue 0a/a espao

    consider'"el para anunciar sua /anela

    • Mas, ual 2 o espao consider'"elK– if?cil de pre"er– S denido ue o receptor n%o pode en"iar uma

    atuali-a%o de /anela at2 ue ele possa lidar com otaman0o m'&imo do segmento (M##) anunciado no

    comeo da cone&%o, ou at2 metade da capacidade doseu buEer (o ue for menor)