SlideShare uma empresa Scribd logo
1 de 49
Camada de Transporte Prof. Mauro Tapajós
Introdução ,[object Object]
Dois tipos de serviço de transporte: orientado a conexão e não-orientado a conexão
O estabelecimento de conexão (nestes tipos de serviços) garante que: ,[object Object]
Haja negociação de parâmetros
Sejam alocados recursos da entidade de transporte
Por que a Camada de Transporte? ,[object Object]
Isola as aplicações de quaisquer imperfeições no trânsito de pacotes (perdas, duplicatas, etc)
Permite desenvolvimento de rotinas básicas que funcionariam em qualquer tipo de plataforma de rede (o que pode variar muito  – IP, Novell, SNA )
Permite a entrega de dados à aplicações específicas numa máquina
Protocolos de Transporte ,[object Object],[object Object]
Multiplexação ,[object Object]
Tendência normal ao uso de várias conexões de transporte sobre um mesmo circuito virtual
Uso de várias conexões para um mesmo fluxo de dados visando aumentar a taxa de bits total
Protocolos de Transporte - Endereçamento ,[object Object]
Protocolo de início de conexão  – deve saber com qual das aplicações na máquina vai se comunicar
Servidor de nomes/diretórios – alternativa que indica serviços registrados que podem mudar de endereço  de rede e transporte
Encapsulamento de Protocolos de Transporte
Estabelecimento de Conexões ,[object Object],[object Object]
Desconexão ,[object Object]
Normalmente é usado uma desconexão de 3 passos com temporizadores Desconexão assimétrica : interrupção abrupta da comunicação com possível perda de dados Desconexão simétrica : assume duas conexões unidirecionais e exige que cada uma seja desconectada em separado
Desconexão – Problema dos dois exércitos Como sincronizar o ataque azul?
Protocolos de Transporte ,[object Object]
Controle de fluxo: necessário como na camada de enlace de dados , só que fim-a-fim
Diferença básica: numa pilha de transporte podem existir várias conexões ao mesmo tempo – exige disponibilidade de buffers – não é um esquema independente para cada link  (o espaço de memória é único para todas as conexões)
Uma possível solução – janelas deslizantes de tamanho variável e ajustado pelo transmissor
Protocolos de Transporte
Protocolos de Transporte TCP/IP ,[object Object]
No conjunto de protocolos TCP/IP temos a oferta de serviço orientado a conexão e confiável (protocolo TCP) e serviço não- orientado a conexão baseado em datagrama  ( protocolo  UDP)
Outros protocolos de transporte: protocolos OSI TP0, TP1, TP2, TP3 e TP4
Transmission Control Protocol (TCP) ,[object Object]
Protocolo TCP ,[object Object]
Bem projetado: não mudou muito desde sua aparição nos anos 60
Suporta aplicações básicas como TELNET, FTP e correio eletrônico
Especifica o formato dos dados e confirmações usadas na transferência daqueles, garantindo a correta entrega dos dados de clientes a servidores e vice-versa
Implementa suporte para detecção de erros e disparo de retransmissões quando necessário
Permite que múltiplas aplicações num sistema possam se comunicar concorrentemente tratando a operação multiplexada
Conexões TCP ,[object Object]
Um socket  em TCP  é identificado por uma  porta  e o  endereço IP  da máquina
Um mesmo socket pode suportar várias conexões ao mesmo tempo
Não suporta  multicasting  e  broadcasting  (sempre é ponto-a-ponto e  full-duplex )
Cada conexão é identificada pelos números dos  sockets  nas duas pontas
Sockets  é também o nome de uma biblioteca de subrotinas que provê acesso às facilidades TCP/IP
Software  TCP
Cabeçalho TCP
Cabeçalho TCP ,[object Object]
Sequence number : do primeiro byte deste segmento
Acknowledgement number : próximo byte a receber
Data Offset -  Header lenght : comprimento do cabeçalho em palavras de 32 bits

Mais conteúdo relacionado

Mais procurados (20)

TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Protocolo TCP/IP
Protocolo TCP/IPProtocolo TCP/IP
Protocolo TCP/IP
 
Aula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte IIAula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte II
 
CEF: Modelo OSI
CEF: Modelo OSICEF: Modelo OSI
CEF: Modelo OSI
 
Calculo de endereço ip
Calculo de endereço ipCalculo de endereço ip
Calculo de endereço ip
 
Rede de computadores
Rede de computadoresRede de computadores
Rede de computadores
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Diferenças entre IPV4 e IPV6
Diferenças entre IPV4 e IPV6Diferenças entre IPV4 e IPV6
Diferenças entre IPV4 e IPV6
 
