26
3) Arquiteturas, padrões e funcionalidades das camadas 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação Apresentação Sessão Transporte Rede Enlace Física 5 7 6 4 3 2 1 5 Visão Geral: Missão da camada de enlace Serviços oferecidos TCP UDP

3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

Embed Size (px)

Citation preview

Page 1: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 1

Ciência da Computação – Redes de Computadores

3.5) A Camada de Transporte76

4321

A B

AplicaçãoApresentação

SessãoTransporte

RedeEnlaceFísica

5

76

4321

5

Visão Geral:

Missão da camada de enlace

Serviços oferecidos

TCP

UDP

Page 2: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 2

Ciência da Computação – Redes de Computadores

3.5.1) Protocolos e Serviços de Transporte: Funções básicas

Fornecem comunicação lógica entre

processos de aplicação em diferentes

hosts;

Os protocolos de transporte são

executados nos sistemas finais da rede;

Funções complementares:

. Camada de rede: transferência de dados

entre computadores (end systems);

. Camada de transporte: transferência de

dados entre processos;

A camada de transporte utiliza e

aprimora os serviços oferecidos pela

camada de rede.

aplicaçãotransporteeeredeenlacefísica

aplicaçãotransporte

redeenlacefísica

redeenlacefísica

redeenlacefísica

redeenlacefísica

redeenlacefísicarede

enlacefísica

transporte lógico fim-a-fim

Page 3: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 3

Ciência da Computação – Redes de Computadores

3.5.2) Protocolos e Serviços de Transporte: Principais tipos

Serviços de Transporte da Internet:

Confiável, seqüencial e unicast (TCP):

. Controle de congestionamento;

. Controle de fluxo;

. Orientado à conexão;

Não confiável (“best-effort”), não

seqüencial, entrega unicast ou multicast

(UDP):

. Sem controle de congestionamento;

. Sem controle de fluxo;

. Não orientado à conexão.

aplicaçãotransporteeeredeenlacefísica

aplicaçãotransporte

redeenlacefísica

redeenlacefísica

redeenlacefísica

redeenlacefísica

redeenlacefísicarede

enlacefísica

transporte lógico fim-a-fim

Page 4: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 4

Ciência da Computação – Redes de Computadores

3.5.3) Multiplexação de Aplicações Visa reunir dados de múltiplos processos de

aplicação, configurando cabeçalhos com informações

necessárias para a correta demultiplexação; Criado o conceito de segmento, que é a unidade

de dados trocada entre entidades da camada de

transporte;

Para permitir que vários processos (de cada

aplicação) possam ser tratados em um único host,

cada um dos processos utilizam determinadas portas

de acesso entre as camadas de aplicação e

transporte. As portas assumem números de 0 a

65535 e somente para o caso de aplicações bem

conhecidas, tais portas tem números bem definidos

de 0 a 1023 (Exemplos: FTP - 21, SMTP - 25, HTTP -

80, Telnet - 23);

Assim, a multiplexação/demultiplexação é possível

pois está baseada no número de porta do

transmissor, número de porta do receptor e

endereços IP presentes no segmento TCP/UDP;

porta origem porta destino

32 bits

dados de aplicação(mensagem)

outros campos de cabeçalho

Formato do segmento TCP/UDP

host A servidor Bporta orig: 1028

porta dest.: 23

IP orig : A

IP dest: B

porta origem:23

port dest.: 1028

IP orig: B

IP dest: A

Aplicação Telnet

Page 5: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 5

Ciência da Computação – Redes de Computadores

3.5.4) TCP - Transmission Control Protocol

É orientado à conexão;

Realiza comunicação fim-a-fim

Possui controle de fluxo através de utilização de janelas de

transmissão;

A conexão é definida pelos processos origem e destino;

A ordem dos dados enviados é mantida a mesma na recepção.

Mesmo que sejam entregues fora de ordem, o destinatário ordena os

pacotes para passar para a camada superior (sessão) através do uso

de número de seqüência (SEQ);

Aplicações mais comuns:

TELNET, FTP, SMTP,HTTP.;

Page 6: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 6

Ciência da Computação – Redes de Computadores

3.5.5) Estabelecimento de conexão TCP TCP transmissor estabelece conexão com o receptor antes de trocar segmentos

de dados, inicializando variáveis, números de seqüência, buffers para controle de

fluxo;

É estabelecida conexão através de Three way handshake:

Passo 1: sistema final cliente envia TCP SYN ao servidor e especifica número de

seqüência inicial ;

Passo 2: sistema final servidor que recebe o SYN, responde com segmento SYNACK

onde:

. Reconhece o SYN recebido;

. Aloca buffers;

. Especifica o número de seqüência inicial do servidor;

Passo 3: o sistema final cliente reconhece o SYNACK através de um segmento ACK

e inicia envio de dados;

Page 7: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 7

