4ª Parte Protocolo TCP
Protocolo TCP ( Transmission Control Protocol ) Connection-Oriented Estabelecimento de ligação extremidade-a-extremidade Protocolo Fiável - Garante: Comunicação sem erros Controlo de fluxo Ordem cronológica Segmento - unidade básica de transmissão (tamanho max. = 64K) Socket  - Endereço Nível 4 =  < Endereço IP : Nº de Porto > Ex. 205.218.156.56 : 80  , Porto 80 = serviço HTTP 1 ligação identificada por ( Socket  Emissor,  Socket  Destino) Portos reservados para serviços  nº < 256  Well Known Ports nº 21 - FTP, nº 23 -  Telnet 4.1 – O protocolo TCP
4.1 – O protocolo TCP C:\WINDOWS>netstat -rn Route Table Active Routes: Network Address  Netmask  Gateway Address  Interface  Metric 0.0.0.0  0.0.0.0  214.3.35.31  214.3.35.31  1 127.0.0.0  255.0.0.0  127.0.0.1  127.0.0.1  1 214.3.35.0  255.255.255.0  214.3.35.31  214.3.35.31  1 214.3.35.31  255.255.255.255  127.0.0.1  127.0.0.1  1 214.3.35.255  255.255.255.255  214.3.35.31  214.3.35.31  1 224.0.0.0  224.0.0.0  214.3.35.31  214.3.35.31  1 255.255.255.255  255.255.255.255  214.3.35.31  214.3.35.31  1 Active Connections Proto  Local Address  Foreign Address  State TCP  214.3.35.31:1384  64.58.76.87:80  ESTABLISHED Tabela de  Routing  de computador com ligação TCP activa
4.1 – O protocolo TCP 1 2 Principais características do protocolo TCP:
Cabeçalho TCP 4.1 – O protocolo TCP Numero de Sequencia 32 bits Checksum Opções (0 ou mais palavras) Porto Destino Porto Origem Numero de  Acknowledge Urgent Pointer TCP Header Length U R G A C K P S H R S T S Y N F I N 6  bits  livres Dimensão de Janela
Porto Origem/Destino  - Identificador de locais terminais da ligação Numero de Sequencia  - Identificador de segmento corrente Numero de  Acknowledge  - Identificador do próximo  byte  esperado Dimensão de Cabeçalho TCP  -número de  words  (32 bits) do cabeçalho Bit URG  - Se=1, valida  Urgent Pointer Bit ACK  - Se=1, valida Numero de  Acknowledge Bit PSH  - Se=1, identifica dados como prioritários, não devendo por isso ser armazenados em  buffer Bit RST  -  Se=1, reinicializar ligação (ex.  crash  de terminal) Bit SYN  - Se=1, Emissor pretende iniciar ligação / Receptor aceita pedido de ligação Bit FIN  - Se=1, Emissor pretende finalizar ligação 4.1 – O protocolo TCP
Dimensão de Janela - números de bytes que o destino pode receber. Máximo: 64K, tamanho dinâmica/ variável, em função de:  Disponibilidade de receptor MTU ( Maximum Transmission Unit ) da rede:  tamanho máximo de mensagens  Checksum  - Detecção de erros do cabeçalho e dados Urgent Pointer  - Indicador de  offset , no conjunto de bytes, do segmento corrente, a partir do qual os dados são urgentes  Ex. utilizador premiu Ctrl-C e ligação será interrompida, dados previamente armazenados deverão ser apagados Opções  - Possibilitar adicionar ao protocolo novas características, para melhorar o seu desempenho 4.1 – O protocolo TCP
4.1 – O Protocolo TCP Estrutura de Segmento TCP
4.2 – TCP:  Connection-Oriented   Necessário pré-estabelecimento de conexão Cliente Servidor Procedimento de estabelecimento de ligação
4.3 – TCP: Fiabilidade Dados entregues a aplicação sem erros e por ordem cronológica Cliente Servidor Se detectados erros ou Se confirmação não chegar dentro de intervalo de tempo pré-definido  Retransmitir Mensagem
4.4 - TCP:  Data Stream Dados a Transmitir Cliente Servidor Transferência de Fluxo de Dados entre Cliente / Servidor Dados a Transmitir
4.5 – TCP: Controlo do fluxo de dados Cliente Servidor Servidor informa Cliente de quando e que quantidade de dados pode receber Janela Deslizante
4.6 - Os extremos de uma conexão TCP Socket Identificador de conexão
4.7 - Estabelecimento de uma conexão TCP Procedimento de estabelecimento de ligação Cliente Servidor
3 way handshake 4.7 - Estabelecimento de uma conexão TCP SYN ; iSN=X Cliente Servidor SYN ; iSN=Y; ACK=X+1 ACK=Y+1 tempo iSN =  initial Seq .  Numb .
4.7 - Estabelecimento de uma conexão TCP SYN=1 1) Pedido de Ligação
4.7 - Estabelecimento de uma conexão TCP ACK=1 SYN=1 2) Resposta a pedido de   Ligação = SYNACK
4.7 - Estabelecimento de uma conexão TCP 3) Confirmação de pedido    de Ligação ACK=1
1) Pedido de Encerramento de conexão Cliente  Servidor 4.7 - Encerramento de uma conexão TCP FIN=1
2) Confirmação de pedido de Encerramento de conexão Cliente  Servidor 4.7 - Encerramento de uma conexão TCP ACK=1
4.7 - Encerramento de uma conexão TCP 3,4) Pedido de Encerramento de conexão Servidor  Cliente Servidor Cliente
Processamento de dados normais: 1) Dados armazenados em  buffer  de aplicação 2) Dados fragmentados em segmentos 4.8 - Formação de segmentos TCP
4.8 - Formação de segmentos TCP Processamento de dados prioritários: 1) Dados não armazenados em  buffer  de aplicação 2) Dados colocados em segmento PSH=1
Protocolo UDP ( User Datagram Protocol ) Protocolo Nível 4 que tal como TCP corre sobre IP Não Fiável Connection-less Oriented Utilizado em aplicações onde a prontidão é mais importante do que a exactidão Apropriado para pequenas quantidades de informação Cabeçalho UDP:  32 Bits 4.9 – Protocolo UDP Porto Origem Porto Destino Dimensão UDP  Checksum UDP