Aula 05 - Exercício de projeto - Projeto de Redes de Computadores
Aula 05 - Exercício de projeto - Projeto de Redes de ComputadoresAula 05 - Exercício de projeto - Projeto de Redes de Computadores
Aula 05 - Exercício de projeto - Projeto de Redes de Computadores
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadores
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IP
 
Redes I - 5.2 Tecnologias de Redes WAN
Redes I - 5.2 Tecnologias de Redes WANRedes I - 5.2 Tecnologias de Redes WAN
Redes I - 5.2 Tecnologias de Redes WAN
 
Aula 6 a camada de rede
Aula 6   a camada de redeAula 6   a camada de rede
Aula 6 a camada de rede
 
Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1
 
Desenho da rede
Desenho da redeDesenho da rede
Desenho da rede
 
Endereçamento IPV4
Endereçamento IPV4Endereçamento IPV4
Endereçamento IPV4
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Placas de rede
Placas de redePlacas de rede
Placas de rede
 
Fibras opticas
Fibras opticasFibras opticas
Fibras opticas
 
Serviços de Redes.pdf
Serviços de Redes.pdfServiços de Redes.pdf
Serviços de Redes.pdf
 

Destaque

Modelo OSI - Camada de Transporte
Modelo OSI - Camada de TransporteModelo OSI - Camada de Transporte
Modelo OSI - Camada de TransporteWalyson Vëras
 
Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2Caio Miranda
 
Aula 7 camada de transporte
Aula 7   camada de transporteAula 7   camada de transporte
Aula 7 camada de transportewab030
 
Camada de transporte capitulo 3
Camada de transporte   capitulo 3Camada de transporte   capitulo 3
Camada de transporte capitulo 3fernandao777
 
Sistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - SocketSistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - SocketAdriano Teixeira de Souza
 
Camada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumCamada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumWellington Oliveira
 

Destaque (8)

Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte
 
Trabalho camada de transporte
Trabalho camada de transporteTrabalho camada de transporte
Trabalho camada de transporte
 
Modelo OSI - Camada de Transporte
Modelo OSI - Camada de TransporteModelo OSI - Camada de Transporte
Modelo OSI - Camada de Transporte
 
Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2
 
Aula 7 camada de transporte
Aula 7   camada de transporteAula 7   camada de transporte
Aula 7 camada de transporte
 
Camada de transporte capitulo 3
Camada de transporte   capitulo 3Camada de transporte   capitulo 3
Camada de transporte capitulo 3
 
Sistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - SocketSistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - Socket
 
Camada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumCamada de Transporte Redes Tanenbaum
Camada de Transporte Redes Tanenbaum
 

Semelhante a Redes de computadores II - 4.Camada de Transporte TCP e UDP

Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioJaguaraci Silva
 
Lista 03 respostas
Lista 03 respostasLista 03 respostas
Lista 03 respostasForça Tauá
 
Protocolos TCP IP UDP
Protocolos TCP IP UDPProtocolos TCP IP UDP
Protocolos TCP IP UDPAndré Nobre
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioJaguaraci Silva
 
Redes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de InterconexãoRedes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de InterconexãoMauro Tapajós
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteWellington Oliveira
 
Redes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLCRedes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLCMauro Tapajós
 
FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6Matheus Girardi
 
Rct 15 - camada de transporte
Rct   15 - camada de transporteRct   15 - camada de transporte
Rct 15 - camada de transporteUniversal.org.mx
 
Camada de transporte Aula de redes
Camada de transporte  Aula de redesCamada de transporte  Aula de redes
Camada de transporte Aula de redesJefferson Macena
 
Camadas de Transporte
Camadas de TransporteCamadas de Transporte
Camadas de Transporteleoteles92
 
Redes Camadas de Transporte
Redes Camadas de TransporteRedes Camadas de Transporte
Redes Camadas de Transporteleoteles92
 

Semelhante a Redes de computadores II - 4.Camada de Transporte TCP e UDP (20)

Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
Lista 03 respostas
Lista 03 respostasLista 03 respostas
Lista 03 respostas
 
Protocolos TCP IP UDP
Protocolos TCP IP UDPProtocolos TCP IP UDP
Protocolos TCP IP UDP
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
Redes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de InterconexãoRedes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de Interconexão
 
Protocolos TCP/IP
Protocolos TCP/IPProtocolos TCP/IP
Protocolos TCP/IP
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de Transporte
 
Intro_redes.pdf
Intro_redes.pdfIntro_redes.pdf
Intro_redes.pdf
 
