Your SlideShare is downloading. ×
  • Like
Aula25
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply
Published

 

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,542
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
61
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Nível de transporte Redes de Computadores Instituto de Informática - UFRGS Aplicação Protocolo nível de aplicação Aplicação Protocolo nível de apresentação Apresentação Apresentação Nível de Transporte Protocolo nivel de sessão Sessão Sessão Protocolos de Transporte na Internet UDP e TCP Protocolo nivel de transporte Instituto de Informática - UFRGS Transporte Transporte Protocolo nível de rede Rede Rede Protocolo nível de enlace A. Carissimi -23-nov-09 Enlace Enlace Protocolo nível de físico Físico Físico Aula 25 Redes de Computadores 2 Introdução Contexto do protocolo de transporte Usuários (processos) ! Motivação do Serviço de transporte ! Complexidade das redes (diversidade e quantidade de dispositivos) (fim a fim) ! Heterogeneidade dispositivos, enlaces e tecnologias ! Objetivo: Protocolo nivel de transporte Transporte Transporte ! Tornar complexidade transparente aos processos de aplicação ! Esconder detalhes e fornecer uma visão simplificada Rede Rede Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Fornecer comunicação lógica entre processos de aplicação ! Camada de rede oferece comunicação lógica entre hospedeiros Enlace Enlace ! Visão: A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 Físico Físico Pi Pj Rede Rede “Caixa preta” Redes de Computadores 3 Redes de Computadores 4
  • 2. Principais questões Principais Serviços ! Dois pontos: ! Encapsulamento ! Quais serviços oferece aos níveis superiores? ! Multiplexação e demultiplexação ! Como esses serviços são implementados? ! Endereçamento ! Implementado pela entidade de transporte ! Controle de conexão ! Executado nos sistemas finais ! Controle de erro ! Disponibilizados nas camadas superiores através de primitivas Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Ex.: no TCP/IP corresponde a interface de sockets ! Controle de fluxo ! Construídos sobre recursos abstratos (virtuais) ! Controle de congestionamento ! Endereço de transporte (TSAP) ! Segurança A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 ! Conexão ! Qualidade de serviço Redes de Computadores 5 Redes de Computadores 6 Encapsulamento Modelo de T-PDUs ! Inserção de informações de controle da camada de transporte ! Orientado a mensagem ! Sequência contínua (byte stream) ! Ex.: portas, números de sequência, checksum, flags, etc ! Os dados são delimitados em T-PDUs ! Não há delimitação de T-PDUs ! Considera fragmentação/remontagem ! Modelo usado na camada de transporte ! Modelo empregado na camada de da Internet (UDP) transporte da Internet (TCP) A-PDU ou S-PDU Instituto de Informática - UFRGS Instituto de Informática - UFRGS T-PDU Pj Pi Pj Pi Rede Rede N-PDU Nro primitivas send = nro primitivas recv Nro primitivassend ≠ nro primitivas recv A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 Redes de Computadores 7 Redes de Computadores 8
  • 3. Multiplexação e demultiplexação Endereço de transporte ! Problema: ! Necessidade de identificar processos origem e destino ! Camada de rede entrega dados entre dois sistemas finais, identificando cada um ! Três tipos: por um endereço de rede exclusivo ! Unicast: identifica um único processo de destino ! Ampliar a entrega de hospedeiro a hospedeiro para processo a processo ! Broadcast: todos os processos são destino ! Vários processos podem utilizar o mesmo protocolo de transporte ! Completo: todos os processos de todos os sistemas finais ! Necessário identificá-los: endereço na camada de transporte (T-SAP) ! Parcial: um processo em todos os sistemas finais Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Multicast: identifica um grupo de processos como destino ! Completo: p processos em um grupo de sistemas finais ! Parcial: 1 processo em um grupo de sistemas finais A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 TSAP 1 TSAP 2 K TSAP n Camada de transporte Demultiplexação da camada de Multiplexação da camada de rede para a camada de transporte rede pela camada de transporte Camada de rede Redes de Computadores 9 Redes de Computadores 10 Unicast, broadcast e multicast Endereço de transporte na Internet Pi Pi Pi ! Os processos origem e destino são identificados por portas ! Identificador numérico (16 bits) unicast broadcast multicast ! Base para a multiplexação/demultiplexação ! Informação de portas é transportada na T-PDU Pj Pa Pb Pc Pa Pb Pc ! O endereço de transporte é identificado por uma tupla: ! Origem e destino no UDP e no TCP são dados por [Endereço IP, Porta] Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Tipos de endereços suportados: ! Possibilidade: considerar mais de uma origem para destino unicast, broadcast ou ! Unicast: UDP e TCP multicast ! Broadcast e Multicast: apenas o UDP (completo ou parcial) A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 Redes de Computadores 11 Redes de Computadores 12
  • 4. O conceito de porta Controle de conexão Porta Protocolo Aplicação ! É um número de 16 bits utilizado como identificador ! Serviços orientados a conexão e não orientados a conexão 20 TCP FTP-data ! Existem dois tipos de portas 21 TCP FTP-control ! Conexão serve para: 25 TCP SMTP ! Bem conhecidas (well know ports): 1 a 1023 ! Garantir que entidade de transporte correspondente existe 53 TCP/UDP DNS ! Efêmeras (ephemeral ports) 80 TCP HTTP ! Negociar parâmetros (ex.: Tamanho T-PDUs, capacidade de recepção,, nro ! Registered ports: 1024 a 49151 110 TCP POP3 de sequência, QoS etc) 161 UDP SNMP ! Dynamics and/or private ports: 49152 a 65535 ! Reservar recursos nas entidades de transportes envolvidas (ex.: buffers, Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! http://www.iana.org/assignments/port-numbers identificadores de conexão) TCP UDP ! Uma aplicação é completamente identificada por: ! Endereço IP + Nro. de porta + Protocolo (TCP ou UDP) ! Estabelecimento de conexão IP ! Portas TCP são independentes de Portas UDP ! Assimétrica A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 Internet Protocol ! Entidade espera por pedidos de estabelecimento de conexão (passivo) ! Porta 100 (TCP) ≠ Porta 100 (UDP), mas se Interface de convenciona “alocar” as duas simultaneamente para um ! Entidade solicita o estabelecimento da conexão (ativo) rede mesmo protocolo ! Simétrica Redes de Computadores 13 Redes de Computadores 14 Modelo cliente-servidor Serviço não orientado a conexão ! Paradigma muito usado na implementação de aplicações em rede ! Serviço não confiável ! Pode ser usado com serviços orientados a conexão ou não ! Não garante a entrega dos dados ! Servidor ! Os dados podem ser perdidos, entregues fora de ordem ou duplicados ! Fornece um serviço (aplicação) a outros processos (clientes) ! Pode prover mecanismos de detecção de erro para garantir a integridade dos dados ! Espera passivamente a solicitação de clientes ! Cliente ! Dados são transportados em T-PDUs individuais e independentes Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Usuário de um serviço provido por um processo (servidor) ! Na Internet corresponde ao protocolo User Datagram Protocol (UDP) ! Solicita execução do serviço no servidor e espera uma resposta ! Em serviços orientados a conexão é o cliente que solicita a abertura A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 da conexão para enviar requisições ao servidor Redes de Computadores 15 Redes de Computadores 16
  • 5. Serviço orientado a conexão Diagrama básico de estados de conexão ! Provê suporte a serviço confiável ! Garante a entrega de um fluxo de dados (stream) ! Provê controle de fluxo, controle de erro e ordenamento ! Uma conexão é composta por três fases: ! Estabelecimento: negocia parâmetros para realizar o controle de fluxo, de erro e de seqüência Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Transferência: troca de dados pela conexão (full-duplex) ! Encerramento: desfaz a conexão liberando recursos do sistema operacional (descritores e estruturas de dados) e garante recebimento de dados em trânsito. A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 ! Na Internet corresponde ao Transmission Control Protocol (TCP) Redes de Computadores 17 Redes de Computadores 18 Estabelecimento de conexões: cenários Encerramento de uma conexão Sistema A Sistema B SYN funciona como solicitação de abertura (cliente/servidor) (cliente/servidor) ! Qualquer lado pode pedir o encerramento de conexão e como confirmação de um CLOSED CLOSED ! Duas formas: pedido de conexão (active open) SYN SYN Active open ! Simétrico: um correspondente ao encerrar a conexão indica apenas que não SYN tem mais dados a enviar mas ainda está aceitando dados do outro conexão ESTAB ESTAB SYN ! Conexão só é encerrada se ambos os lados concordarem ! Não há perda de dados Instituto de Informática - UFRGS Instituto de Informática - UFRGS SN = 1 transferência Sistema A Sistema B ! Encerramento gracioso (graceful) SN=1, ACK=101 (servidor) (cliente) ! Assimétrico: um correspondente encerra a conexão independentemente do CLOSED CLOSED outro lado SN = 101, ACK = 50 A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 Active open ! Pode haver perdas de dados LISTEN SYN (passive open) ATENÇÃO: não considera erros, ESTAB SYN nem atrasos! (a completar) ESTAB Redes de Computadores 19 Redes de Computadores 20
  • 6. Encerramento simétrico e assimétrico Encerramento de conexão: estratégias Simétrico Assimétrico A B A B A B A B FIN aborta desconecta desconecta FIN* FIN CLOSE WAIT FIN timeout WAIT resposta resposta CLOSED desconecta Instituto de Informática - UFRGS Instituto de Informática - UFRGS DATA resposta FIN FIN CLOSE FIN* Dados implícito abortivo Handshake Handshake DATA WAIT 2 mensagens 4(3) mensagens A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 WAIT perdidos FIN CLOSED Assimétrico Simétrico Redes de Computadores 21 Redes de Computadores 22 Controle de erros: perdas Controle de erros: repetição ! Serviços sem perdas ! Independente do controle de perda ! Garantia da entrega dos dados no destino ! Serviço com repetição ! Informa o sucesso ou o fracasso da entrega ! Não há garantias da recepção de uma única cópia ! Serviços com perdas ! Serviço sem repetição ! Não há garantias de entrega ! Garantia de recepção de uma única cópia ! A origem não sabe do sucesso ou do fracasso na entrega Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Causas da repetição: ! Teoricamente há serviços com perdas controladas ! Mecanismos de timeout e retransmissão da própria camada de transporte e ! Nenhuma implementação significativa desse tipo de serviço das camadas inferiores ! A maneira de identificar repetições é usar números de sequência A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 Redes de Computadores 23 Redes de Computadores 24
  • 7. Controle de erros: ordenamento e integridade dos dados Controle de fluxo e congestionamento ! Serviços quanto ao ordenamento: ! Evitar, de forma automática, que uma origem sobrecarregue um ! Com ordem e sem ordem garantida destino com o envio de dados ! Quanto a integridade ! Mecanismo básico é janela deslizante ! Com integridade e sem integridade ! Sobrecarga pode levar a perdas de dados (overflow) ! Garantia que os dados recebidos são aqueles transmitidos ! Estratégia: destino indica a capacidade de recepção informando o ! Mecanismos de detecção de erros número de bytes extras que pode receber Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Em caso de erros, descarta a T-PDU → perda da T-PDU ! Envio de zero bytes suspende a transmissão ! Risco de deadlock → time-out de janela ! Solução para controle de perdas, repetição e ordem ! Congestionamento A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 ! Identificar as T-PDUs com número de sequência ! Perda é consequência de erro de transmissão ! Suposição: congestionamento ocasionou a perda ! Retransmissão não deve ocorrer imediatamente Redes de Computadores 25 Redes de Computadores 26 Segurança Qualidade de serviço (QoS) ! Mecanismos de segurança ! Serviços que permitem a definição de parâmetros para ! Autenticação funcionamento ! Controle de acesso (autorização) ! Vazão, latência, variação do atraso (jitter), taxa de perda etc ! Confidencialidade ! Normalmente são parâmetros das camadas inferiores que são ! Os serviços/protocolos são classificados em seguros e inseguros mapeados na camada de transporte ! Na Internet, os protocolos TCP e UDP são inseguros ! Se não são ofertados pela camada N-1, não há como uma camada N fazer Instituto de Informática - UFRGS Instituto de Informática - UFRGS garantias para uma camada superior N+1 A. Carissimi -23-nov-09 A. Carissimi -23-nov-09 Redes de Computadores 27 Redes de Computadores 28
  • 8. Leituras complementares ! Stallings, W. Data and Computer Communications (6th edition), Prentice Hall 1999. ! Capítulo 15, seção 15.3, 15.4 ! Tanenbaum, A. Redes de Computadores (4a edição), Campus, 2000. ! Capítulo 6, seção 6.1, 6.2 e 6.3 Instituto de Informática - UFRGS ! Carissimi, A.; Rochol, J; Granville, L.Z; Redes de Computadores. Série Livros Didáticos. Bookman 2009. ! Capítulo 6, seções 6.1 a 6.3 A. Carissimi -23-nov-09 Redes de Computadores 29