Ciência da Computação – Redes de Computadores

3.5.5) Estabelecimento de conexão TCP (cont)

SYN

ACK

dados

SYN, ACK

Host Origem Host Destino

(servidor)

Page 8: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 8

Ciência da Computação – Redes de Computadores

3.5.6) Encerramento de conexão TCP

dados

FIN

ACK,FIN

ACK

Após o envio dos dados, a sessão TCP pode ser encerrada por qualquer

uma das partes (cliente ou servidor) “elegantemente” através de um

segmento FIN. Este segmento não possui dados, sendo reconhecido por

ter o bit FIN do campo Flag do cabeçalho TCP “setado”.

Host Origem Host Destino

(servidor)

Page 9: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 9

Ciência da Computação – Redes de Computadores

3.5.7) Well-known TCP Ports

FTP

SMTP

TCP

nívelAplicação

nívelTransporte

portnumbers

TELNET

21 23 25

Page 10: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 10

Ciência da Computação – Redes de Computadores

3.5.8) Seqüencialização de segmentos Cada segmento TCP enviado tem um número de seqüência para que o módulo TCP no nó destino possa reordena-los na

chegada. Quando o nó destino recebe um segmento, envia uma confirmação através de um segmento TCP com o

campo Acknowlege preenchido. Neste campo está o número de seqüência do próximo segmento esperado, indicando

para o nó origem o correto recebimento, pelo nó destino, dos pacotes anteriores.

SP DP SEQ ACK

1028 23 10 1 ...

Estou enviandoo #10.

Recebi o #10;agora aguardo o #11.

SP DP SEQ ACK

23 1028 1 11 ...

Agora estouenviando o #11.

SP DP SEQ ACK

1028 23 11 2 ...

Page 11: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 11

Ciência da Computação – Redes de Computadores

3.5.9) Formato do segmento TCP

porta origem porta destino32 bits

dados de aplicação(tamanho variável)

número de seqüência

número de reconhecimentojanela de recep.

dados urgenteschecksum

FSRPAUtam.

cabec.não

usado

Opções (tamanho variável)

URG: dados urgentes (pouco usado)

ACK: campo de ACKé válido

PSH: produz envio dedados (pouco usado)

RST, SYN, FIN:estabelec. de conexão

(comandos de criação e término)

número de bytes receptor estápronto para aceitar

contagem porbytes de dados(não segmentos!)

Internetchecksum

Page 12: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 12

Ciência da Computação – Redes de Computadores

3.5.10) UDP - User Datagram Protocol

Protocolo de transporte internet “sem gorduras”, que faz o serviço “best effort”;

Segmentos UDP podem ser perdidos e/ou entregues fora de ordem para a aplicação;

Não orientado à conexão e sem controle de fluxo:

. Não há apresentação entre o UDP transmissor e o receptor

. Cada segmento UDP é tratado de forma independente dos outros;

Justificativas para utilização do UDP:

. Rapidez, pois não há estabelecimento de conexão (que pode redundar em atrasos);

. Simples, pois não não há verificação do estado de conexão (nem no transmissor nem

no receptor);

. Cabeçalho de segmento reduzido;

. Não há controle de congestionamento, assim o UDP pode enviar segmentos tão rápido

quanto desejado (e possível);

Aplicações: SNMP, TFTP (Trivial File Transfer Protocol), DNS e em aplicações de

multimídia contínua (streaming) tolerantes à perda e sensíveis à taxa.

Page 13: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 13

Ciência da Computação – Redes de Computadores

3.5.11) Well-known UDP Ports

DNS

UDP

nívelAplicação

nívelTransporte

portnumbers

TFTP

53 69 161

SNMP

Page 14: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 14

Ciência da Computação – Redes de Computadores

3.5.12) Formato do segmento UDP

porta origem porta destino

32 bits

Dados de Aplicação(mensagem)

Formato do segmento UDP

tamanho checksumTamanho, em

bytes do segmento UDP, incluindo

cabeçalho

Page 15: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 15

Ciência da Computação – Redes de Computadores

3.5.13) Transição do pacote TCP/IP

TELNET

FTP

DNS

TFTP

endereço MAC

TCP UDP

IP

Enlace

Físico

23 21 53 69

6 17

Page 16: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 16

Ciência da Computação – Redes de Computadores

3.5.13) Transição do pacote TCP/IP (cont)

TELNET

FTP

DNS

TFTP

Protocol

endereço MAC

TCP UDP

IP

Enlace

Físico

23 21 53 69

6 17

Page 17: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 17

Ciência da Computação – Redes de Computadores

3.5.13) Transição do pacote TCP/IP (cont)

TELNET

FTP

DNS

TFTP

Protocol

Endereço MAC

TCP UDP

IP

Enlace

Físico

23 21 53 69

6 17

Protocol

Page 18: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 18

Ciência da Computação – Redes de Computadores