Exercícios
ExercíciosExercícios
Exercícios
 
R&C 0202 07 1
R&C 0202 07 1R&C 0202 07 1
R&C 0202 07 1
 
Rc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osiRc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osi
 
Redes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLCRedes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLC
 
FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6
 
Rct 15 - camada de transporte
Rct   15 - camada de transporteRct   15 - camada de transporte
Rct 15 - camada de transporte
 
Camada de transporte Aula de redes
Camada de transporte  Aula de redesCamada de transporte  Aula de redes
Camada de transporte Aula de redes
 
Redes aula13
Redes aula13Redes aula13
Redes aula13
 
Camadas de Transporte
Camadas de TransporteCamadas de Transporte
Camadas de Transporte
 
Redes Camadas de Transporte
Redes Camadas de TransporteRedes Camadas de Transporte
Redes Camadas de Transporte
 
Redes tcp udp
Redes tcp udpRedes tcp udp
Redes tcp udp
 
Protocolos
ProtocolosProtocolos
Protocolos
 

Mais de Mauro Tapajós

Proyecto liberació SIGATI
Proyecto liberació SIGATIProyecto liberació SIGATI
Proyecto liberació SIGATIMauro Tapajós
 
Propostas de Autenticação para SNMP
Propostas de Autenticação para SNMPPropostas de Autenticação para SNMP
Propostas de Autenticação para SNMPMauro Tapajós
 
Integração de Serviços em Plataforma Livre
Integração de Serviços em Plataforma LivreIntegração de Serviços em Plataforma Livre
Integração de Serviços em Plataforma LivreMauro Tapajós
 
Instalação e Atualização Automática de Aplicações para Ambientes Corporativos
Instalação e Atualização Automática de Aplicações para Ambientes CorporativosInstalação e Atualização Automática de Aplicações para Ambientes Corporativos
Instalação e Atualização Automática de Aplicações para Ambientes CorporativosMauro Tapajós
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreMauro Tapajós
 
Migração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMigração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMauro Tapajós
 
Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Mauro Tapajós
 
Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Mauro Tapajós
 
integração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livreintegração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma LivreMauro Tapajós
 
Atualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livreAtualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livreMauro Tapajós
 
Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...Mauro Tapajós
 
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...Mauro Tapajós
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do LinuxMauro Tapajós
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoMauro Tapajós
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições LinuxMauro Tapajós
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosMauro Tapajós
 
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaMauro Tapajós
 
Suporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxSuporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxMauro Tapajós
 

Mais de Mauro Tapajós (20)

Proyecto liberació SIGATI
Proyecto liberació SIGATIProyecto liberació SIGATI
Proyecto liberació SIGATI
 
Propostas de Autenticação para SNMP
Propostas de Autenticação para SNMPPropostas de Autenticação para SNMP
Propostas de Autenticação para SNMP
 
Integração de Serviços em Plataforma Livre
Integração de Serviços em Plataforma LivreIntegração de Serviços em Plataforma Livre
Integração de Serviços em Plataforma Livre
 
Instalação e Atualização Automática de Aplicações para Ambientes Corporativos
Instalação e Atualização Automática de Aplicações para Ambientes CorporativosInstalação e Atualização Automática de Aplicações para Ambientes Corporativos
Instalação e Atualização Automática de Aplicações para Ambientes Corporativos
 
Asterisk
AsteriskAsterisk
Asterisk
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
 
Migração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMigração para Software Livre nas Universidades
Migração para Software Livre nas Universidades
 
Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)
 
Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?
 
Software Winrad
Software WinradSoftware Winrad
Software Winrad
 
integração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livreintegração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livre
 
Atualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livreAtualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livre
 
Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...
 
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do Linux
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e Instalação
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições Linux
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
 
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
 
Suporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxSuporte e Disponibilidade no Linux
Suporte e Disponibilidade no Linux
 

