Camada de Transporte - TCP
• Este capítulo aborda os seguintes assuntos:
• As funções da camada de transporte TCP/IP.
• Controle de fluxo e os processos de estabelecimento de
conexão.
• Processo de janelamento (Windowing) e de Confirmação
(ACK).
• Os protocolos da camada de transporte.
• O formato dos cabeçalhos: TCP e UDP.
• Os números de portas: TCP e UDP.
Introdução à Camada de Transporte
• As duas funções principais da camada de transporte TCP/IP
são:
• Transportar e regular o fluxo de informações da origem até
o destino (fim-a-fim), de forma confiável e precisa.
O controle do fluxo de informações e a confiabilidade são
proporcionados:
• Pelas janelas deslizantes ou sliding windows.
• Pelos números de seqüência ou sequence numbers
(número do octeto enviado pelo host de origem).
• Pelos números de confirmações ou acknowledgment
numbers (próximo octeto TCP esperado pelo host de
destino).
Controle de Fluxo
• Evita que um host transmissor sobrecarregue os buffers de um
host receptor.
• Os dois hosts estabelecem uma taxa de transferência de
dados satisfatória para ambos, principalmente para o
receptor.
Métodos de conexão TCP
• Os serviços orientados para conexão envolvem três fases:
• Fase de estabelecimento da conexão - um único caminho
entre a origem e o destino é determinado.
• Os recursos são normalmente reservados nesse
momento para garantir um nível consistente de serviço.
• Fase de transferência de dados - os dados são transmitidos
em seqüência pelo caminho estabelecido, chegando ao
destino na ordem em que foram enviados.
• Fase de encerramento da conexão - consiste em encerrar a
conexão entre a origem e o destino quando ela não é mais
necessária.
Métodos de Conexão TCP
• Os hosts TCP estabelecem uma sessão orientada para
conexão com os outros hosts usando um handshake triplo.
• Uma seqüência de handshake triplo/conexão aberta
sincroniza a conexão nas duas extremidades antes dos dados
serem transferidos.
• A troca de números de sequência de introdução, durante a
seqüência de conexão, é importante.
• Ela garante que dados perdidos, devido a problemas de
transmissão, possam ser recuperados ou retransmitidos.
Métodosde conexão TCP Three-way-handshake
• Inicialmente, um host inicia uma conexão pelo envio de
um pacote indicando seu número de seqüência inicial x
com um bit no cabeçalho (CODE) definido para indicar um
pedido de conexão.
• Em seguida, o outro host recebe o pacote, grava o
número de seqüência x, responde com uma confirmação
x + 1 e inclui seu próprio número de seqüência inicial y.
• O número de confirmação x + 1 significa que o host
recebeu todos os octetos até x, inclusive, e que está
esperando x + 1 em seguida.
Handshake Triplo
• Para que uma conexão seja estabelecida, os dois hosts devem
sincronizar seus Initial Sequence Numbers (ISNs).
• Esta sincronização requer que cada lado envie seu próprio ISN e receba
uma confirmação (ACK) da troca enviada pelo outro lado.
Confirmação TCP
• A confirmação positiva (Positive Ack) com retransmissão é uma
técnica que garante a entrega confiável de dados.
• O remetente mantém um registro de cada pacote enviado e
espera uma confirmação.
• Ele aciona um timer quando envia um segmento e irá
retransmitir um segmento, se o timer expirar antes que
chegue uma confirmação.
Retransmissão de Segmentos
Sliding window- Janela móvelTCP
• O tamanho da janela determina a quantidade de dados que
pode ser transmitida de uma vez antes de ser recebida uma
confirmação do destino.
• Quanto maior o tamanho da janela (bytes), maior a
quantidade de dados que o host de destino pode receber e
processar estes dados.
• Depois que um host transmite o número de bytes da janela
dimensionada, ele tem de receber uma confirmação de que
os dados foram recebidos antes de poder enviar mais dados.
• Por exemplo, com um tamanho de janela 1, cada segmento
individual (1) tem de ser confirmado antes que o próximo
segmento possa ser enviado.
Janela Móvel = 1
SlidingWindowe Confirmação
• O TCP usa confirmações de espera, o que significa que o
número da confirmação se refere ao octeto que é esperado
em seguida.
• A parte "móvel", de janela móvel, refere-se ao fato de que
o tamanho da janela é negociado dinamicamente durante a
sessão TCP.
• Isso resulta em uso eficiente da largura de banda pelos
hosts.
• A confirmação positiva e retransmissão, ou PAR (Positive
Acknowledgment and Retransmission).
SlidingWindow– JanelaMóvel
• Por exemplo, com um tamanho de janela três, o dispositivo
de origem pode enviar três octetos ao destino.
• Ele deve então aguardar uma confirmação. Se o destino
receber os três octetos, ele enviará uma confirmação ao
dispositivo de origem, que poderá então transmitir mais três
octetos.
• Se, por algum motivo, o destino não receber os três octetos,
por exemplo, devido à sobrecarga de buffers, ele não enviará
uma confirmação.
• Por não receber a confirmação, a origem saberá que os
octetos deverão ser retransmitidos e que a taxa de
transmissão deverá ser diminuída.
Janelamóvel=3
Sliding Windows– Janela móvel
Transmission Control Protocol - TCP
• Funcionalidades do TCP:
• Protocolo da camada 4 do modelo OSI.
• Fornece um circuito virtual entre aplicações do usuário
final.
• Orientado a conexão.
• Confiável.
• Divide as mensagens enviadas em segmentos.
• Reenvia tudo o que não foi recebido.
• Reagrupa as mensagens a partir de segmentos recebidos.
• Os protocolos que usam o TCP incluem:
• FTP, HTTP, SMTP e Telnet.
Formato do Segmento TCP
• Definições dos campos do segmento TCP:
• Porta de origem: número da porta do host de origem.
• Porta de destino: número da porta do host de destino.
• Número de seqüência: número usado para garantir a
seqüência correta dos dados que estão chegando.
• Número de confirmação: próximo octeto TCP esperado.
• HLEN: tamanho do cabeçalho (palavras de 32 bits).
• Reservado: definido como zero.
• Bits de código: funções de controle, como: configuração e
término de uma sessão.
Formato do Segmento TCP
• Janela: número de octetos que o remetente pode aceitar.
• Checksum: cálculo de verificação da integridade do
segmento.
• Urgent Pointer: indica o final dos dados urgentes.
• Opção: uma opção atualmente definida: tamanho máximo do
segmento TCP.
• Dados: dados de protocolo de camada superior.
User Datagram Protocol - UDP
• Funcionalidades do UDP:
• Não é orientado a conexão.
• Troca de datagramas.
• Não possui confirmação ou entrega garantida.
• Não usa janelamento.
• Protocolos da camada superior que fornecem suporte.
• Os protocolos que utilizam o UDP incluem:
• TFTP, DHCP, SNMP, DNS.
Formato do Datagrama UDP
• Porta de origem: número da porta chamadora.
• Porta de destino: número da porta chamada.
• Comprimento: tamanho do cabeçalho + dados, em bytes.
• Checksum: cálculo de verificação da integridade do segmento.
• Dados: dados de protocolo de camada superior.
Números de Portas
• Tanto o TCP quanto o UDP usam números de portas para
passar as informações às camadas superiores.
• Eles são usados para manter o registro de diferentes
conversações que cruzam a rede ao mesmo tempo.
• Os números de portas são especificados como:
• Números abaixo de 255: utilizados para aplicações públicas.
• Números de 255 a 1023: atribuídos para aplicações
comerciais.
• Números acima de 1024: não são regulamentados.
• Os números de portas conhecidos estão definidos no
RFC1700.
Números de Portas
• Os hosts finais usam números de portas para selecionar a
aplicação correta.
• O host de origem atribui dinamicamente números de porta
gerados na própria origem. Esses números são sempre
superiores a 1024.