R&C 0401 07 1

  • 1.
  • 2.
    Protocolo TCP (Transmission Control Protocol ) Connection-Oriented Estabelecimento de ligação extremidade-a-extremidade Protocolo Fiável - Garante: Comunicação sem erros Controlo de fluxo Ordem cronológica Segmento - unidade básica de transmissão (tamanho max. = 64K) Socket - Endereço Nível 4 = < Endereço IP : Nº de Porto > Ex. 205.218.156.56 : 80 , Porto 80 = serviço HTTP 1 ligação identificada por ( Socket Emissor, Socket Destino) Portos reservados para serviços nº < 256 Well Known Ports nº 21 - FTP, nº 23 - Telnet 4.1 – O protocolo TCP
  • 3.
    4.1 – Oprotocolo TCP C:\WINDOWS>netstat -rn Route Table Active Routes: Network Address Netmask Gateway Address Interface Metric 0.0.0.0 0.0.0.0 214.3.35.31 214.3.35.31 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 214.3.35.0 255.255.255.0 214.3.35.31 214.3.35.31 1 214.3.35.31 255.255.255.255 127.0.0.1 127.0.0.1 1 214.3.35.255 255.255.255.255 214.3.35.31 214.3.35.31 1 224.0.0.0 224.0.0.0 214.3.35.31 214.3.35.31 1 255.255.255.255 255.255.255.255 214.3.35.31 214.3.35.31 1 Active Connections Proto Local Address Foreign Address State TCP 214.3.35.31:1384 64.58.76.87:80 ESTABLISHED Tabela de Routing de computador com ligação TCP activa
  • 4.
    4.1 – Oprotocolo TCP 1 2 Principais características do protocolo TCP:
  • 5.
    Cabeçalho TCP 4.1– O protocolo TCP Numero de Sequencia 32 bits Checksum Opções (0 ou mais palavras) Porto Destino Porto Origem Numero de Acknowledge Urgent Pointer TCP Header Length U R G A C K P S H R S T S Y N F I N 6 bits livres Dimensão de Janela
  • 6.
    Porto Origem/Destino - Identificador de locais terminais da ligação Numero de Sequencia - Identificador de segmento corrente Numero de Acknowledge - Identificador do próximo byte esperado Dimensão de Cabeçalho TCP -número de words (32 bits) do cabeçalho Bit URG - Se=1, valida Urgent Pointer Bit ACK - Se=1, valida Numero de Acknowledge Bit PSH - Se=1, identifica dados como prioritários, não devendo por isso ser armazenados em buffer Bit RST - Se=1, reinicializar ligação (ex. crash de terminal) Bit SYN - Se=1, Emissor pretende iniciar ligação / Receptor aceita pedido de ligação Bit FIN - Se=1, Emissor pretende finalizar ligação 4.1 – O protocolo TCP
  • 7.
    Dimensão de Janela- números de bytes que o destino pode receber. Máximo: 64K, tamanho dinâmica/ variável, em função de: Disponibilidade de receptor MTU ( Maximum Transmission Unit ) da rede: tamanho máximo de mensagens Checksum - Detecção de erros do cabeçalho e dados Urgent Pointer - Indicador de offset , no conjunto de bytes, do segmento corrente, a partir do qual os dados são urgentes Ex. utilizador premiu Ctrl-C e ligação será interrompida, dados previamente armazenados deverão ser apagados Opções - Possibilitar adicionar ao protocolo novas características, para melhorar o seu desempenho 4.1 – O protocolo TCP
  • 8.
    4.1 – OProtocolo TCP Estrutura de Segmento TCP
  • 9.
    4.2 – TCP: Connection-Oriented Necessário pré-estabelecimento de conexão Cliente Servidor Procedimento de estabelecimento de ligação
  • 10.
    4.3 – TCP:Fiabilidade Dados entregues a aplicação sem erros e por ordem cronológica Cliente Servidor Se detectados erros ou Se confirmação não chegar dentro de intervalo de tempo pré-definido Retransmitir Mensagem
  • 11.
    4.4 - TCP: Data Stream Dados a Transmitir Cliente Servidor Transferência de Fluxo de Dados entre Cliente / Servidor Dados a Transmitir
  • 12.
    4.5 – TCP:Controlo do fluxo de dados Cliente Servidor Servidor informa Cliente de quando e que quantidade de dados pode receber Janela Deslizante
  • 13.
    4.6 - Osextremos de uma conexão TCP Socket Identificador de conexão
  • 14.
    4.7 - Estabelecimentode uma conexão TCP Procedimento de estabelecimento de ligação Cliente Servidor
  • 15.
    3 way handshake4.7 - Estabelecimento de uma conexão TCP SYN ; iSN=X Cliente Servidor SYN ; iSN=Y; ACK=X+1 ACK=Y+1 tempo iSN = initial Seq . Numb .
  • 16.
    4.7 - Estabelecimentode uma conexão TCP SYN=1 1) Pedido de Ligação
  • 17.
    4.7 - Estabelecimentode uma conexão TCP ACK=1 SYN=1 2) Resposta a pedido de Ligação = SYNACK
  • 18.
    4.7 - Estabelecimentode uma conexão TCP 3) Confirmação de pedido de Ligação ACK=1
  • 19.
    1) Pedido deEncerramento de conexão Cliente Servidor 4.7 - Encerramento de uma conexão TCP FIN=1
  • 20.
    2) Confirmação depedido de Encerramento de conexão Cliente Servidor 4.7 - Encerramento de uma conexão TCP ACK=1
  • 21.
    4.7 - Encerramentode uma conexão TCP 3,4) Pedido de Encerramento de conexão Servidor Cliente Servidor Cliente
  • 22.
    Processamento de dadosnormais: 1) Dados armazenados em buffer de aplicação 2) Dados fragmentados em segmentos 4.8 - Formação de segmentos TCP
  • 23.
    4.8 - Formaçãode segmentos TCP Processamento de dados prioritários: 1) Dados não armazenados em buffer de aplicação 2) Dados colocados em segmento PSH=1
  • 24.
    Protocolo UDP (User Datagram Protocol ) Protocolo Nível 4 que tal como TCP corre sobre IP Não Fiável Connection-less Oriented Utilizado em aplicações onde a prontidão é mais importante do que a exactidão Apropriado para pequenas quantidades de informação Cabeçalho UDP: 32 Bits 4.9 – Protocolo UDP Porto Origem Porto Destino Dimensão UDP Checksum UDP