Transmission Control Protocol TCP

Slides:



Advertisements
Apresentações semelhantes
Capítulo 3: Camada de Transporte
Advertisements

Família tcp/ip Prof: Diovani Milhorim
Bruno Rafael de Oliveira Rodrigues
Administração e Projeto de Redes
Redes I Os Protocolos Prof. Dr. Amine BERQIA
FEUPDEECRedes de Computadores, 4º Ano de EEC, ramo de ACI TCP (Transmission Control Protocol) Abril, 98Isidro Vila Verde 1 Aspectos Gerais.
Protocolos de Transporte da Pilha TCP/IP
Protocolos de Transporte da Pilha TCP/IP Profa. Ana Cristina Benso da Silva Redes de Computadores.
1 Camada de redes: Interoperabilidade com IP. 2 Enlaces entre duas máquinas.
URL: Redes Prof. Edgard Jamhour URL:
Capítulo 3: Camada de Transporte
Interação Cliente Servidor
TCP Serviço de Transporte Confiável
Paulo Roberto Freire Cunha
Comutação Comutação ou chaveamento em uma rede de comunicação refere-se a alocação de recursos da rede (meios de transmissão e equipamentos) para a envio.
Obtenção de IP TCP UDP.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
REVISÃO MÓDULO 3(Camada de Transporte)
TCP (Transmission Control Protocol)
PROTOCOLOS DE COMUNICAÇÃO
CCNA 1 – Camadas de Transporte e de Aplicação do TCP/IP
Escola Secundária Filipa de Vilhena Ano Lectivo 2010/ Turma IGR1
REDES DE COMPUTADORES II
Software de Rede Willamys Araújo.
Modelo de referência OSI
CCNA Exploration Camada de Rede OSI.
Interconexão e Transporte em Redes
Disciplina: Princípios de Redes de Computadores Parte 3
URI - Santo Ângelo - DECC
URI - Santo Ângelo - DECC
Redes Aula 7 Professor: Marcelo Maia.
Camada de Transporte OSI
IC II - Prof. Msc. Allan K. Luizi - UNEMAT
Aula 64 – TEC 11ºF Redes de computadores Prof. António dos Anjos.
Camada de Transporte prof. Eduardo.
Comunicação entre Processos - Sockets. Conceitos Básicos Sockets são uma forma de IPC ( InterProcess Communication ) fornecida pela 4.3 BSD que fornecem.
Transmission Control Protocol TCP
Comunicação de dados Protocolos básicos de enlace de dados.
Protocolos de Janela Deslizante
Segurança e Auditoria de Sistemas
ARQUITECTURA TCP/IP.
TCP Conexão Fiabilidade Full Duplex Entrega ordenada Controlo de fluxo
Escola Secundaria Sebastião da Gama Trabalho realizado por: André Santos 12ºL nº:2 Prof: Carlos Pereira.
Módulo 3 Implantação do IPv6.
REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.
Camada de Transporte: protocolo TCP Parte 1
MODELO DE REFERÊNCIA TCP/IP
Transmissão de Dados O Modelo de Referência TCP/IP
Protocolo TCP e UDP Ricardo Costa Nº 10 12ºL.
Escola Politécnica da USP abril de 2013 PTC 2550 – Redes de Comunicação De Dados e P1 Transporte Multimídia PTC 2550 – Redes de Comunicação De Dados e.
Disciplina de: Comunicação de Dados Professor: Carlos Pereira Trabalho Realizado por: João Santos.
Disciplina: Comunicação de Dados Ricardo Bento 12ºL.
Arquitectura tcp. Camada tcp Ao contrário do protocolo UDP, o TCP representa um grande incremento de qualidade relativamente ao protocolo IP que lhe serve.
Arquitetura de Redes de Computadores – Luiz Paulo Maia Camada de Transporte1 Arquitetura de Redes de Computadores Luiz Paulo Maia Camada de Transporte.
1) A camada de transporte provê comunicação lógica entre hosts.
Introdução à camada de rede
Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA
Arquitetura TCP/IP Aplicação Transporte Rede Enlace Física.
TCP È um dos protocolos sob os quais assenta o núcleo da Internet nos dias de hoje. A versatilidade e robustez deste protocolo tornaram adequado para.
Infraestrutura de Redes
Trabalho elaborado por: -Daniel Nº26 -André Nº3. * A camada de rede do modelo OSI é responsável por controlar a operação da rede de um modo geral. As.
Escola Politécnica da USP abril de 2013 PTC 2550 – Redes de Comunicação De Dados e P1 Transporte Multimídia PTC 2550 – Redes de Comunicação De Dados e.
Modelo de Referência TCP/IP Camada de Enlace de Dados
Rede de Computadores MAT164 – Redes de Computadores I Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação.
Administração e Projeto de Redes Material de apoio Camada de Transporte Cap.4 10/02/2010.
Redes de computadores e a Internet
Arquitetura em Camadas
Prof. Ivair Teixeira Redes de Computadores.
Camada 4 A Camada de Transporte
Escola de Ciência e Tecnologia Arquitetura TCP/IP Arquitetura TCP/IP Protocolos TCP, UDP e ICMP Etienne César R. de Oliveira
Transcrição da apresentação:

