Aula25
Upcoming SlideShare
Loading in...5
×
 

Aula25

on

  • 2,101 views

 

Statistics

Views

Total Views
2,101
Views on SlideShare
2,088
Embed Views
13

Actions

Likes
0
Downloads
59
Comments
0

1 Embed 13

http://www.slideshare.net 13

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Aula25 Aula25 Presentation Transcript

    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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