SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Capítulo 3: Camada de Transporte

Objetivos do Capítulo:                 Resumo do Capítulo:
•   entender os princípios por trás    •   serviços da camada de transporte
    dos serviços da camada de          •   multiplexação/demultiplexação
    transporte:                        •   transporte sem conexão: UDP
     – multiplexação/demultiplexação   •   princípios de transferência confiável de
     – transferência de dados              dados
       confiável                       •   transporte orientado à conexão: TCP
     – controle de fluxo                     – transferência confiável
     – controle de congestionamento          – controle de fluxo
•   instanciação e implementação             – gerenciamento de conexão
    na Internet                        •   princípios de controle de
                                           congestionamento
                                       •   controle de congesetionamento do TCP
Protocolos e Serviços de Transporte
•   Fornecem comunicação lógicas entre       aplicação
                                             transporte
    processos de aplicação em diferentes      eerede
                                              enlace
    hosts                                      física
                                                                            rede
                                                                           enlace




                                                          tr
•   Os protocolos de transporte são                           rede         física




                                                          an
                                                             enlace




                                                             sp
    executados nos sistemas finais da rede                   física




                                                                or
                                                                                rede




                                                                   t
•   serviço de transporte vs serviços de                                       enlace




                                                                 e
                                                                      ló
                                                                               física         rede




                                                                        gi
    rede :                                                                                   enlace




                                                                          co
                                                                                             física




                                                                          fi
•   camada de rede: transferência de




                                                                            m
                                                                                     rede




                                                                             -a
    dados entre computadores (end                                                   enlace




                                                                                -fi
                                                                                    física




                                                                                   m
    systems)
•   camada de transporte: transferência                                                      aplicação
                                                                                             transporte
    de dados entre processos                                                                    rede
                                                                                               enlace
     – utiliza e aprimora os serviços                                                          física

        oferecidos pela camada de rede
Protocolos da Camada de Transporte
Serviços de Transporte da Internet:      application
                                         transporte
                                            rede
• confiável, seqüencial e unicast          enlace                     rede
                                           física
   (TCP)                                                             enlace




                                                       tr
                                                           rede      física




                                                       an
     – congestão                                          enlace




                                                          sp
                                                          física




                                                             or
     – controle de fluxo                                                 rede




                                                                t
                                                                        enlace




                                                              e
                                                               ló
                                                                        física          rede
     – orientado à conexão




                                                                 gi
                                                                                       enlace




                                                                   co
                                                                                       física
•   não confiável (“best-effort”), não




                                                                    fi
                                                                      m
                                                                               rede




                                                                       -a
    seqüencial, entrega unicast or                                            enlace




                                                                          -
                                                                              física




                                                                          fi
                                                                            m
    multicast : UDP
                                                                                       application
•   serviços não disponíveis:                                                          transporte
                                                                                          rede
     – tempo-real                                                                        enlace
                                                                                         física
     – garantia de banda
     – multicast confiável
Multiplexação de Aplicações
 Segmento - unidade de dados trocada
                                            Demultiplexação: entrega de
    entre entidades da camada de
                                            segmentos recebidos aos
    transporte
                                             processos de aplicação corretos
      – TPDU: transport protocol data
         unit (unidade de dados do
         protocolo de transporte)       receptor
                                   P3                P4
       dados da camada                  M        M
       de aplicação
                                         aplicação
  cabeçalho do         P1               transporte                     P2
  segmento                                                         M
                        M                  rede
                       aplicação                                  aplicação
segmento   Ht   M     transporte                                 transporte
        Hn segmento      rede                                       rede
Multiplexação de Aplicações
Multiplexação:
reunir dados de múltiplos                      32 bits
processo de aplicação, juntar
cabeçalhos com informações            porta origem   porta destino
para demultiplexação
                                      outros campos de cabeçalho
multiplexação/demultiplexação:
• baseada nos número de porta do
   transmissor, número de porta do       dados de aplicação
   receptor e endereços IP                  (mensagem)
     – números de porta origem e
        destino em cada segmento
     – lembre: portas com números
        bem-conhecidos são usadas
                                      formato do segmento TCP/UDP
        para aplicações específicas
Multiplexação: exemplos

          porta origem: x                                     cliente Web
host A    porta dest.: 23   servidor B                            host C

          porta origem:23
            port dest.: x
                                                      IP Origem: C      IP Origem: C
                                                       IP Dest: B        IP Dest: B
                                                      porta origem: y   porta origem: x
         aplicação Telnet                             porta dest.: 80   porta dest.: 80




                                   IP Origem: A
                                    IP Dest: B                           Servidor
     cliente Web                   porta origem : x                       Web B
           host A                  porta dest.: 80
                                                        aplicação: servidor Web
UDP: User Datagram Protocol [RFC 768]
•   protocolo de transporte da
    Internet “sem gorduras” “sem        Porque existe um UDP?
    frescuras”
                                        •   não há estabelecimento de
•   serviço “best effort” , segmentos
                                            conexão (que pode redundar em
    UDP podem ser:
                                            atrasos)
     – perdidos                         •   simples: não há estado de conexão
     – entregues fora de ordem              nem no transmissor, nem no receptor
       para a aplicação                 •   cabeçalho de segmento reduzido
•   sem conexão:                        •   não há controle de congestionamento:
     – não há apresentação entre o          UDP pode enviar segmentos tão
       UDP transmissor e o                  rápido quanto desejado (e possível)
       receptor
     – cada segmento UDP é
       tratado de forma
       independente dos outros
Mais sobre UDP
•   muito usado por aplicações de
    mutimídia contínua (streaming)                            32 bits

     – tolerantes à perda         Tamanho, em
                                                     porta origem   porta destino
     – sensíveis à taxa      bytes do segmento        tamanho           checksum
                                    UDP, incluíndo
• outros usos do UDP                   cabeçalho

  (porque?):
      – DNS
      – SNMP                                           Dados de Aplicação
                                                          (mensagem)
