Top Banner
1 Redes de computadores e a Internet Camada de Transporte Objetivos do capítulo: Entender os princípios por trás dos serviços da camada de transporte: Multiplexação/demultiplexação Transferência de dados confiável Controle de fluxo Controle de congestionamento Aprender sobre os protocolos de transporte na Internet: UDP: transporte não orientado à conexão TCP: transporte orientado à conexão Controle de congestionamento do TCP
43

Redes de computadores e a Internet

Jan 03, 2016

Download

Documents

sumitra-chetan

Redes de computadores e a Internet. Camada de Transporte. Objetivos do capítulo:  Entender os princípios por trás dos serviços da camada de transporte:  Multiplexação/demultiplexação  Transferência de dados confiável  Controle de fluxo  Controle de congestionamento - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Redes de computadores e a Internet

 

1

Redes de computadores e a InternetCamada de Transporte

Objetivos do capítulo: Entender os princípios por trás dos serviços da camada de transporte:

Multiplexação/demultiplexação Transferência de dados confiável Controle de fluxo Controle de congestionamento

Aprender sobre os protocolos de transporte na Internet: UDP: transporte não orientado à conexão TCP: transporte orientado à conexão Controle de congestionamento do TCP

Page 2: Redes de computadores e a Internet

 

2

Redes de computadores e a Internet

3.1 Serviços da camada de transporte

3.2 Multiplexação e demultiplexação

3.3 Transporte não orientado à conexão: UDP

3.4 Transporte orientado à conexão: TCP Estrutura do segmento Transferência confiável de dados Controle de fluxo Gerenciamento de conexão

3.5 Princípios de controle de congestionamento

3.6 Controle de congestionamento do TCP

Camada de Transporte

Page 3: Redes de computadores e a Internet

 

3

Redes de computadores e a InternetCamada de Transporte

• Ampliar o serviço de entrega da camada de rede entre dois sistemas finais para um serviço de entrega entre dois processos da camada de aplicação que rodam nos sistemas finais.

Como duas entidades podem se comunicar de maneira confiável por um meio que pode perder e corromper dados?

Page 4: Redes de computadores e a Internet

 

4

Redes de computadores e a Internet

Fornecem comunicação lógica entre processos de aplicação em diferentes hospedeiros

Os protocolos de transporte são implementados e executados nos sistemas finais.

Lado emissor: quebra as mensagens da aplicação em segmentos e envia para a camada de rede

Lado receptor: remonta os segmentos em mensagens e passa para a camada de aplicação

Há mais de um protocolo de transporte disponível para as aplicações Internet: TCP e UDP

Protocolos e Serviços de Transporte

Page 5: Redes de computadores e a Internet

 

5

Redes de computadores e a InternetCamada de Transporte vs. Camada de

Rede Camada de rede: comunicação lógica entre os hospedeiros Camada de transporte: comunicação lógica entre os processos

Os protocolos da camada de transporte dependem dos serviços da camada de rede

Analogia com uma casa familiar:12 crianças enviam cartas para 12 crianças Processos = crianças Mensagens da aplicação = cartas nos envelopes Hospedeiros = casas Protocolo de transporte = Anna e Bill Protocolo da camada de rede = serviço postal

Page 6: Redes de computadores e a Internet

 

6

Redes de computadores e a InternetCamada de Transporte vs. Camada de

RedeAnalogia com uma casa familiar:• Anna e Bill, ao recolherem as cartas e colocarem-nas na caixa postal fazem todo o seu trabalho dentro de suas casas.

• Da mesma maneira protocolos da camada de transporte “moram” nos sistemas finais.

• Roteadores não reconhecem nehuma informação que a camada de transporte possa ter anexado às mensagens da aplicação nem agem sobre ela.• Se Anna e Bill forem substituidos por Susan e Harvey, pode acontecer do serviço não ser o mesmo.

•As cartas podem ser recolhidas com menos frequência e algumas podem se perder. Simulação do protocolo UDP.

Page 7: Redes de computadores e a Internet

 

7

Redes de computadores e a Internet

