Redes de Computadores - PowerPoint PPT Presentation

About This Presentation
Title:

Redes de Computadores

Description:

Redes de Computadores Transmission Control Protocol - TCP O modelo TCP/IP Comunica o vista pelo TCP Transporte X Data Link Controle de Erros Controle de Fluxo ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 32
Provided by: JoaoBa4
Category:

less

Transcript and Presenter's Notes

Title: Redes de Computadores


1
Redes de Computadores
  • Transmission Control Protocol - TCP

2
O modelo TCP/IP
Aplicativo
TCP,UDP
Transporte
IP
Internet
Interface de Rede
3
Comunicação vista pelo TCP
4
O Serviço de Transporte
  • Recebe dados da camada de aplicativos e os divide
    em unidades menores para a camada internet (IP).
  • multiplexação/demultiplexação
  • Orientado à conexão (ponto a ponto)
  • Controle de Fluxo (congestionamento)
  • Confiabilidade (tratar erros)

5
Transporte X Data Link
  • Controle de Erros
  • Controle de Fluxo
  • Seqüenciamento de Pacotes

6
Roteador
SubRede
Roteador
Host
Host
Meio Físico
a) Ambiente do Data Link b)
Ambiente da camada de transporte
  • Dissimilaridades
  • Endereçamento
  • Conexão
  • Capacidade de armazenamento (buffering)

7
Estabelecendo uma conexão
  • Requisição de conexão conexão aceita
  • Não é tão simples Pacotes
  • perdidos
  • armazenados (por roteadores)
  • duplicados

8
Formato de um segmento TCP
9
De onde vem a confiabiliade ?
  • Técnica de Reconhecimento com Retransmissão
    (Aknowledgement with Retransmission)
  • Receptor comunica-se com emissor enviando uma msg
    ACK (aknowledgement) ao receber dados.
  • Emissor mantém registro de cada pacote enviado e
    mantém um timer p/ retransmissão

10
Reconhecimento c/ retransmissão
Eventos no Emissor
Eventos no Receptor
Msgs na Rede
Envia pacote 1
Recebe Pacote 1 Envia ACK 1
Recebe ACK 1 Envia Pacote 2
Recebe Pacote 2 Envia ACK 2
Recebe ACK 2
11
Pacote perdido ou corrompido
Eventos no Emissor
Eventos no Receptor
Msgs na Rede
Pacote perdido
Envia pacote 1 Inicia Timer
Pacote deveria chegar ACK deveria ser enviado
ACK deveria chegar
Tempo espira
Retransmite Pac. 1 Inicia Timer
Recebe Pacote 1 Envia ACK 1
Recebe ACK 1 Cancela timer
12
Pacotes duplicados
  • Origem de pacotes duplicados
  • Gerados por camadas inferiores de rede
  • Atrasos (delays) na rede
  • Solução
  • Atribuir a cada pacote um nro de seqüência
  • exigir do receptor que lembre qual nro de
    seqüência recebeu

13
Segmentos, Streams e Nros de seqüência
  • TCP enxerga fluxo de dados (data stream)
  • sequência de octetos (bytes)
  • Agrupados em Segmentos
  • Cada segmento viaja dentro de um datagrama IP
  • Transporte utiliza janelas deslizantes
  • melhor eficiência (maior throughput)
  • controle de fluxo (buferização)

14
Janelas Deslizantes
  • No TCP, as janelas deslizantes operam ao nível de
    octetos (não segmentos ou pacotes)
  • Octetos são numerados seqüencialmente
  • conceitualmente, a cada octeto é atribuído um nro
    de seqüência.
  • Emissor mantém 3 ponteiros sobre a janela para
    cada conexão.

15
Janela Deslizante
1 2 3 4 5 6 7 8 9 10 11 ...
Somente enviados após movimentação da janela
Octetos enviados e reconhecidos
Octetos não enviados mas que serão sem delay
Octetos enviados e não reconhecidos
16
Three-way handshake
  • Procedimento usado para estabelecer conexão
  • normalmente iniciado por um TCP e atendido por
    outro TCP
  • Por que 3?
  • a escolha do nro inicial de seqüência (ISN) não
    está atrelada a um clock global de rede.