•   transferência confiável sobre
    UDP: acrescentar confiabilidade na
    camada de aplicação
     – recuperação de erro
       específica de cada aplicação                  formato do segmento UDP
UDP checksum
Objetivo: detectar “erros” (ex.,bits trocados) no segmento
  transmitido

Transmissor:                        Receptor:
•   trata o conteúdo do segmento    •   computa o checksum do segmento
    como seqüencia de inteiros de       recebido
    16 bits                         •   verifica se o checksum calculado é
•   checksum: soma (complemento         igual ao valor do campo checksum:
    de 1 da soma) do conteúdo do         – NÃO - error detectado
    segmento
                                         – SIM - não há erros. Mas,
•   transmissor coloca o valor do
                                            talvez haja erros apesar
    checksum no campo de checksum
    do UDP                                  disto? Mais depois ….
Princípios de Transferência Confiável de
                     Dados
• importante nas camadas de aplicação, transporte e enlace
  • top-10 na lista dos tópicos mais importants de redes!




•   caracteristicas dos canais não confiáveis determinarão a complexidade
    dos protocolos confiáveis de transferência de dados (rdt)
Transferência confiável: o ponto de partida

rdt_send(): chamada da camada superior,        deliver_data(): chamada pela
  (ex., pela aplicação). Passa dados para        entidade de transporte para
  entregar à camada superior receptora            entregar dados para cima




    lado                                                             lado
transmissor                                                        receptor




udt_send(): chamada pela entidade           rdt_rcv(): chamada quando o pacote chega
de transporte, para transferir pacotes              ao lado receptor do canal
  para o receptor sobre o canal não
               confiável
Transferência confiável: o ponto de partida

   Etapas:
   • desenvolver incrementalmente o transmissor e o receptor de um
      protocolo confiável de transferência de dados (rdt)
   • considerar apenas transferências de dados unidirecionais
         – mas informação de controle deve fluir em ambas as direções!
   •   usar máquinas de estados finitos (FSM) para especificar o
       protocolo transmissor e o receptor

                                      evento causando transição de estados
                                      ações tomadas na transição de estado
estado: quando neste “estado”
         o próximo estado fica   estado                                      estado
                                    1         evento
      unicamente determinado                                                   2
          pelo próximo evento                  ações
Rdt1.0: transferência confiável sobre canais
                        confiáveis
• canal de transmissão perfeitamente confiável
   – não há erros de bits
   – não há perdas de pacotes
• FSMs separadas para transmissor e receptor:
   – transmissor envia dados para o canal subjacente
   – receptor lê os dados do canal subjacente
Rdt2.0: canal com erros de bit
• canal subjacente pode trocar valores dos bits num pacote
   – lembrete: checksum do UDP pode detectar erros de bits
• a questão: como recuperar esses erros:
   – reconhecimentos (ACKs): receptor avisa explicitamente ao
     transmissor que o pacote foi recebido corretamente
   – reconhecimentos negativos (NAKs): receptor avisa explicitamente
     ao transmissor que o pacote tem erros
   – transmissor reenvia o pacote quando da recepção de um NAK
   – cenários humanos usando ACKs, NAKs?
• novos mecanismos no rdt2.0 (além do rdt1.0):
   – deteção de erros
   – retorno do receptor: mensagens de controle
      (ACK,NAK) rcvr->sender
rdt2.0: especificação da FSM




FSM do transmissor         FSM do receptor
rdt2.0: em ação (ausência de erros)




FSM do transmissor          FSM do receptor
rdt2.0: em ação (cenário com erros)




FSM do transmissor      FSM do receptor
rdt2.0 tem um problema fatal!

O que acontece se o ACK/NAK é             Tratando duplicatas:
   corrompido?                            •   transmissor acrescenta número de
•   transmissor não sabe o que                seqüência em cada pacote
    aconteceu no receptor!                •   Transmissor reenvia o último
•   não pode apenas retransmitir:             pacote se f ACK/NAK for perdido
    possível duplicata                    •   receptor descarta (não passa para a
                                              aplicação) pacotes duplicados
O que fazer?
•   Transmissor envia ACKs/NAKs
    para reconhecer os ACK/NAK do             stop and wait
    receptor? O que acontece se estes         Transmissor envia um pacote
    ACK/NAK se perdem?                        e então espera pela resposta
•   retransmitir os ACK/NAK, mas              do receptor
    isto poderia causar a retransmissão
    de um pacote recebido
    corretamente!
rdt2.1: transmissor, trata ACK/NAKs perdidos
rdt2.1: receptor, trata ACK/NAKs perdidos
rdt2.1: discusssão

Transmissor:                         Receptor:
• adiciona número de seqüência       • deve verificar se o pacote
   ao pacote
                                       recebido é duplicado
• Dois números (0 e 1) bastam.
   Porque?                              – estado indica se o pacote 0
                                          ou 1 é esperado
• deve verificar se os ACK/NAK
   recebidos estão corrompidos       • nota: receptor pode não
• duas vezes o número de estados       saber se seu últino
    – o estado deve “lembrar” se o     ACK/NAK foi recebido
      pacote “corrente” tem número     pelo transmissor
      de seqüência 0 ou 1
rdt2.2: um protocolo sem NAK
•   mesma funcionalidade do rdt2.1,
    usando somente ACKs
•   ao invés de enviar NAK, o
    receptor envia ACK para o
    último pacote recebido sem erro
     – receptor deve incluir
       explicitamente o número de
       seqüência do pacote sendo
       reconhecido
•   ACKs duplicados no                !
    transmissor resultam na mesma
    ação do NAK: retransmição do          FSM do
    pacote corrente                       transmissor