Confiável, garante ordem de entrega (TCP- Transmission Control Protocol – Protocolo de controle de transmissão)

Controle de congestionamento Controle de fluxo Orientado à conexão

Não confiável, sem ordem de entrega: UDP (User Datagram Protocol- Protocolo de datagrama de Usuário)

• Serviços não disponíveis:

Garantia a atrasos Garantia de banda

Protocolos da Camada de Transporte da Internet

Page 8: Redes de computadores e a Internet

 

8

Redes de computadores e a Internet

TCP - Fornece

• Transferência confiável de dados.

Controle de congestionamento Evita que conexões TCP “abarrotem a rede” com uma quantidade excessiva de tráfego. Isto é feito pela regulagem da taxa com a qual o lado remetente do TCP pode enviar tráfego para dentro da rede.

UDP Fornece entrega de dados entre processos. Mas nao

garente que os dados enviados cheguem. Verificação de erros.

Protocolos da Camada de Transporte da Internet

Page 9: Redes de computadores e a Internet

 

9

Redes de computadores e a Internet

3.1 Serviços da camada de transporte

3.2 Multiplexação e demultiplexação

3.3 Transporte não orientado à conexão: UDP

3.4 Transporte orientado à conexão: TCP Estrutura do segmento Transferência confiável de dados Controle de fluxo Gerenciamento de conexão

3.5 Princípios de controle de congestionamento

3.6 Controle de congestionamento do TCP

Camada de Transporte

Page 10: Redes de computadores e a Internet

 

10

Redes de computadores e a InternetMULTIPLEXAÇÃO

Imagine que voce está utilizando dois processos FTP, um processo Telnet e um processo HTTP.

Quando a camada de transporte em seu computador receber dados da camada de rede abaixo dela, precisará direcionar os dados recebidos a um desses quatro processos.

Como isto é feito?

Page 11: Redes de computadores e a Internet

 

11

Redes de computadores e a InternetMULTIPLEXAÇÃO

Page 12: Redes de computadores e a Internet

 

12

Redes de computadores e a Internet

Multiplexação no hospedeiro emissor:Demultiplexação no hospedeiro receptor:

Coleta dados de múltiplos sockets, envelopa os dados com cabeçalho (usado depois para demultiplexação)

Entrega os segmentos recebidos ao socket correto

Socket

Page 13: Redes de computadores e a Internet

 

13

Redes de computadores e a InternetMultiplexação e Demultiplexação orientada à conexão-

TCP

• No exemplo anterior das cartas, Anna quando recolhe as correspondências para colocá-las em uma caixa de correios, realiza a multiplexação e quando as coleta da caixa e entrega a cada criança, realiza demultiplexação.

Page 14: Redes de computadores e a Internet

 

14

Redes de computadores e a Internet PORTAS

• Cada número de porta é um número de 16 bits na faixa de 0 a 65535.• Os números de porta entre 0 e 1023 são denominados números de porta bem conhecidos.

• HTTP porta 80• FTP porta 21

• Lista de porta é apresentada na RFC 1700 e atualizada em www.iana.org

Ao desenvolvermos aplicações devemos atribuir a ela um número de porta.

Page 15: Redes de computadores e a Internet

 

15

Redes de computadores e a InternetMultiplexação e Demultiplexação orientada à conexão-

TCP

• Um socket TCP é identificado por uma ênupla de quatro elementos:

• Endereço IP da fonte• Número de porta da fonte• Endereço IP do destino• Número de porta do destino

Page 16: Redes de computadores e a Internet

 

16

Redes de computadores e a InternetMultiplexação e Demultiplexação orientada à conexão-

TCP

Page 17: Redes de computadores e a Internet

 

17

Redes de computadores e a InternetMultiplexação e Demultiplexação orientada à conexão-

TCP

• Como o hospedeiro A está escolhendo números de porta independentemente de C, ele poderia também atribuir um número de porta da fonte 26145 à sua conexão HTTP. Apesar disso, o servidor B ainda será capaz de demultiplexar corretamente as duas conexões que têm o mesmo número de porta de fonte, já que elas possuem endereços IP de fonte diferentes.