Rc2 camada tcp camada 4 osi

  • 1.
    Camada de Transporte- TCP • Este capítulo aborda os seguintes assuntos: • As funções da camada de transporte TCP/IP. • Controle de fluxo e os processos de estabelecimento de conexão. • Processo de janelamento (Windowing) e de Confirmação (ACK). • Os protocolos da camada de transporte. • O formato dos cabeçalhos: TCP e UDP. • Os números de portas: TCP e UDP.
  • 2.
    Introdução à Camadade Transporte • As duas funções principais da camada de transporte TCP/IP são: • Transportar e regular o fluxo de informações da origem até o destino (fim-a-fim), de forma confiável e precisa. O controle do fluxo de informações e a confiabilidade são proporcionados: • Pelas janelas deslizantes ou sliding windows. • Pelos números de seqüência ou sequence numbers (número do octeto enviado pelo host de origem). • Pelos números de confirmações ou acknowledgment numbers (próximo octeto TCP esperado pelo host de destino).
  • 3.
    Controle de Fluxo •Evita que um host transmissor sobrecarregue os buffers de um host receptor. • Os dois hosts estabelecem uma taxa de transferência de dados satisfatória para ambos, principalmente para o receptor.
  • 4.
    Métodos de conexãoTCP • Os serviços orientados para conexão envolvem três fases: • Fase de estabelecimento da conexão - um único caminho entre a origem e o destino é determinado. • Os recursos são normalmente reservados nesse momento para garantir um nível consistente de serviço. • Fase de transferência de dados - os dados são transmitidos em seqüência pelo caminho estabelecido, chegando ao destino na ordem em que foram enviados. • Fase de encerramento da conexão - consiste em encerrar a conexão entre a origem e o destino quando ela não é mais necessária.
  • 5.
    Métodos de ConexãoTCP • Os hosts TCP estabelecem uma sessão orientada para conexão com os outros hosts usando um handshake triplo. • Uma seqüência de handshake triplo/conexão aberta sincroniza a conexão nas duas extremidades antes dos dados serem transferidos. • A troca de números de sequência de introdução, durante a seqüência de conexão, é importante. • Ela garante que dados perdidos, devido a problemas de transmissão, possam ser recuperados ou retransmitidos.
  • 6.
    Métodosde conexão TCPThree-way-handshake • Inicialmente, um host inicia uma conexão pelo envio de um pacote indicando seu número de seqüência inicial x com um bit no cabeçalho (CODE) definido para indicar um pedido de conexão. • Em seguida, o outro host recebe o pacote, grava o número de seqüência x, responde com uma confirmação x + 1 e inclui seu próprio número de seqüência inicial y. • O número de confirmação x + 1 significa que o host recebeu todos os octetos até x, inclusive, e que está esperando x + 1 em seguida.
  • 7.
    Handshake Triplo • Paraque uma conexão seja estabelecida, os dois hosts devem sincronizar seus Initial Sequence Numbers (ISNs). • Esta sincronização requer que cada lado envie seu próprio ISN e receba uma confirmação (ACK) da troca enviada pelo outro lado.
  • 8.
    Confirmação TCP • Aconfirmação positiva (Positive Ack) com retransmissão é uma técnica que garante a entrega confiável de dados. • O remetente mantém um registro de cada pacote enviado e espera uma confirmação. • Ele aciona um timer quando envia um segmento e irá retransmitir um segmento, se o timer expirar antes que chegue uma confirmação.
  • 9.
  • 10.
    Sliding window- JanelamóvelTCP • O tamanho da janela determina a quantidade de dados que pode ser transmitida de uma vez antes de ser recebida uma confirmação do destino. • Quanto maior o tamanho da janela (bytes), maior a quantidade de dados que o host de destino pode receber e processar estes dados. • Depois que um host transmite o número de bytes da janela dimensionada, ele tem de receber uma confirmação de que os dados foram recebidos antes de poder enviar mais dados. • Por exemplo, com um tamanho de janela 1, cada segmento individual (1) tem de ser confirmado antes que o próximo segmento possa ser enviado.
  • 11.
  • 12.
    SlidingWindowe Confirmação • OTCP usa confirmações de espera, o que significa que o número da confirmação se refere ao octeto que é esperado em seguida. • A parte "móvel", de janela móvel, refere-se ao fato de que o tamanho da janela é negociado dinamicamente durante a sessão TCP. • Isso resulta em uso eficiente da largura de banda pelos hosts. • A confirmação positiva e retransmissão, ou PAR (Positive Acknowledgment and Retransmission).
  • 13.
    SlidingWindow– JanelaMóvel • Porexemplo, com um tamanho de janela três, o dispositivo de origem pode enviar três octetos ao destino. • Ele deve então aguardar uma confirmação. Se o destino receber os três octetos, ele enviará uma confirmação ao dispositivo de origem, que poderá então transmitir mais três octetos. • Se, por algum motivo, o destino não receber os três octetos, por exemplo, devido à sobrecarga de buffers, ele não enviará uma confirmação. • Por não receber a confirmação, a origem saberá que os octetos deverão ser retransmitidos e que a taxa de transmissão deverá ser diminuída.
  • 14.
  • 15.
  • 16.
    Transmission Control Protocol- TCP • Funcionalidades do TCP: • Protocolo da camada 4 do modelo OSI. • Fornece um circuito virtual entre aplicações do usuário final. • Orientado a conexão. • Confiável. • Divide as mensagens enviadas em segmentos. • Reenvia tudo o que não foi recebido. • Reagrupa as mensagens a partir de segmentos recebidos. • Os protocolos que usam o TCP incluem: • FTP, HTTP, SMTP e Telnet.
  • 17.
    Formato do SegmentoTCP • Definições dos campos do segmento TCP: • Porta de origem: número da porta do host de origem. • Porta de destino: número da porta do host de destino. • Número de seqüência: número usado para garantir a seqüência correta dos dados que estão chegando. • Número de confirmação: próximo octeto TCP esperado. • HLEN: tamanho do cabeçalho (palavras de 32 bits). • Reservado: definido como zero. • Bits de código: funções de controle, como: configuração e término de uma sessão.
  • 18.
    Formato do SegmentoTCP • Janela: número de octetos que o remetente pode aceitar. • Checksum: cálculo de verificação da integridade do segmento. • Urgent Pointer: indica o final dos dados urgentes. • Opção: uma opção atualmente definida: tamanho máximo do segmento TCP. • Dados: dados de protocolo de camada superior.
  • 19.
    User Datagram Protocol- UDP • Funcionalidades do UDP: • Não é orientado a conexão. • Troca de datagramas. • Não possui confirmação ou entrega garantida. • Não usa janelamento. • Protocolos da camada superior que fornecem suporte. • Os protocolos que utilizam o UDP incluem: • TFTP, DHCP, SNMP, DNS.
  • 20.
    Formato do DatagramaUDP • Porta de origem: número da porta chamadora. • Porta de destino: número da porta chamada. • Comprimento: tamanho do cabeçalho + dados, em bytes. • Checksum: cálculo de verificação da integridade do segmento. • Dados: dados de protocolo de camada superior.
  • 21.
    Números de Portas •Tanto o TCP quanto o UDP usam números de portas para passar as informações às camadas superiores. • Eles são usados para manter o registro de diferentes conversações que cruzam a rede ao mesmo tempo. • Os números de portas são especificados como: • Números abaixo de 255: utilizados para aplicações públicas. • Números de 255 a 1023: atribuídos para aplicações comerciais. • Números acima de 1024: não são regulamentados. • Os números de portas conhecidos estão definidos no RFC1700.
  • 22.
    Números de Portas •Os hosts finais usam números de portas para selecionar a aplicação correta. • O host de origem atribui dinamicamente números de porta gerados na própria origem. Esses números são sempre superiores a 1024.