rdt3.0: canais com erros e perdas
Nova Hipótese: canal de           Abordagem: transmissor espera
  transmissão pode também           um tempo “razoável” pelo
  perder pacotes (dados oo          ACK
  ACKs)                           •   retransmite se nenhum ACK for
                                      recebido neste tempo
   – checksum, números de
     seqüência, ACKs,             •   se o pacote (ou ACK) estiver
     retransmissões serão de          apenas atrasado (não perdido):
     ajuda, mas não o bastante         – retransmissão será duplicata,
                                          mas os números de seqüência
Q: como tratar com perdas?
                                          já tratam com isso
   – transmissor espera até que
                                       – receptor deve especificar o
     certos dados ou ACKs
                                          número de seqüência do
     sejam perdidos, então
                                          pacote sendo reconhecido
     retransmite
                                  •   exige um temporizador
   – problemas?
                                      decrescente
rdt3.0 sender
rdt3.0 em ação




(a) operação sem perda


                              (b) pacote perdido
rdt3.0 em ação




(c) ACK perdido       (d) timeout prematuro
Desempenho do rdt3.0
• rdt3.0 funciona, mas o desempenho é sofrível
• exemplo: enlace de 1 Gbps, 15 ms de atraso de propagação,
  pacotes de 1KB:
                       8kb/pct
       transmissão =                  = 8 µs
                     10**9 b/seg
                     fração do tempo          8 µs
  Utilização = U = transmissor ocupado =               = 0.00015
                                           30,016 ms


   – Um pacote de 1KB cada 30 ms -> 33kB/seg de vazão sobre
     um canal de 1 Gbps
   – o protocolo de rede limita o uso dos recursos físicos!
Protocolos com Paralelismo (pipelining)
Paralelismo: transmissor envia vários pacotes ao mesmo
  tempo, todos esperando para serem reconhecidos
   – faixa de números de seqüência deve ser aumentada
   – armazenamento no transmissor e/ou no receptor




         (a) operação do protocolo stop-and-wait   (a) operação do protocolo com paralelismo

• Duas formas genéricas de protocolos com paralelismo: go-
  Back-N, retransmissão seletiva
Go-Back-N
Transmissor:
•   Número de seqüência com k bits no cabeçalho do pacote
•   “janela” de até N, pacotes não reconhecidos, consecutivos, são permitidos




•   ACK(n): reconhece todos os pacotes até o número de seqüência N
    (incluindo este limite). “ACK cumulativo”
      – pode receber ACKS duplicados (veja receptor)
•   temporizador para cada pacote enviado e não confirmado
•   timeout(n): retransmite pacote n e todos os pacotes com número de
    seqüência maior que estejam dentro da janela
GBN: FSM estendida para o transmissor
GBN: FSM estendida para o receptor




receptor simples:
• somente ACK: sempre envia ACK para pacotes corretamente recebidos
   com o mais alto número de seqüência em ordem
     – pode gerar ACKs duplicados
     – precisa lembrar apenas do número de seqüência esperado
       (expectedseqnum)
•   pacotes fora de ordem:
     – descarte (não armazena) -> não há buffer de recepção!
     – reconhece pacote com o mais alto número de seqüência em ordem
GBN em ação
Retransmissão Seletiva

• receptor reconhece individualmente todos os
  pacotes recebidos corretamente
   – armazena pacotes, quando necessário, para eventual
     entrega em ordem para a camada superior
• transmissor somente reenvia os pacotes para os
  quais um ACK não foi recebido
   – transmissor temporiza cada pacote não reconhecido
• janela de transmissão
   – N números de seqüência consecutivos
   – novamente limita a quantidade de pacotes enviados,
     mas não reconhecidos
Retransmissão seletiva: janelas do transmissor e
                 do receptor




          (a) visão dos números de seqüência pelo transmissor




           (b) visão dos números de seqüência pelo receptor
Retransmissão seletiva
transmissor                               receptor
dados da camada superior :               pacote n em [rcvbase, rcvbase+N-1]
•   se o próximo número de seqüência     •   envia ACK(n)
    disponível está na janela, envia o   •   fora de ordem: armazena
    pacote
                                         •   em ordem: entrega (também
timeout(n):                                  entrega pacotes armazenados
•   reenvia pacote n,                        em ordem), avança janela para
     restart timer
                                             o próximo pacote ainda não
ACK(n) em [sendbase,sendbase+N]:             recebido
•   marca pacote n como recebido
                                         pkt n em [rcvbase-N,rcvbase-1]
•   se n é o menor pacote não
    reconhecido, avança a base da        •   ACK(n)
    janela para o próximo número de      caso contrário:
    seqüência não reconhecido
                                         •   ignora
Retransmissão seletiva em ação
Retransmissão seletiva:
dilema
Exemplo:
•   seqüências: 0, 1, 2, 3
•   tamanho da janela=3


•   receptor não vê diferença
    nos dois cenários!
•   incorretamente passa
    dados duplicados como
    novos (figura a)

Q: qual a relação entre o
   espaço de numeração
   seqüencial e o tamanho da
   janela?

Mais conteúdo relacionado

Mais procurados

Rct 4 - modelos e arquiteturas de rede - internet e tcp ip
Rct   4 - modelos e arquiteturas de rede - internet e tcp ipRct   4 - modelos e arquiteturas de rede - internet e tcp ip
Rct 4 - modelos e arquiteturas de rede - internet e tcp ipUniversal.org.mx
 
Redes windows e linux conceitos básicos sobre endereçamento
Redes windows e linux   conceitos básicos sobre endereçamentoRedes windows e linux   conceitos básicos sobre endereçamento
Redes windows e linux conceitos básicos sobre endereçamentoTalita Travassos
 
Noções de redes de computadores para concursos
Noções de redes de computadores para concursosNoções de redes de computadores para concursos
Noções de redes de computadores para concursosCDIM Daniel
 
Ccna exploration fundamentos de rede - 4 camada de transporte osi
Ccna exploration   fundamentos de rede - 4 camada de transporte osiCcna exploration   fundamentos de rede - 4 camada de transporte osi
Ccna exploration fundamentos de rede - 4 camada de transporte osiveruzkavaz
 