Page 18: Redes de computadores e a Internet

 

18

Redes de computadores e a InternetMultiplexação e Demultiplexação não orientada à conexão- UDP

Cria sockets com números de porta entre 1024 e 65535 que não esteja sendo usado naquele instante:

Socket UDP identificado por dois valores:(endereço IP de destino, número da porta de destino)

Quando o hospedeiro recebe o segmento UDP: Verifica o número da porta de destino no segmento Direciona o segmento UDP para o socket com este número de porta

Datagramas com IP de origem diferentes e/ou portas de origem diferentes são direcionados para o mesmo socket

Socket UDP

Page 19: Redes de computadores e a Internet

 

19

Redes de computadores e a Internet

clienteIP: B

P2

cliente IP: A

P1P1P3

servidorIP: C

PF: 6428

PD: 9157

PF: 9157

PD: 6428

PF: 6428

PD: 5775

PF: 5775

PD: 6428

Multiplexação e Demultiplexação não orientada à conexão- UDP

PF: Porta da FontePD: Porta de Destino

Datagramas com IP de origem diferentes e/ou portas de origem diferentes são direcionados para o mesmo socket

Page 20: Redes de computadores e a Internet

 

20

Redes de computadores e a InternetMultiplexação e Demultiplexação orientada à conexão-

TCP

clienteIP: C

P1

cliente IP: A

P1P2P4

servidorIP: B

PF: 26145

PD: 80

PF: 26145

PD: 80

P5 P6 P3

D-IP: BF-IP: A

D-IP: B

F-IP: C

PF:7532

DP: 80

D-IP: BF-IP: C

PF: Porta da FontePD: Porta de DestinoF-IP : Endereço IP da fonteD-IP: Endereço IP do destino

Datagramas com IP de origem diferentes e/ou portas de origem diferentes são direcionados para o sockets diferentes

Page 21: Redes de computadores e a Internet

 

21

Redes de computadores e a InternetComo funciona a demultiplexação

Computador recebe datagramas (pacotes) IP Cada pacote possui endereço IP de origem e IP de destino.

Cada pacote carrega 1segmento da camada de transporte.

Cada segmento possui números de porta de origem e destino (lembre-se: números de porta bem conhecidos para

aplicações específicas)

O hospedeiro usa endereços IP e números de porta para direcionar o segmento ao socket apropriado

Page 22: Redes de computadores e a Internet

 

22

Redes de computadores e a Internet

Socket TCP identificado por 4 valores: Endereço IP de origem End. porta de origem Endereço IP de destino End. porta de destino

Hospedeiro receptor usa os quatro valores para direcionar o segmento ao socket apropriado

Hospedeiro servidor pode suportar vários sockets TCP simultâneos: Cada socket é identificado pelos seus próprios 4 valores Servidores Web possuem sockets diferentes para cada cliente conectado

Multiplexação e Demultiplexação orientada à conexão- TCP

Page 23: Redes de computadores e a Internet

 

23

Redes de computadores e a InternetDiferença entre Demultiplexação do TCP e UDP

• UDP• Um socket UDP é totalmente identificado por dois elementos, consistindo em um endereço IP de destino e um número de porta de destino. Consequentemente, se dois segmentos UDP tiverem IP de fonte e/ou números de porta de fonte diferentes, porém o mesmo endereço IP de destino e o mesmo número de porta de destino, eles serão direcionados ao mesmo processo de destino por meio do mesmo socket de destino.

Page 24: Redes de computadores e a Internet

 

24

Redes de computadores e a InternetDiferença entre Demultiplexação do TCP e UDP

• TCP• Um socket TCP é totalmente identificado por 4 elementos, consistindo em um endereço IP de destino e um número de porta de destino, IP da fonte e número da porta da fonte.• Assim, quando um segmento TCP que vem da rede chega a um hospedeiro, este usa todos os quatro valores para direcionar (demultiplexar) o segmento para o socket apropriado.

Page 25: Redes de computadores e a Internet

 