Transmission Control Protocol TCP Introdução, apresentação em três vias, Campos do protocolo e estados da conexão

TCP A confiabilidade dos processos de comunicação foi deixada a cargo do TCP O TCP é um protocolo: Orientado à conexão Confiável 07/04/2017 Profº André Luiz Silva

Número de portas Assim como o UDP o TCP também utiliza número de portas como endereços O número da porta é atribuído pela aplicação independentemente se o protocolo utilizado será o UDP ou o TCP 07/04/2017 Profº André Luiz Silva

Aplicações que usam TCP 07/04/2017 Profº André Luiz Silva

Fluxo de entrega TCP Fluxo do serviço de entrega 07/04/2017 Profº André Luiz Silva

Segmentos As entidades transmissoras e receptoras trocam bytes na forma de segmentos. Um segmento TCP consiste em um cabeçalho de 20 bytes, seguidos por um campo opcional, seguido de zero ou mais bytes de dados. Ele pode acumular dados de várias gravações em um único segmento ou dividir os dados de uma única gravação em vários segmentos.

Restrições ao tamanho do cabeçalho Dois fatores restringem o tamanho de um cabeçalho TCP: Cada segmento, incluindo o cabeçalho, devem caber no campo de dados de um datagrama IP. 65.515 bytes. Cada segmento deve caber na MTU no receptor e no transmissor. No Ethernet, 1500 bytes.

Buffers de transmissão e recepção Os processos podem não consumir e produzir dados à mesma velocidade. Bufferização: Buffer de recepção Buffer de transmissão Buffers do tipo FIFO (first-in first-out) 07/04/2017 Profº André Luiz Silva

Buffers de transmissão e recepção 07/04/2017 Profº André Luiz Silva

Buffers de transmissão Três entradas Entradas vazias possíveis de serem preenchidas Área cinza esperando a chegada de ACKs Área contendo os bytes que já estão prontos para serem enviados 07/04/2017 Profº André Luiz Silva

Buffers de recepção Duas entradas Entradas vazias aguardando bytes oriundos da rede Entradas que possuem bytes recebidos aguardando verificação e utilização pelo processo receptor 07/04/2017 Profº André Luiz Silva

Bytes e segmentos A bufferização controla a disparidade de velocidade entre os processos transmissores e receptores. Porém, existe uma etapa a mais antes da transmissão de dados. Esta etapa é realizada pelo IP Os segmentos TCP são encaminhados à camada de rede que os encapsula em datagramas IP Os datagramas, como sabemos, podem chegar fora de ordem, serem perdidos, corrompidos ou retransmitidos 07/04/2017 Profº André Luiz Silva