Capítulo 20 camada de rede - internet protocol
Capítulo 20   camada de rede - internet protocolCapítulo 20   camada de rede - internet protocol
Capítulo 20 camada de rede - internet protocolFaculdade Mater Christi
 
ENSINANDO QUALIDADE DE SERVIÇO NA INTERNET COM O OPNET MODELER
ENSINANDO QUALIDADE DE SERVIÇO NA INTERNET COM O OPNET MODELERENSINANDO QUALIDADE DE SERVIÇO NA INTERNET COM O OPNET MODELER
ENSINANDO QUALIDADE DE SERVIÇO NA INTERNET COM O OPNET MODELERAntonio Marcos Alberti
 
UFPA PPGCC LPRAD - Edinaldo La-Roque - Apresentacao Defesa Dissertacao Mestra...
UFPA PPGCC LPRAD - Edinaldo La-Roque - Apresentacao Defesa Dissertacao Mestra...UFPA PPGCC LPRAD - Edinaldo La-Roque - Apresentacao Defesa Dissertacao Mestra...
UFPA PPGCC LPRAD - Edinaldo La-Roque - Apresentacao Defesa Dissertacao Mestra...Edinaldo La-Roque
 
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Capítulo 15   conexões de lans, redes backbone e lans virtuaisCapítulo 15   conexões de lans, redes backbone e lans virtuais
Capítulo 15 conexões de lans, redes backbone e lans virtuaisFaculdade Mater Christi
 
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de AplicacaoRC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de AplicacaoUFPB
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Redewab030
 

Mais procurados (20)

Rct 4 - modelos e arquiteturas de rede - internet e tcp ip
Rct   4 - modelos e arquiteturas de rede - internet e tcp ipRct   4 - modelos e arquiteturas de rede - internet e tcp ip
Rct 4 - modelos e arquiteturas de rede - internet e tcp ip
 
Redes windows e linux conceitos básicos sobre endereçamento
Redes windows e linux   conceitos básicos sobre endereçamentoRedes windows e linux   conceitos básicos sobre endereçamento
Redes windows e linux conceitos básicos sobre endereçamento
 
R&C 0301 07 1
R&C 0301 07 1R&C 0301 07 1
R&C 0301 07 1
 
121 redes
121 redes121 redes
121 redes
 
Aula09
Aula09Aula09
Aula09
 
Cap2
Cap2Cap2
Cap2
 
Noções de redes de computadores para concursos
Noções de redes de computadores para concursosNoções de redes de computadores para concursos
Noções de redes de computadores para concursos
 
Ccna exploration fundamentos de rede - 4 camada de transporte osi
Ccna exploration   fundamentos de rede - 4 camada de transporte osiCcna exploration   fundamentos de rede - 4 camada de transporte osi
Ccna exploration fundamentos de rede - 4 camada de transporte osi
 
Aula17
Aula17Aula17
Aula17
 
Convergencia art02
Convergencia art02Convergencia art02
Convergencia art02
 
Capítulo 2 modelos de redes
Capítulo 2   modelos de redesCapítulo 2   modelos de redes
Capítulo 2 modelos de redes
 
Capítulo 20 camada de rede - internet protocol
Capítulo 20   camada de rede - internet protocolCapítulo 20   camada de rede - internet protocol
Capítulo 20 camada de rede - internet protocol
 
ENSINANDO QUALIDADE DE SERVIÇO NA INTERNET COM O OPNET MODELER
ENSINANDO QUALIDADE DE SERVIÇO NA INTERNET COM O OPNET MODELERENSINANDO QUALIDADE DE SERVIÇO NA INTERNET COM O OPNET MODELER
ENSINANDO QUALIDADE DE SERVIÇO NA INTERNET COM O OPNET MODELER
 
UFPA PPGCC LPRAD - Edinaldo La-Roque - Apresentacao Defesa Dissertacao Mestra...
UFPA PPGCC LPRAD - Edinaldo La-Roque - Apresentacao Defesa Dissertacao Mestra...UFPA PPGCC LPRAD - Edinaldo La-Roque - Apresentacao Defesa Dissertacao Mestra...
UFPA PPGCC LPRAD - Edinaldo La-Roque - Apresentacao Defesa Dissertacao Mestra...
 
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Capítulo 15   conexões de lans, redes backbone e lans virtuaisCapítulo 15   conexões de lans, redes backbone e lans virtuais
Capítulo 15 conexões de lans, redes backbone e lans virtuais
 
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de AplicacaoRC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Rede
 
Arquitetura x 25
Arquitetura x 25Arquitetura x 25
Arquitetura x 25
 
Redes i p3
Redes i p3Redes i p3
Redes i p3
 
Redes x.25
Redes x.25Redes x.25
Redes x.25
 

Destaque

Propuesta para formacion de asesores del inea
Propuesta para formacion de asesores del ineaPropuesta para formacion de asesores del inea
Propuesta para formacion de asesores del ineaSimón Garcia Carrillo
 
エンジニアでも分かる営業講座 岡崎 史
エンジニアでも分かる営業講座 岡崎 史エンジニアでも分かる営業講座 岡崎 史
エンジニアでも分かる営業講座 岡崎 史pgcafe
 
"Yo tambien aprendo haciendo" Gema de Pablo
"Yo tambien aprendo haciendo" Gema de Pablo"Yo tambien aprendo haciendo" Gema de Pablo
"Yo tambien aprendo haciendo" Gema de PabloPBLesp
 
Reingenieria de servicios
Reingenieria de serviciosReingenieria de servicios
Reingenieria de serviciosMaestros Online
 
Investigacion de operaciones 1 2012
Investigacion de operaciones 1 2012Investigacion de operaciones 1 2012
Investigacion de operaciones 1 2012Maestros Online
 