25

Redes de computadores e a InternetDemux orientada à conexão servidor Web “threaded”

• Nem sempre existe uma correspondência unívoca entre sockets de conexão e processos.

• Na verdade, os servidores WEB de alto desempenho atuais muitas vezes utilizam um processo, mas criam uma nova thread (sub-processo) com um novo socket de conexão para cada nova conexão cliente.

Page 26: Redes de computadores e a Internet

 

26

Redes de computadores e a InternetDemux orientada à conexão servidor Web “threaded”

3 - 26

clienteIP: C

P1

cliente IP: A

P1P2

servidorIP: B

PF: 26145

DP: 80

PF: 26145

DP: 80

P4 P3

D-IP: BF-IP: A

D-IP: B

F-IP: C

PF:7532

DP: 80

D-IP: BF-IP: C

PF: Porta da FontePD: Porta de DestinoF-IP : Endereço IP da fonteD-IP: Endereço IP do destino

Page 27: Redes de computadores e a Internet

 

27

Redes de computadores e a Internet

3.1 Serviços da camada de transporte

3.2 Multiplexação e demultiplexação

3.3 Transporte não orientado à conexão: UDP

3.4 Transporte orientado à conexão: TCP Estrutura do segmento Transferência confiável de dados Controle de fluxo Gerenciamento de conexão

3.5 Princípios de controle de congestionamento

3.6 Controle de congestionamento do TCP

Camada de Transporte

Page 28: Redes de computadores e a Internet

 

28

Redes de computadores e a InternetUDP: User Datagram Protocol [RFC 768]

•Protocolo de transporte da Internet “sem gorduras”, “sem frescuras”. Serviço “best effort”, segmentos UDP podem ser:

Perdidos Entregues fora de ordem para a aplicação

Sem conexão: Não há apresentação entre o UDP transmissor e o receptor Cada segmento UDP é tratado de forma independente dos outros

Page 29: Redes de computadores e a Internet

 

29

Redes de computadores e a InternetUDP: User Datagram Protocol [RFC 768]

Por que existe um UDP? Não há estabelecimento de conexão (que possa redundar em atrasos).

Simples: não há estado de conexão nem no transmissor, nem no receptor.

Cabeçalho de segmento reduzido. Não há controle de congestionamento: UDP pode enviar segmentos tão rápido quanto desejado (e possível).

Page 30: Redes de computadores e a Internet

 

30

Redes de computadores e a InternetMais sobre UDP

Muito usado por aplicações de multimídia contínua (streaming) Tolerantes à perda Sensíveis à taxa de transmissão

Usos do UDP:• DNS• Telefonia por Internet

• Protocolo de roteamento- RIP

• SNMP – Protocolo de gerenciamento de rede

Porta da Fonte # Porta do Destino #

Comprimento Soma de Verificação

Dados da Aplicação (Mensagem)

32 bits

Estrutura de segmento UDP

A soma de verificação é uma operação matemática utilizada para determinar se bits dentro do segmento UDP foram alterados

Possui apenas 4 CAMPOS DE 2 BYTES

Page 31: Redes de computadores e a Internet

 

31

Redes de computadores e a InternetMais sobre UDP

• DNS roda sobre UDP para evitar atrasos de estabelecimentos de conexão, como é realizado pelo TCP.

• SNMP utiliza o UDP, pois aplicações de gerenciamento de rede frequentemente devem funcionar quando a rede está em estado sobregarregado – exatamente quando é difícil conseguir transferência confiável de dados com congestionamento controlado.

Page 32: Redes de computadores e a Internet

 

32

Redes de computadores e a InternetMais sobre UDP

• O UDP não possui controle de congestionamento, assim a rede poderia ser inundada com pacotes UDP, o que causaria mais atrasos das conexões TCP.

É possível que uma aplicação tenha transferência confiável de dados usando UDP?

Page 33: Redes de computadores e a Internet

 

33

Redes de computadores e a InternetMais sobre UDP

• Sim desde que a confiabilidade esteja embutida na aplicação.