Serviço full-duplex O TCP oferece serviço em modo full-duplex. Ou seja, existem buffers de recepção e transmissão em ambas as direções. 07/04/2017 Profº André Luiz Silva

Serviço orientado à conexão O protocolo TCP que cuida dos processos de A solicita ao protocolo TCP de B, que cuida dos processos de B, aprovação para iniciar a transmissão O TCP de A e de B trocam dados em ambas as direções Quando os processos não tiverem dados a transmitir, os buffers tornam-se vazios e são reciclados 07/04/2017 Profº André Luiz Silva

Serviço confiável O TCP utiliza um mecanismo de confirmação (ACK) para verificar a integridade dos dados. Cada byte dentro de um segmento TCP tem o seu próprio número de sequência de 32 bits. Cada segmento enviado é identificado e confirmado pelo destino através do envio de um pacote de reconhecimento (ack). 07/04/2017 Profº André Luiz Silva

Numeração de bytes O TCP numera todos os bytes de dados que são transmitidos por uma conexão. A numeração é independente em cada direção Isto ocorre quando o TCP recebe os dados do processo e os armazena no buffer de envio O valor inicial é estabelecido por um gerador de números aleatórios entre 0 e 2³² - 1 Exemplo: Se o número aleatório for escolhido como 1057 e a quantidade de bytes for 6000 bytes, os bytes serão numerados de 1057 a 7056 07/04/2017 Profº André Luiz Silva

Numeração do segmento O TCP mantém registro dos segmentos transmitidos e/ou recebidos. Porém, não há um campo específico para o número do segmento. Ao invés disso: Número de seqüência Número de confirmação Estes dois números referem-se ao número de bytes e não ao número de segmentos 07/04/2017 Profº André Luiz Silva

Número de seqüência Após os bytes terem sido numerados, o TCP atribui um número de sequencia para cada segmento transmitido. O número de seqüência é igual ao número do primeiro byte transportado nesse segmento. 07/04/2017 Profº André Luiz Silva

Exemplo 07/04/2017 Profº André Luiz Silva

Número de confirmação O número ACK define o número do próximo byte que o protocolo TCP do receptor espera receber. Lembre-se que a comunicação é full-duplex. Ou seja, se A envia para B um segmento com número de seqüência 2500, o ACK que B enviará para A terá o número de confirmação 2501 07/04/2017 Profº André Luiz Silva

Cabeçalho do segmento TCP Cabeçalho de 20 bytes (sem as opções) a 60 bytes (com as opções), seguido do campo de dados. 07/04/2017 Profº André Luiz Silva

Cabeçalho do TCP Porta de origem (16 bits) – Número da porta do programa da camada de aplicação do transmissor. Porta de destino (16 bits) - Número da porta do programa da camada de aplicação do receptor. Número de sequência (32 bits) – Define o número atribuído ao primeiro byte de dados adicionado ao segmento. Número de confirmação (32 bits) – Contém o número do byte que o transmissor do segmento espera receber da outra parte. É uma confirmação acumulativa. Tamanho do cabeçalho (4 bits) – Define a quantidade de palavras de 4 bytes no cabeçalho. Os valores geralmente são 5 ou 15. 07/04/2017 Profº André Luiz Silva

Cabeçalho do TCP Reservado (6 bits) – Reservado para uso futuro. Controle (6 bits diferentes) – Veja tabela na próxima transparência Tamanho da janela (16 bits) – Define o tamanho da janela que a outra parte deve suportar. Checksum (16 bits) – Cálculo para verificação de erros. Indicador de urgência (16 bits) – Utilizado quando o segmento contém dados de urgência. Veremos mais adiante. Opções ( 40 bytes) – Informações adicionais. 07/04/2017 Profº André Luiz Silva

Flags 07/04/2017 Profº André Luiz Silva

Maximum Segment Size (1) MSS (Tamanho Máximo do Segmento). Limita a quantidade de dados que o TCP irá enviar num único datagrama IP. Valores para MSS são trocados nos pacotes SYN (requisição de conexão) que abrem a conexão TCP.