17
Handshake abrindo conexão
Eventos no Emissor
Eventos no Receptor
Msgs na Rede
Envia SYN seq x
Recebe segmento SYN Envia SYN seq y, ACK x 1
Recebe SYN ACK Envia ACK y 1
Recebe ACK
Obs Se SYN está presente nro de seqüência é
ISN O primeiro octeto de dados será
ISN1.
18
Seleção do 1º nro de sequência (ISN)
  • Aleatório clock fictício de 32 bits incrementado
    a cada 4 microsegundos
  • ciclo de 4.55 horas
  • tempo máximo de vida de um segmento (MSL) lt 4,55
  • ISN será único.

19
Conexão antiga
TCP A

TCP B 1. FECHADA
LISTEN 2.
SYN-ENV. --gt ltSEQ100gtltCTLSYNgt
... 3. (duplicate) ... ltSEQ90gtltCTLSYNgt
--gt SYN-RECEB. 4. SYN-ENV. lt--
ltSEQ300gtltACK91gtltCTLSYN,ACKgt lt--
SYN-RECEIVED 5. SYN-ENV. --gt
ltSEQ91gtltCTLRSTgt --gt LISTEN 6.
... ltSEQ100gtltCTLSYNgt
--gt SYN-RECEB. 7. SYN-ENV. lt--
ltSEQ400gtltACK101gtltCTLSYN,ACKgt lt-- SYN-RECEB.
8. ESTAB. --gt ltSEQ101gtltACK401gtltCTLACKgt
--gt ESTAB.
20
Fechando uma conexão
  • Conexão TCP full duplex
  • contém 2 streams independentes de dados
  • O TCP que recebe pedido de fechamento, passa a
    não aceitar mais dados
  • O TCP que iniciou o fechamento, pode ainda
    receber dados.

21
Fechando conexão
Eventos no Emissor
Eventos no Receptor
Msgs na Rede
Aplicativo fecha conexão Envia FIN seq x
Recebe segmento SYN Envia ACK x 1 (informa
aplicativo)
Recebe ACK
Aplicativo fecha conexão Envia FIN seq y, ACK x
1
Recebe SYN ACK Envia ACK y 1
Recebe ACK
22
O que é uma janela ?Controle de Congestão
  • Janela enviada em cada segmento indica faixa de
    nro de sequências que o emissor da janela está
    preparado para receber.
  • Tam. relacionado ao buffer da conexão

23
(No Transcript)
24
Emissor
Receptor
0
4K
Aplicativo passa 2K
vazio
2K seq0
2K
ACK2048 WIN2048
Aplicativo passa 2K
2K seq2048
cheio
Emissor bloqueado
ACK4096 WIN0
Aplicativo lê 2K
ACK4096 WIN2048
2K
Emissor pode env. 2K
1K seq4096
2K
1K
25
Observações
  • Emissor não tem que transmitir assim que dados
    chegam do aplicativo
  • Receptor não tem que retransmitir ACKs
    imediatamente. (pode esperar o buffer encher)

26
Formato de um segmento TCP
27
Tamanho máximo segmento
  • Header TCP 20 bytes
  • Header IP 20 bytes
  • Max
  • 65535 - 20 - 20 65495 bytes de dados

28
Conteúdo do Segmento 1
  • Sequence Number nro do primeiro octeto no
    segmento (exceto SYN)
  • Aknowledgement nro do octeto que o emissor
    espera receber.
  • Hlen comprimento do cabeçalho
  • Reserved não usado (projeto bem feito!)

29
Conteúdo do Segmento 2
  • Code Bits propósito/objetivo do segmento

U R G
A C K
P S H
R S T
S Y N
F I N
  • URG indica dado urgente sendo transmitido
  • ACK Se 0, desprezar nro de aknowledgement
  • PSH transmite segmento sem bufferizar
  • RST resetar conexão (queda do host, rejeitar
    segmento)

30
Code Bits 2.1
  • URG indica dado urgente sendo transmitido
  • ACK Se 0, desprezar nro de aknowledgement
  • PSH transmite segmento sem bufferizar
  • RST resetar conexão (queda do host, rejeitar
    segmento)
  • SYN estabelecer conexões (SYN1)
  • FIN liberar uma conexão
  • SYN e FIN tem nros de sequência.

31
Conteúdo do Segmento 3
  • Window quantos octetos podem ser mandados
    começando a partir do byte no campo
    aknowledgement number.
  • window 0 receptor precisa de descanso.
  • Checksum cabeçalhodados
  • Options funções extras
  • Especificar valor inicial da janela
  • se ausente, usar default (53620556 octetos)
Write a Comment
User Comments (0)
About PowerShow.com