Você está na página 1de 8

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

Você também pode gostar