• Assim as aplicações podem se comunicar de maneira confiável sem ter de se sujeitar às limitações da taxa de transmissão impostas pelo mecanismo de controle de congestionamento do TCP.

• Muitas aplicações proprietárias de áudio e vídeo fazem exatamente isto – rodam sobre UDP, mas dispõem de reconhecimentos e retransmissões embutidos na aplicação para reduzir a perda de pacotes.

Page 34: Redes de computadores e a Internet

 

34

Redes de computadores e a InternetCamada de transporte

3.1 Serviços da camada de transporte

3.2 Multiplexação e demultiplexação

3.3 Transporte não orientado à conexão: UDP

3.4 Transporte orientado à conexão: TCP Estrutura do segmento Transferência confiável de dados Controle de fluxo Gerenciamento de conexão

3.5 Princípios de controle de congestionamento

3.6 Controle de congestionamento do TCP

Page 35: Redes de computadores e a Internet

 

35

Redes de computadores e a InternetPrincípios de transferência confiável de dados

Importante nas camadas de aplicação, transporte e enlace

Top 10 na lista dos tópicos mais importantes de redes!

TRANSFERÊNCIA CONFIÁVEL DE DADOS

Page 36: Redes de computadores e a Internet

 

36

Redes de computadores e a InternetPrincípios de transferência confiável de dados

O TCP é um protocolo confiável de transferência de dados que é implementado sobre uma camada de rede não confiável. (IP)

Page 37: Redes de computadores e a Internet

 

37

Redes de computadores e a InternetTCP: RFCs: 793, 1122, 1323, 2018, 2581

Ponto-a-ponto: Um transmissor, um receptor.

Orientado à conexão: Apresentação (troca de mensagens de controle) inicia o

estado do transmissor e do receptor antes da troca de dados.

Serviço full-duplex Dados da camada de aplicação fluem de A para B ao

mesmo tempo em que os dados da camada de aplicação fluem de B para A.

Page 38: Redes de computadores e a Internet

 

38

Redes de computadores e a Internet

3 - 38

URG: dados urgentes (pouco usados)

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 quereceptor estápronto para aceitar

contagem porbytes de dados(não segmentos!)

Internetchecksum

(como no UDP)

ESTRUTURA DO SEGMENTO TCP

Controle de FluxoImplementação de um

serviço confiável de dados

Page 39: Redes de computadores e a Internet

 

39

Redes de computadores e a Internet

O TCP divide o arquivo a ser transmitido em blocos de bytes.

0 ........1 1000 ........ 1999 ........ 499.9999

Arquivo d e 500 bytes

Dados para o primeiro segmento

Dados para o segundo segmento

Número de sequência 0

Número de sequência 1000

Número de reconhecimento será o número de sequência do próximo byte de dados que o hospedeiro esta aguardando.

Page 40: Redes de computadores e a Internet

 

40

Redes de computadores e a Internet

Page 41: Redes de computadores e a Internet

 

41

Redes de computadores e a InternetEXEMPLO TELNET

Host An° de sequência inicial é 42.

Host Bn° de sequência inicial é 79.

Tamanho do arquivo 1 byte-Letra “C”.

Os valores de sequências iniciais nem sempre começam no 0.

Page 42: Redes de computadores e a Internet

 

42

Redes de computadores e a Internet

Processos de aplicação podem ser lentos para ler o buffer.

Controle de fluxoTransmissor não deve esgotar os buffers de recepção enviando dados rápido demais

CONTROLE DE FLUXO

Page 43: Redes de computadores e a Internet

 

43

Redes de computadores e a InternetCONTROLE DE CONGESTIONAMENTO

O CONTROLE DE CONGESTIONAMENTO É VERIFICADO QUANDO OCORRE UM CONGESTIONAMENTO NA REDE IP. A DIFERENÇA DO CONTROLE DE FLUXO É QUE ESTE DEVE-SE ESTRITAMENTE À VELOCIDADE DE PROCESSAMENTO DAS INFORMAÇÕES POR MEIO DAS APLICAÇÕES.