Planeación de plantas industriales in09309
Planeación de plantas industriales in09309Planeación de plantas industriales in09309
Planeación de plantas industriales in09309Maestros Online
 
Control estadistico de calidad cd09103 2012
Control estadistico de calidad cd09103 2012Control estadistico de calidad cd09103 2012
Control estadistico de calidad cd09103 2012Maestros Online
 
Balada da União Out/Nov/Dez 2012
Balada da União Out/Nov/Dez 2012Balada da União Out/Nov/Dez 2012
Balada da União Out/Nov/Dez 2012Lili Nabais
 
O inferno astral de sergio cabral
O inferno astral de sergio cabralO inferno astral de sergio cabral
O inferno astral de sergio cabralesquiber
 
Proyecto integrador de administracion de tecnologias de informacion cb9105 2013
Proyecto integrador de administracion de tecnologias de informacion cb9105 2013Proyecto integrador de administracion de tecnologias de informacion cb9105 2013
Proyecto integrador de administracion de tecnologias de informacion cb9105 2013Maestros Online
 
Rm 15b ministério de paulo
Rm 15b   ministério de pauloRm 15b   ministério de paulo
Rm 15b ministério de pauloGeversom Sousa
 
Control Estadistico De Calidad
Control Estadistico De CalidadControl Estadistico De Calidad
Control Estadistico De CalidadMaestros Online
 
Derechos fundamentales aplus
Derechos fundamentales aplusDerechos fundamentales aplus
Derechos fundamentales aplusMaestros Online
 
O coelhinho que não era de páscoa ee prof.therezina-f.pares-prof.rosane 2012
O coelhinho que não era de páscoa ee prof.therezina-f.pares-prof.rosane 2012O coelhinho que não era de páscoa ee prof.therezina-f.pares-prof.rosane 2012
O coelhinho que não era de páscoa ee prof.therezina-f.pares-prof.rosane 2012Rosane Ribeiro
 
Recuperación de desastres cb09104 2013
Recuperación de desastres cb09104 2013Recuperación de desastres cb09104 2013
Recuperación de desastres cb09104 2013Maestros Online
 

Destaque (20)

Propuesta para formacion de asesores del inea
Propuesta para formacion de asesores del ineaPropuesta para formacion de asesores del inea
Propuesta para formacion de asesores del inea
 
2395 frauen-am-steuer
2395 frauen-am-steuer2395 frauen-am-steuer
2395 frauen-am-steuer
 
Art as
Art asArt as
Art as
 
エンジニアでも分かる営業講座 岡崎 史
エンジニアでも分かる営業講座 岡崎 史エンジニアでも分かる営業講座 岡崎 史
エンジニアでも分かる営業講座 岡崎 史
 
Aes aprendizajeporproyectos
Aes aprendizajeporproyectosAes aprendizajeporproyectos
Aes aprendizajeporproyectos
 
"Yo tambien aprendo haciendo" Gema de Pablo
"Yo tambien aprendo haciendo" Gema de Pablo"Yo tambien aprendo haciendo" Gema de Pablo
"Yo tambien aprendo haciendo" Gema de Pablo
 
Reingenieria de servicios
Reingenieria de serviciosReingenieria de servicios
Reingenieria de servicios
 
Investigacion de operaciones 1 2012
Investigacion de operaciones 1 2012Investigacion de operaciones 1 2012
Investigacion de operaciones 1 2012
 
Planeación de plantas industriales in09309
Planeación de plantas industriales in09309Planeación de plantas industriales in09309
Planeación de plantas industriales in09309
 
Control estadistico de calidad cd09103 2012
Control estadistico de calidad cd09103 2012Control estadistico de calidad cd09103 2012
Control estadistico de calidad cd09103 2012
 
Balada da União Out/Nov/Dez 2012
Balada da União Out/Nov/Dez 2012Balada da União Out/Nov/Dez 2012
Balada da União Out/Nov/Dez 2012
 
O inferno astral de sergio cabral
O inferno astral de sergio cabralO inferno astral de sergio cabral
O inferno astral de sergio cabral
 
Atom
AtomAtom
Atom
 
Proyecto integrador de administracion de tecnologias de informacion cb9105 2013
Proyecto integrador de administracion de tecnologias de informacion cb9105 2013Proyecto integrador de administracion de tecnologias de informacion cb9105 2013
Proyecto integrador de administracion de tecnologias de informacion cb9105 2013
 
Rm 15b ministério de paulo
Rm 15b   ministério de pauloRm 15b   ministério de paulo
Rm 15b ministério de paulo
 
Control Estadistico De Calidad
Control Estadistico De CalidadControl Estadistico De Calidad
Control Estadistico De Calidad
 
Derechos fundamentales aplus
Derechos fundamentales aplusDerechos fundamentales aplus
Derechos fundamentales aplus
 
O coelhinho que não era de páscoa ee prof.therezina-f.pares-prof.rosane 2012
O coelhinho que não era de páscoa ee prof.therezina-f.pares-prof.rosane 2012O coelhinho que não era de páscoa ee prof.therezina-f.pares-prof.rosane 2012
O coelhinho que não era de páscoa ee prof.therezina-f.pares-prof.rosane 2012
 
Recuperación de desastres cb09104 2013
Recuperación de desastres cb09104 2013Recuperación de desastres cb09104 2013
Recuperación de desastres cb09104 2013
 
Redes industriales
Redes industrialesRedes industriales
Redes industriales
 

Semelhante a Cap03a

Semelhante a Cap03a (18)

RC - SL03 - Camada de Transporte
RC - SL03 - Camada de TransporteRC - SL03 - Camada de Transporte
RC - SL03 - Camada de Transporte
 
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geralDownloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
 
Lista04
Lista04Lista04
Lista04
 
Exercicio parte1
Exercicio parte1Exercicio parte1
Exercicio parte1
 
31283575 protocolos-de-transporte-tcp-e-udp
31283575 protocolos-de-transporte-tcp-e-udp31283575 protocolos-de-transporte-tcp-e-udp
31283575 protocolos-de-transporte-tcp-e-udp
 