Maximum Segment Size (2) Uma opção largamente utilizada permite que o host determine o tamanho máximo do segmento que irá receber. O uso de segmentos grandes é mais eficiente. Menos cabeçalho para uma mesma quantidade de dados. Porém, alguns hosts podem não conseguir administrar segmentos muito grandes.

Maximum Segment Size (3) Durante a etapa de conexão, cada host informa o valor do seu MSS e avalia a do seu parceiro. Caso contrário, o padrão de 536 bytes é estipulado. Todos os hosts da Internet são obrigados a aceitar segmentos de 536 + 20 bytes.

Timestamp Outra opção também largamente utilizada. Transporta um período de tempo enviado pelo transmissor e ecoado pelo receptor. Calcula as amostras de tempo de ida e volta.

Campos do TCP

Conexão em três vias 07/04/2017 Profº André Luiz Silva

Primeira via O lado cliente envia um segmento TCP especial ao lado servidor. Este segmento não contém dados. O bit SYN é ajustado para 1. O cliente escolhe aleatoriamente um número de sequência e coloca-o no campo “número de sequência”. O segmento é encapsulado em um datagrama IP e enviado ao servidor 07/04/2017 Profº André Luiz Silva

Segunda via Assim que o datagrama IP chega ao servidor, este extrai o segmento SYN, aloca buffers e variáveis. Este segmento também não contém dados. O bit SYN está com valor 1 O campo de reconhecimento é inicializado. O servidor escolhe o seu próprio número de sequência. 07/04/2017 Profº André Luiz Silva

Terceira via Ao receber o segmento SYN/ACK o cliente também reserva buffers e variáveis para a conexão. Reconhece o segmento de confirmação colocando o valor do campo número de sequência + 1 no campo de reconhecimento. O bit SYN é ajustado para 0, já que a conexão está estabelecida. O bit PSH é ajustado para 1. 07/04/2017 Profº André Luiz Silva

Transferência de dados 07/04/2017 Profº André Luiz Silva

Término de conexão 07/04/2017 Profº André Luiz Silva

Etapas da conexão Representadas em uma máquina de estados finitos. Em cada estado, determinados eventos são válidos. Quando ocorre algum evento válido, torna-se possível executar uma ação. Se ocorrer algum outro evento, um erro é reportado.

Eventos e ações Evento: Ação: Pode ser uma chamada de sistema iniciada pelo usuário. Connect, listen, send ou close. A chegada de um segmento. SYN, FIN, ACK ou RST. Ação: Envio de um segmento de controle. SYN, FIN ou RST. Ou nada, indicado por um travessão.

Estados da conexão

Estados do cliente Começa no estado CLOSED saindo desse estado ao executar uma abertura ativa (CONNECT). Se o outro lado executar a primitiva oposta, a conexão será estabelecida e o estado passará para ESTABLISHED. O encerramento pode ser iniciado por qualquer um dos lados.

Estados do servidor Executa a primitiva LISTEN e aguarda. Quando um SYN chegar, ele será confirmado e o servidor passa para o estado SYN RCVD. Quando o SYN do servidor for confirmado, ele passará para o estado ESTABLISHED. Então, os dados podem ser transmitidos.

Encerramento da conexão Ao terminar o envio dos dados, o cliente executa a primitiva CLOSE, o que faz um FIN ser enviado ao servidor. O servidor também, ao receber o FIN, executa a primitiva CLOSE enviando um FIN ao cliente. Ao receber o ACK do cliente o servidor encerra a conexão e apaga seus registros.

Estados das conexões TCP - Cliente

Estados das conexões TCP - Servidor

Reset da conexão TCP cliente solicita conexão a uma porta não existente Ocorrência de alguma situação anormal levando o servidor a abortar a conexão TCP cliente percebe que a conexão está ociosa por muito tempo e resolve desligar a conexão 07/04/2017 Profº André Luiz Silva