3.5.13) Transição do pacote TCP/IP (cont)

Port numbers

TELNET

FTP

DNS

TFTP

Protocol

Endereço MAC

TCP UDP

IP

Enlace

Físico

23 21 53 69

6 17

Protocol

Page 19: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 19

Ciência da Computação – Redes de Computadores

3.6) A Camada de Aplicação76

4321

A B

AplicaçãoApresentação

SessãoTransporte

RedeEnlaceFísica

5

76

4321

5

Protocolos específicos: . HTTP

. FTP

. SMTP

. DNS

Programação de aplicações de rede

. Socket API

Page 20: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 20

Ciência da Computação – Redes de Computadores

3.6.1) A Camada de Aplicação

Processadorde textos

Banco de dados

Planilhade cálculo

Gerenciamento

Transferênciade arquivos

Emulaçãode terminal

Correio eletrônico

Aplicações - Hosts Aplicações - Rede

Page 21: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 21

Ciência da Computação – Redes de Computadores

3.6.1) Aplicações e Protocolos de Aplicações

Aplicação:

São processos distribuídos em

comunicação onde:

. Executam nos computadores usuários

da rede como programas de usuário;

. Trocam mensagens para realização da

aplicação. Exemplo: Email, FTP, WEB;

Protocolos de aplicação:

. Fazem parte das aplicações e definem

mensagens trocadas e as ações

tomadas;

. Usam serviços de comunicação das

camadas inferiores.

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

Page 22: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 22

Ciência da Computação – Redes de Computadores

3.6.2) Aplicações de Rede: Definições

Processo: programa executando num host.

Processos executando em diferentes hosts se comunicam com um

protocolo da camada de aplicação;

Agente usuário: software que faz interface entre os usuários da

rede. Implementa protocolo da camada de aplicação, ou seja:

. WEB: browser;

. E-mail: leitor de correio;

. Streaming audio/video: media player.

Page 23: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 23

Ciência da Computação – Redes de Computadores

3.6.3) Aplicações de Rede: Cliente - Servidor

Aplicações de rede típicas têm duas

partes: cliente e servidor

Cliente:

. Inicia comunicação com o servidor (“fala

primeiro”);

. Tipicamente solicita serviços do servidor,

. Web: cliente implementado no browser e

e-mail no leitor de correio;

Servidor:

. Fornece os serviços solicitados ao cliente;

. Exemplos: Web server envia a página

Web solicitada, servidor de e-mail envia as

mensagens.

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

pedido

resposta

Page 24: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 24

Ciência da Computação – Redes de Computadores

3.6.4) Interfaces de Programação

API: Application Programming Interface

Define a interface entre a camada de aplicação e de transporte

Socket: Internet API

Dois processos se comunicam enviando dados para o socket e lendo dados de

dentro do socket

Identificação e comunicação entre processos:

Um processo “identifica” o outro processo com o qual ele quer se comunicar

através de:

. IP address do computador no qual o processo remoto executa;

. Port Number que permite ao computador receptor determinar o processo local

para o qual a mensagem deve ser entregue.

Page 25: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 25

Ciência da Computação – Redes de Computadores

3.6.5) Alguns requisitos de Transporte de Aplicações comuns

Aplicação

File Transfer

E-mail

Web Documents

Real-time

Audio/video

Stored Audio/video

Jogos Interativos

E-business

Perdas

Sem Perdas

Sem Perdas

Tolerante

Tolerante

Tolerante

Tolerante

Sem Perda

Banda

Elástica

Elástica

Elástica

Aúdio: 5Kb-1Mb

Vídeo:10Kb-5Mb

Igual à anterior

Kbps

Elástica

Sensível Ao Atraso

Não

Não

Não

Sim, até 100 ms

Sim, segundos

Sim, até 100 ms

Sim

Page 26: 3) Arquiteturas, padrões e funcionalidades das camadas 1 Ciência da Computação – Redes de Computadores 3.5) A Camada de Transporte 7 6 4 3 2 1 A B Aplicação

3) Arquiteturas, padrões e funcionalidades das camadas3) Arquiteturas, padrões e funcionalidades das camadas 26

Ciência da Computação – Redes de Computadores

3.6.6) Aplicações e protocolos de Transporte da Internet

Aplicação

E-mail

Acesso De Terminais Remotos

Web

Transferência De Arquivos

Streaming Multimedia

Servidor de Arquivos Remoto

Telefonia Internet

Protocolo de

Aplicação

SMTP [RFC 821]

TelNet [RFC 854]

HTTP [RFC 2068]

ftp [RFC 959]

RTP ou proprietário

(e.g. RealNetworks)

NSF

RTP ou proprietário

(e.g., Vocaltec)

Protocolo de

Transporte

TCP

TCP

TCP

TCP

TCP ou UDP

TCP ou UDP

Tipicamente UDP