Exec 1 resenha
Exec 1 resenhaExec 1 resenha
Exec 1 resenha
 
Exerc1 redescomputadores
Exerc1 redescomputadoresExerc1 redescomputadores
Exerc1 redescomputadores
 
Camadasrede
CamadasredeCamadasrede
Camadasrede
 
Camadas rede
Camadas redeCamadas rede
Camadas rede
 
Palestra Tecredes
Palestra TecredesPalestra Tecredes
Palestra Tecredes
 
Lan
LanLan
Lan
 
C:\Fakepath\Para Blog
C:\Fakepath\Para BlogC:\Fakepath\Para Blog
C:\Fakepath\Para Blog
 
Migração nas Redes Ópticas Passivas
Migração nas Redes Ópticas PassivasMigração nas Redes Ópticas Passivas
Migração nas Redes Ópticas Passivas
 
Lista 1
Lista 1Lista 1
Lista 1
 
Cap01a
Cap01aCap01a
Cap01a
 
artigo (douglas)
artigo (douglas)artigo (douglas)
artigo (douglas)
 
Camadasrede
CamadasredeCamadasrede
Camadasrede
 
Fsi 05 - capitulo 6
Fsi  05 -  capitulo 6Fsi  05 -  capitulo 6
Fsi 05 - capitulo 6
 

Mais de samuelthiago

Interface grafica em_java_parte_v
Interface grafica em_java_parte_vInterface grafica em_java_parte_v
Interface grafica em_java_parte_vsamuelthiago
 
Interface grafica em_java_parte_iv
Interface grafica em_java_parte_ivInterface grafica em_java_parte_iv
Interface grafica em_java_parte_ivsamuelthiago
 
Interface grafica em_java_parte_iii
Interface grafica em_java_parte_iiiInterface grafica em_java_parte_iii
Interface grafica em_java_parte_iiisamuelthiago
 
Interface grafica em_java_parte_ii
Interface grafica em_java_parte_iiInterface grafica em_java_parte_ii
Interface grafica em_java_parte_iisamuelthiago
 
Interface grafica em_java_parte_i
Interface grafica em_java_parte_iInterface grafica em_java_parte_i
Interface grafica em_java_parte_isamuelthiago
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iisamuelthiago
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_jsamuelthiago
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_javasamuelthiago
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_jsamuelthiago
 
01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)samuelthiago
 

Mais de samuelthiago (20)

Eclipse i (1)
Eclipse i (1)Eclipse i (1)
Eclipse i (1)
 
Html básico
Html básicoHtml básico
Html básico
 
Interface grafica em_java_parte_v
Interface grafica em_java_parte_vInterface grafica em_java_parte_v
Interface grafica em_java_parte_v
 
Interface grafica em_java_parte_iv
Interface grafica em_java_parte_ivInterface grafica em_java_parte_iv
Interface grafica em_java_parte_iv
 
Interface grafica em_java_parte_iii
Interface grafica em_java_parte_iiiInterface grafica em_java_parte_iii
Interface grafica em_java_parte_iii
 
Interface grafica em_java_parte_ii
Interface grafica em_java_parte_iiInterface grafica em_java_parte_ii
Interface grafica em_java_parte_ii
 
Interface grafica em_java_parte_i
Interface grafica em_java_parte_iInterface grafica em_java_parte_i
Interface grafica em_java_parte_i
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_ii
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_java
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
 
01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)
 
Java 08
Java 08Java 08
Java 08
 
Java 07
Java 07Java 07
Java 07
 
Java 06
Java 06Java 06
Java 06
 
Java 05
Java 05Java 05
Java 05
 
Java 04
Java 04Java 04
Java 04
 
Java 03
Java 03Java 03
Java 03
 
Java 02
Java 02Java 02
Java 02
 
Java 01
Java 01Java 01
Java 01
 