Redes de computadores II - 4.Camada de Transporte TCP e UDP

  • 1. Camada de Transporte Prof. Mauro Tapajós
  • 2.
  • 3. Dois tipos de serviço de transporte: orientado a conexão e não-orientado a conexão
  • 4.
  • 5. Haja negociação de parâmetros
  • 6. Sejam alocados recursos da entidade de transporte
  • 7.
  • 8. Isola as aplicações de quaisquer imperfeições no trânsito de pacotes (perdas, duplicatas, etc)
  • 9. Permite desenvolvimento de rotinas básicas que funcionariam em qualquer tipo de plataforma de rede (o que pode variar muito – IP, Novell, SNA )
  • 10. Permite a entrega de dados à aplicações específicas numa máquina
  • 11.
  • 12.
  • 13. Tendência normal ao uso de várias conexões de transporte sobre um mesmo circuito virtual
  • 14. Uso de várias conexões para um mesmo fluxo de dados visando aumentar a taxa de bits total
  • 15.
  • 16. Protocolo de início de conexão – deve saber com qual das aplicações na máquina vai se comunicar
  • 17. Servidor de nomes/diretórios – alternativa que indica serviços registrados que podem mudar de endereço de rede e transporte
  • 19.
  • 20.
  • 21. Normalmente é usado uma desconexão de 3 passos com temporizadores Desconexão assimétrica : interrupção abrupta da comunicação com possível perda de dados Desconexão simétrica : assume duas conexões unidirecionais e exige que cada uma seja desconectada em separado
  • 22. Desconexão – Problema dos dois exércitos Como sincronizar o ataque azul?
  • 23.
  • 24. Controle de fluxo: necessário como na camada de enlace de dados , só que fim-a-fim
  • 25. Diferença básica: numa pilha de transporte podem existir várias conexões ao mesmo tempo – exige disponibilidade de buffers – não é um esquema independente para cada link (o espaço de memória é único para todas as conexões)
  • 26. Uma possível solução – janelas deslizantes de tamanho variável e ajustado pelo transmissor
  • 28.
  • 29. No conjunto de protocolos TCP/IP temos a oferta de serviço orientado a conexão e confiável (protocolo TCP) e serviço não- orientado a conexão baseado em datagrama ( protocolo UDP)
  • 30. Outros protocolos de transporte: protocolos OSI TP0, TP1, TP2, TP3 e TP4
  • 31.
  • 32.
  • 33. Bem projetado: não mudou muito desde sua aparição nos anos 60
  • 34. Suporta aplicações básicas como TELNET, FTP e correio eletrônico
  • 35. Especifica o formato dos dados e confirmações usadas na transferência daqueles, garantindo a correta entrega dos dados de clientes a servidores e vice-versa
  • 36. Implementa suporte para detecção de erros e disparo de retransmissões quando necessário
  • 37. Permite que múltiplas aplicações num sistema possam se comunicar concorrentemente tratando a operação multiplexada
  • 38.
  • 39. Um socket em TCP é identificado por uma porta e o endereço IP da máquina
  • 40. Um mesmo socket pode suportar várias conexões ao mesmo tempo
  • 41. Não suporta multicasting e broadcasting (sempre é ponto-a-ponto e full-duplex )
  • 42. Cada conexão é identificada pelos números dos sockets nas duas pontas
  • 43. Sockets é também o nome de uma biblioteca de subrotinas que provê acesso às facilidades TCP/IP
  • 46.
  • 47. Sequence number : do primeiro byte deste segmento
  • 48. Acknowledgement number : próximo byte a receber
  • 49. Data Offset - Header lenght : comprimento do cabeçalho em palavras de 32 bits
  • 50.
  • 51.
  • 52.
  • 53. Exemplo: Encapsulamento TCP sobre Ethernet
  • 54.
  • 55. mss ( maximum segment size ) - maior tamanho suportado de um segmento único
  • 56. wscale ( window scale ) – expande o valor máximo do tamanho da janela (window) – usado somente nos segmentos SYN - RFC 1323
  • 57. timestamp – uso em medições RTTM ( Round Trip Time Measurements ) e checagem de segmentos duplicados antigos – RFC 1323
  • 58. sack ( selective ack ) – estratégia de confirmação selective repeat – RFC 2018
  • 59.
  • 60.
  • 62. A desconexão é simétrica (cada direção é desfeita separadamente)
  • 63. Temporizadores são usados na desconexão para evitar o problema dos dois exércitos
  • 65.
  • 66. Controle de congestionamento é implicitamente feito , já que a solução é baixar a taxa de dados que entra na rede
  • 67. Este controle é feito com base nos limites do receptor (janela TCP) e da rede (janela de congestionamento)
  • 68. O controle de temporizadores não é tão simples (as respostas da rede IP dependem de vários fatores)
  • 69.
  • 70. Numera individualmente os bytes sendo transmitidos para controle de fluxo
  • 71. Utiliza um esquema de janela deslizante para confirmar a informação recebid a
  • 72. Caso um segmento seja maior que 65495 bytes (limite do pacote IP=64k) ou maior que o MTU da rede, ele deve ser fragmentado (podendo gerar problemas de confirmação e remontagem na recepção)
  • 73. Piggybacking TCP A N SEQ ACK WIN B N SEQ ACK WIN
  • 74. Controle de Fluxo de Segmentos TCP
  • 75.
  • 76. Isto obriga o receptor a receber o byte e confirmá-lo com todo um segmento
  • 77. Após ler o byte, o receptor envia novamente todo um segmento com o novo valor no campo window
  • 78. Isto causa uma sequência de segmentos pequenos (1 byte de payload ) na rede que devem ser transportados junto com os 40 bytes do cabeçalho TCP/IP. Perda significativa de performance!
  • 79. Small Packet Problem - Exemplo 1 SEQ=0 ACK = 1 WIN = 4095 Application does a 1B write Empty 1 Application reads 1 B Empty ACK = 1 WIN = 4096 1 SEQ=1 ACK = 2 WIN = 4095 ACK = 2 WIN = 4096 1 Application reads 1 B Empty Application does a 1B write
  • 80.
  • 81. Estes receptores logo tem seu buffer cheio. Ao ler apenas 1 byte, o TCP envia todo um segmento para confirmá-lo e liberando o envio de apenas mais um byte (campo window )
  • 82. Após receber a confirmação, o transmissor segue e envia mais um segmento com somente 1 byte
  • 83. Mais uma vez Isto causa uma sequência de segmentos pequenos na rede que devem ser transportados junto com os 40 bytes do cabeçalho TCP/IP. Perda significativa de performance!
  • 84. Silly Window Sindrome - Exemplo 4K SEQ=0 ACK = 4096 WIN = 0 Application does a 4K write Empty Application reads 1 B ACK = 4096 WIN = 1 1 SEQ=4096 ACK = 4097 WIN = 0 ACK = 4097 WIN = 1 Application reads 1 B Full 4095 Application does a 1K write Full 4095
  • 85.
  • 86. Algoritmo de CLARK : na recepção, não permita leituras de 1 byte somente. Exije que haja um considerável espaço de buffer para se ler. Este espaço é o menor entre o tamanho máximo de segmento passado durante e conexão e a metade do seu buffer
  • 87. Deve haver cuidado com o tempo de resposta que pode crescer com estes procedimentos!
  • 88.
  • 89. Usado para cálculos de tempo máximo de espera de uma confirmação ( timeouts ) Network
  • 90.
  • 91.
  • 92. Uso da “ congestion window ” - inicia com valor igual ao máximo tamanho de segmento na conexão e é duplicado a cada ACK recebido
  • 93. Em casos de congestionamento ( timeout de segmentos), a congestion window voltará ao valor inicial
  • 94. O valor máximo que poderá ser enviado será o mínimo entre a congestion window e o último valor de window recebido)
  • 95. Controle de Congestionamento TCP – Congestion Window Threshold: metade do valor da CW no slow start (início em 64k) Congestion avoidance
  • 96.
  • 97. Este estado é chamado de “ congestion avoidance ”
  • 98. Nele, a CW aumenta de forma linear, aumentando em 1, desde que todos os segmentos na janela tenham sido confirmados -> suavização da curva
  • 99.
  • 100.
  • 101. Timer de keepalive – quando a conexão ficar em silêncio, checa de o outro lado está lá (controverso)
  • 102.
  • 103. Checksum falho para integridade a nível de transporte e redundante quando se usa protocolos de camada 2 confiáveis (como HDLC ou Ethernet)
  • 104. A funcionalidade de dados “ urgent ” não é uma solução completa de sinalização out-of-band por que é submetida ao mesmo controle de fluxo dos dados normais
  • 105. Entrega rápida de tráfego de mensagens deve usar a opção de “ push ”
  • 106.
  • 107. Oferece às aplicações a capacidade de enviar pacotes IP encapsulados (e não um fluxo de bytes) por um protocolo de transporte sem conexão
  • 108. Basicamente oferece a capacidade de endereçamento de aplicação em portas ao protocolo IP
  • 109.
  • 110. O overhead gerado por procedimentos de conexão é injustificado ou não é tolerado pela aplicação em uso
  • 111. Aplicações de amostragem de dados (Ex.: sensores)
  • 112. Serviços request-response (a aplicação toma a responsabilidade de verificar mensagens que não chegam)
  • 113. Aplicações de tempo-real onde temporização é o mais importante
  • 114.
  • 115. Lenght : é o comprimento de todo o segmento UDP
  • 116. Checksum : é calculado sobre todo o segmento e mais o mesmo pseudo-cabeçalho usado em TCP
  • 117. Algumas Portas Conhecidas ( Well-Known )
  • 118.
  • 119. Suas facilidades normalmente são disponiblizadas numa biblioteca (API)
  • 120.
  • 122. Sockets TCP (Exemplo)