Cap03a

  • 1. Capítulo 3: Camada de Transporte Objetivos do Capítulo: Resumo do Capítulo: • entender os princípios por trás • serviços da camada de transporte dos serviços da camada de • multiplexação/demultiplexação transporte: • transporte sem conexão: UDP – multiplexação/demultiplexação • princípios de transferência confiável de – transferência de dados dados confiável • transporte orientado à conexão: TCP – controle de fluxo – transferência confiável – controle de congestionamento – controle de fluxo • instanciação e implementação – gerenciamento de conexão na Internet • princípios de controle de congestionamento • controle de congesetionamento do TCP
  • 2. Protocolos e Serviços de Transporte • Fornecem comunicação lógicas entre aplicação transporte processos de aplicação em diferentes eerede enlace hosts física rede enlace tr • Os protocolos de transporte são rede física an enlace sp executados nos sistemas finais da rede física or rede t • serviço de transporte vs serviços de enlace e ló física rede gi rede : enlace co física fi • camada de rede: transferência de m rede -a dados entre computadores (end enlace -fi física m systems) • camada de transporte: transferência aplicação transporte de dados entre processos rede enlace – utiliza e aprimora os serviços física oferecidos pela camada de rede
  • 3. Protocolos da Camada de Transporte Serviços de Transporte da Internet: application transporte rede • confiável, seqüencial e unicast enlace rede física (TCP) enlace tr rede física an – congestão enlace sp física or – controle de fluxo rede t enlace e ló física rede – orientado à conexão gi enlace co física • não confiável (“best-effort”), não fi m rede -a seqüencial, entrega unicast or enlace - física fi m multicast : UDP application • serviços não disponíveis: transporte rede – tempo-real enlace física – garantia de banda – multicast confiável
  • 4. Multiplexação de Aplicações Segmento - unidade de dados trocada Demultiplexação: entrega de entre entidades da camada de segmentos recebidos aos transporte processos de aplicação corretos – TPDU: transport protocol data unit (unidade de dados do protocolo de transporte) receptor P3 P4 dados da camada M M de aplicação aplicação cabeçalho do P1 transporte P2 segmento M M rede aplicação aplicação segmento Ht M transporte transporte Hn segmento rede rede
  • 5. Multiplexação de Aplicações Multiplexação: reunir dados de múltiplos 32 bits processo de aplicação, juntar cabeçalhos com informações porta origem porta destino para demultiplexação outros campos de cabeçalho multiplexação/demultiplexação: • baseada nos número de porta do transmissor, número de porta do dados de aplicação receptor e endereços IP (mensagem) – números de porta origem e destino em cada segmento – lembre: portas com números bem-conhecidos são usadas formato do segmento TCP/UDP para aplicações específicas
  • 6. Multiplexação: exemplos porta origem: x cliente Web host A porta dest.: 23 servidor B host C porta origem:23 port dest.: x IP Origem: C IP Origem: C IP Dest: B IP Dest: B porta origem: y porta origem: x aplicação Telnet porta dest.: 80 porta dest.: 80 IP Origem: A IP Dest: B Servidor cliente Web porta origem : x Web B host A porta dest.: 80 aplicação: servidor Web
  • 7. UDP: User Datagram Protocol [RFC 768] • protocolo de transporte da Internet “sem gorduras” “sem Porque existe um UDP? frescuras” • não há estabelecimento de • serviço “best effort” , segmentos conexão (que pode redundar em UDP podem ser: atrasos) – perdidos • simples: não há estado de conexão – entregues fora de ordem nem no transmissor, nem no receptor para a aplicação • cabeçalho de segmento reduzido • sem conexão: • não há controle de congestionamento: – não há apresentação entre o UDP pode enviar segmentos tão UDP transmissor e o rápido quanto desejado (e possível) receptor – cada segmento UDP é tratado de forma independente dos outros
  • 8. Mais sobre UDP • muito usado por aplicações de mutimídia contínua (streaming) 32 bits – tolerantes à perda Tamanho, em porta origem porta destino – sensíveis à taxa bytes do segmento tamanho checksum UDP, incluíndo • outros usos do UDP cabeçalho (porque?): – DNS – SNMP Dados de Aplicação (mensagem) • transferência confiável sobre UDP: acrescentar confiabilidade na camada de aplicação – recuperação de erro específica de cada aplicação formato do segmento UDP
  • 9. UDP checksum Objetivo: detectar “erros” (ex.,bits trocados) no segmento transmitido Transmissor: Receptor: • trata o conteúdo do segmento • computa o checksum do segmento como seqüencia de inteiros de recebido 16 bits • verifica se o checksum calculado é • checksum: soma (complemento igual ao valor do campo checksum: de 1 da soma) do conteúdo do – NÃO - error detectado segmento – SIM - não há erros. Mas, • transmissor coloca o valor do talvez haja erros apesar checksum no campo de checksum do UDP disto? Mais depois ….
  • 10. Princípios de Transferência Confiável de Dados • importante nas camadas de aplicação, transporte e enlace • top-10 na lista dos tópicos mais importants de redes! • caracteristicas dos canais não confiáveis determinarão a complexidade dos protocolos confiáveis de transferência de dados (rdt)
  • 11. Transferência confiável: o ponto de partida rdt_send(): chamada da camada superior, deliver_data(): chamada pela (ex., pela aplicação). Passa dados para entidade de transporte para entregar à camada superior receptora entregar dados para cima lado lado transmissor receptor udt_send(): chamada pela entidade rdt_rcv(): chamada quando o pacote chega de transporte, para transferir pacotes ao lado receptor do canal para o receptor sobre o canal não confiável
  • 12. Transferência confiável: o ponto de partida Etapas: • desenvolver incrementalmente o transmissor e o receptor de um protocolo confiável de transferência de dados (rdt) • considerar apenas transferências de dados unidirecionais – mas informação de controle deve fluir em ambas as direções! • usar máquinas de estados finitos (FSM) para especificar o protocolo transmissor e o receptor evento causando transição de estados ações tomadas na transição de estado estado: quando neste “estado” o próximo estado fica estado estado 1 evento unicamente determinado 2 pelo próximo evento ações
  • 13. Rdt1.0: transferência confiável sobre canais confiáveis • canal de transmissão perfeitamente confiável – não há erros de bits – não há perdas de pacotes • FSMs separadas para transmissor e receptor: – transmissor envia dados para o canal subjacente – receptor lê os dados do canal subjacente
  • 14. Rdt2.0: canal com erros de bit • canal subjacente pode trocar valores dos bits num pacote – lembrete: checksum do UDP pode detectar erros de bits • a questão: como recuperar esses erros: – reconhecimentos (ACKs): receptor avisa explicitamente ao transmissor que o pacote foi recebido corretamente – reconhecimentos negativos (NAKs): receptor avisa explicitamente ao transmissor que o pacote tem erros – transmissor reenvia o pacote quando da recepção de um NAK – cenários humanos usando ACKs, NAKs? • novos mecanismos no rdt2.0 (além do rdt1.0): – deteção de erros – retorno do receptor: mensagens de controle (ACK,NAK) rcvr->sender
  • 15. rdt2.0: especificação da FSM FSM do transmissor FSM do receptor
  • 16. rdt2.0: em ação (ausência de erros) FSM do transmissor FSM do receptor
  • 17. rdt2.0: em ação (cenário com erros) FSM do transmissor FSM do receptor
  • 18. rdt2.0 tem um problema fatal! O que acontece se o ACK/NAK é Tratando duplicatas: corrompido? • transmissor acrescenta número de • transmissor não sabe o que seqüência em cada pacote aconteceu no receptor! • Transmissor reenvia o último • não pode apenas retransmitir: pacote se f ACK/NAK for perdido possível duplicata • receptor descarta (não passa para a aplicação) pacotes duplicados O que fazer? • Transmissor envia ACKs/NAKs para reconhecer os ACK/NAK do stop and wait receptor? O que acontece se estes Transmissor envia um pacote ACK/NAK se perdem? e então espera pela resposta • retransmitir os ACK/NAK, mas do receptor isto poderia causar a retransmissão de um pacote recebido corretamente!
  • 19. rdt2.1: transmissor, trata ACK/NAKs perdidos
  • 20. rdt2.1: receptor, trata ACK/NAKs perdidos
  • 21. rdt2.1: discusssão Transmissor: Receptor: • adiciona número de seqüência • deve verificar se o pacote ao pacote recebido é duplicado • Dois números (0 e 1) bastam. Porque? – estado indica se o pacote 0 ou 1 é esperado • deve verificar se os ACK/NAK recebidos estão corrompidos • nota: receptor pode não • duas vezes o número de estados saber se seu últino – o estado deve “lembrar” se o ACK/NAK foi recebido pacote “corrente” tem número pelo transmissor de seqüência 0 ou 1
  • 22. rdt2.2: um protocolo sem NAK • mesma funcionalidade do rdt2.1, usando somente ACKs • ao invés de enviar NAK, o receptor envia ACK para o último pacote recebido sem erro – receptor deve incluir explicitamente o número de seqüência do pacote sendo reconhecido • ACKs duplicados no ! transmissor resultam na mesma ação do NAK: retransmição do FSM do pacote corrente transmissor
  • 23. rdt3.0: canais com erros e perdas Nova Hipótese: canal de Abordagem: transmissor espera transmissão pode também um tempo “razoável” pelo perder pacotes (dados oo ACK ACKs) • retransmite se nenhum ACK for recebido neste tempo – checksum, números de seqüência, ACKs, • se o pacote (ou ACK) estiver retransmissões serão de apenas atrasado (não perdido): ajuda, mas não o bastante – retransmissão será duplicata, mas os números de seqüência Q: como tratar com perdas? já tratam com isso – transmissor espera até que – receptor deve especificar o certos dados ou ACKs número de seqüência do sejam perdidos, então pacote sendo reconhecido retransmite • exige um temporizador – problemas? decrescente
  • 25. rdt3.0 em ação (a) operação sem perda (b) pacote perdido
  • 26. rdt3.0 em ação (c) ACK perdido (d) timeout prematuro
  • 27. Desempenho do rdt3.0 • rdt3.0 funciona, mas o desempenho é sofrível • exemplo: enlace de 1 Gbps, 15 ms de atraso de propagação, pacotes de 1KB: 8kb/pct transmissão = = 8 µs 10**9 b/seg fração do tempo 8 µs Utilização = U = transmissor ocupado = = 0.00015 30,016 ms – Um pacote de 1KB cada 30 ms -> 33kB/seg de vazão sobre um canal de 1 Gbps – o protocolo de rede limita o uso dos recursos físicos!
  • 28. Protocolos com Paralelismo (pipelining) Paralelismo: transmissor envia vários pacotes ao mesmo tempo, todos esperando para serem reconhecidos – faixa de números de seqüência deve ser aumentada – armazenamento no transmissor e/ou no receptor (a) operação do protocolo stop-and-wait (a) operação do protocolo com paralelismo • Duas formas genéricas de protocolos com paralelismo: go- Back-N, retransmissão seletiva
  • 29. Go-Back-N Transmissor: • Número de seqüência com k bits no cabeçalho do pacote • “janela” de até N, pacotes não reconhecidos, consecutivos, são permitidos • ACK(n): reconhece todos os pacotes até o número de seqüência N (incluindo este limite). “ACK cumulativo” – pode receber ACKS duplicados (veja receptor) • temporizador para cada pacote enviado e não confirmado • timeout(n): retransmite pacote n e todos os pacotes com número de seqüência maior que estejam dentro da janela
  • 30. GBN: FSM estendida para o transmissor
  • 31. GBN: FSM estendida para o receptor receptor simples: • somente ACK: sempre envia ACK para pacotes corretamente recebidos com o mais alto número de seqüência em ordem – pode gerar ACKs duplicados – precisa lembrar apenas do número de seqüência esperado (expectedseqnum) • pacotes fora de ordem: – descarte (não armazena) -> não há buffer de recepção! – reconhece pacote com o mais alto número de seqüência em ordem
  • 33. Retransmissão Seletiva • receptor reconhece individualmente todos os pacotes recebidos corretamente – armazena pacotes, quando necessário, para eventual entrega em ordem para a camada superior • transmissor somente reenvia os pacotes para os quais um ACK não foi recebido – transmissor temporiza cada pacote não reconhecido • janela de transmissão – N números de seqüência consecutivos – novamente limita a quantidade de pacotes enviados, mas não reconhecidos
  • 34. Retransmissão seletiva: janelas do transmissor e do receptor (a) visão dos números de seqüência pelo transmissor (b) visão dos números de seqüência pelo receptor
  • 35. Retransmissão seletiva transmissor receptor dados da camada superior : pacote n em [rcvbase, rcvbase+N-1] • se o próximo número de seqüência • envia ACK(n) disponível está na janela, envia o • fora de ordem: armazena pacote • em ordem: entrega (também timeout(n): entrega pacotes armazenados • reenvia pacote n, em ordem), avança janela para restart timer o próximo pacote ainda não ACK(n) em [sendbase,sendbase+N]: recebido • marca pacote n como recebido pkt n em [rcvbase-N,rcvbase-1] • se n é o menor pacote não reconhecido, avança a base da • ACK(n) janela para o próximo número de caso contrário: seqüência não reconhecido • ignora
  • 37. Retransmissão seletiva: dilema Exemplo: • seqüências: 0, 1, 2, 3 • tamanho da janela=3 • receptor não vê diferença nos dois cenários! • incorretamente passa dados duplicados como novos (figura a) Q: qual a relação entre o espaço de numeração seqüencial e o tamanho da janela?