Você está na página 1de 78

Redes de computadores e a Internet

Camada de Transporte
Objetivos do captulo: Entender os princpios por trs dos servios da camada de transporte: Multiplexao/demultiplexao Transferncia de dados confivel Controle de fluxo Controle de congestionamento Aprender sobre os protocolos de transporte na Internet: UDP: transporte no orientado conexo TCP: transporte orientado conexo Controle de congestionamento do TCP

Redes de computadores e a Internet


Camada de Transporte
3.1 Servios da camada de transporte 3.2 Multiplexao e demultiplexao 3.3 Transporte no orientado conexo: UDP 3.4 Transporte orientado conexo: TCP Estrutura do segmento Transferncia confivel de dados Controle de fluxo Gerenciamento de conexo 3.5 Princpios de controle de congestionamento 3.6 Controle de congestionamento do TCP

Redes de computadores e a Internet


Camada de Transporte

A camada de transporte responsvel pela entrega de uma mensagem entre processos finais. Realiza a comunicao entre processos.

Redes de computadores e a Internet Modelo OSI

Dados so divididos em segmentos. Estes so enviados e recebidos por meio de nmeros de sequncia.

Redes de computadores e a Internet


Camada de Transporte
Endereos de Porta

Redes de computadores e a Internet


Camada de Transporte

Ampliar o servio de entrega da camada de rede entre dois sistemas finais para um servio de entrega entre dois processos da camada de aplicao que rodam nos sistemas finais. Como duas entidades podem se comunicar de maneira confivel por um meio que pode perder e corromper dados?

Redes de computadores e a Internet

Servios sem conexo - UDP

Servios orientados a Conexo TCP


7

Redes de computadores e a Internet

Servio sem Conexo

Em um servio de transporte sem conexo (Connectionless), os pacotes so transmitidos de uma parte a outra sem a necessidade do estabelecimento de circuitos virtuais. Os pacotes no so numerados: durante sua transmisso, eles podem ser corrompidos ou perdidos, ou ento, podem at chegar fora de ordem.Tambm no existe confirmao do recebimento dos pacotes.
8

Redes de computadores e a Internet

Servio orientado a Conexo

Em um servio de transporte orientado a conexo (Connection- oriented), estabelece-se, primeiro, uma conexo entre a origem e o destino dos dados. Logo aps, os dados podem ser transferidos. No final, a conexo encerrada.

Redes de computadores e a Internet


Protocolos e Servios de Transporte
Fornecem comunicao lgica entre processos de aplicao em diferentes hospedeiros Os protocolos de transporte so implementados e executados nos sistemas finais. Lado emissor: quebra as mensagens da aplicao em segmentos e envia para a camada de rede Lado receptor: remonta os segmentos em mensagens e passa para a camada de aplicao de as

H mais de um protocolo transporte disponvel para aplicaes Internet: TCP e UDP

10

Redes de computadores e a Internet


Camada de Transporte vs. Camada de Rede
Camada

de rede: comunicao lgica entre os

hospedeiros Camada de transporte: comunicao lgica entre os processos Os protocolos da camada de transporte dependem dos servios da camada de rede
Analogia com uma casa familiar: 12 crianas enviam cartas para 12 crianas Processos = crianas Mensagens da aplicao = cartas nos envelopes Hospedeiros = casas Protocolo de transporte = Anna e Bill Protocolo da camada de rede = servio postal
Exemplo

11

Redes de computadores e a Internet


Camada de Transporte

12

Redes de computadores e a Internet


Protocolos da Camada de Transporte da Internet
TCP e UDP so implementados nos usurios finais

Confivel, garante ordem de entrega (TCP) Controle de congestionamento Controle de fluxo Orientado conexo No confivel, sem ordem de entrega: UDP Servios no disponveis: Garantia a atrasos Garantia de banda

13

Redes de computadores e a Internet


Camada de Transporte
3.1 Servios da camada de transporte 3.2 Multiplexao e demultiplexao 3.3 Transporte no orientado conexo: UDP 3.4 Transporte orientado conexo: TCP Estrutura do segmento Transferncia confivel de dados Controle de fluxo Gerenciamento de conexo 3.5 Princpios de controle de congestionamento 3.6 Controle de congestionamento do TCP

14

Redes de computadores e a Internet


Multiplexao e Demultiplexao orientada conexo- TCP

Conexes TCP simultneas

15

Redes de computadores e a Internet


MULTIPLEXAO E DEMULTIPLEXAO
CONCEITO DE MULTIPLEXAO CONCEITO DE DEMULTIPLEXAO

16

Redes de computadores e a Internet


MULTIPLEXAO E DEMULTIPLEXAO

17

Redes de computadores e a Internet


MULTIPLEXAO

18

Redes de computadores e a Internet


MULTIPLEXAO

Multiplexao FDM Multiplexao por diviso de Frequncia

19

Redes de computadores e a Internet


MULTIPLEXAO

Multiplexao TDM Multiplexao por diviso de Tempo

20

Redes de computadores e a Internet


Endereo de porta

A camada de Transporte utiliza o endereo de porta para selecionar e enderear processos.

21

Redes de computadores e a Internet


PORTAS

22

Redes de computadores e a Internet


PORTAS

23

Redes de computadores e a Internet


Multiplexao e Demultiplexao orientada conexo- TCP

24

Redes de computadores e a Internet


Multiplexao e Demultiplexao orientada conexo- TCP

Como o hospedeiro A est escolhendo nmeros de porta independentemente de C, ele poderia tambm atribuir um nmero de porta da fonte 26145 sua conexo HTTP. Apesar disso, o servidor B ainda ser capaz de demultiplexar corretamente as duas conexes que tm o mesmo nmero de porta de fonte, j que elas possuem endereos IP de fonte diferentes.

25

Redes de computadores e a Internet


Multiplexao e Demultiplexao orientada conexo- TCP
Datagramas com IP de origem diferentes e/ou portas de origem diferentes so direcionados para o sockets diferentes
P1 P4 P5 P6 PF:7532 DP: 80 F-IP: C D-IP: B PF: 26145 PD: 80 F-IP: A D-IP: B PF: 26145 PD: 80 F-IP: C D-IP: B P2 P1P3

cliente IP: A

servidor IP: B

cliente IP: C

PF: Porta da Fonte PD: Porta de Destino F-IP : Endereo IP da fonte D-IP: Endereo IP do destino

26

Redes de computadores e a Internet


Como funciona a demultiplexao
Computador recebe datagramas (pacotes) IP Cada pacote possui endereo IP de origem e IP de destino Cada pacote carrega 1 segmento da camada de transporte Cada segmento possui nmeros de porta de origem e destino (lembre-se: nmeros de porta bem conhecidos para aplicaes especficas) O hospedeiro usa endereos IP e nmeros de porta para direcionar o segmento ao socket apropriado

27

Redes de computadores e a Internet


PORTAS
Cada nmero de porta um nmero de 16 bits na faixa de 0 a 65535. Os nmeros de porta entre 0 e 1023 so denominados nmeros de porta bem conhecidos. HTTP porta 80 FTP porta 21 Lista de porta apresentada na RFC 1700 e atualizada em www.iana.org IANA (Internet Assigned Number Authority)
28

Redes de computadores e a Internet


Camada de Transporte
3.1 Servios da camada de transporte 3.2 Multiplexao e demultiplexao 3.3 Transporte no orientado conexo: UDP 3.4 Transporte orientado conexo: TCP Estrutura do segmento Transferncia confivel de dados Controle de fluxo Gerenciamento de conexo 3.5 Princpios de controle de congestionamento 3.6 Controle de congestionamento do TCP

29

Redes de computadores e a Internet


UDP: User Datagram Protocol [RFC 768]
Protocolo de transporte da Internet sem gorduras, sem frescuras. Servio best effort, segmentos UDP podem ser: Perdidos Entregues fora de ordem para a aplicao Sem conexo: No h apresentao entre o UDP transmissor e o receptor Cada segmento UDP tratado de forma independente dos outros

30

Redes de computadores e a Internet

Utilizao de endereos de porta

31

Redes de computadores e a Internet


UDP: User Datagram Protocol [RFC 768]
Por que existe um UDP? No h estabelecimento de conexo (que possa GERAR atrasos). Simples: no h estado de conexo nem no transmissor, nem no receptor. Cabealho de segmento reduzido. No h controle de congestionamento: UDP pode enviar segmentos to rpido quanto desejado (e possvel).

32

Redes de computadores e a Internet


UDP: User Datagram Protocol [RFC 768]
protocolo de transporte da Internet sem luxo, bsico servio de melhor esforo, segmentos UDP podem ser: perdidos entregues aplicao fora da ordem sem conexo: sem handshaking entre remetente e destinatrio UDP cada segmento UDP tratado independente dos outros

Por que existe um UDP?


sem estabelecimento de conexo (que pode gerar atraso) simples: sem estado de conexo no remetente, destinatrio cabealho de segmento pequeno sem controle de congestionamento: UDP pode transmitir o mais rpido possvel

33

Redes de computadores e a Internet

Figura 2.: Estrutura do segmento UDP.


34

Redes de computadores e a Internet


Mais sobre UDP
32 bits

Muito usado por aplicaes de multimdia contnua (streaming) Tolerantes perda Sensveis taxa de transmisso Usos do UDP: DNS Telefonia por Internet Protocolo de roteamento- RIP SNMP Protocolo de gerenciamento de rede

Porta da Fonte # Comprimento

Porta do Destino #
Soma de Verificao

Dados da Aplicao (Mensagem)

Estrutura de segmento UDP

A soma de verificao uma operao matemtica utilizada para determinar se bits dentro do segmento UDP foram alterados
35

Redes de computadores e a Internet

PORQUE O UDP FORNECE UMA SOMA DE VERIFICAO DE ERRO, VISTO QUE MUITOS PROTOCOLOS DA CAMADA DE ENLACE (DENTRE OS QUAIS, O POPULAR PROTOCOLO ETHERNET) TAMBM FORNECEM VERIFICAO DE ERROS?

36

Redes de computadores e a Internet

R: A RAZO QUE NO H GARANTIA DE QUE TODOS OS ENLACES ENTRE A ORIGEM E O DESTINO FORNEAM VERIFICAO DE ERROS UM DOS ENLACES PODE USAR UM PROTOCOLO DA CAMADA DE ENLACE QUE NO FORNEA VERIFICAO DE ERRO. PODE HAVER INTRODUO DE ERROS DE BIT QUANDO UM SEGMENTO ARMAZENADO NA MEMRIA DE UM ROTEADOR. COMO PODE SER OBSERVADO NA FIGURA 2.

37

Redes de computadores e a Internet


Verificao de erros do protocolo UDP

Figura 2.: Controle de erro.

38

Redes de computadores e a Internet


Mais sobre UDP
DNS utiliza preferencialmente o UDP para evitar atrasos de estabelecimentos de conexo, como realizado pelo TCP. SNMP utiliza o UDP, pois aplicaes de gerenciamento de rede frequentemente devem funcionar quando a rede est em estado sobregarregado exatamente quando difcil conseguir transferncia confivel de dados com congestionamento controlado. O protocolo de roteamento RIP ( Routing Information protocol) utiliza UDP.
39

Redes de computadores e a Internet


Mais sobre UDP
Cabealho IP

Cabealho UDP

Nmero do protocolo UDP

40

Redes de computadores e a Internet


Mais sobre UDP
O UDP no possui controle de congestionamento, assim a rede poderia ser inundada com pacotes UDP, o que causaria mais atrasos das conexes TCP.

possvel que uma aplicao tenha transferncia confivel de dados usando UDP?

41

Redes de computadores e a Internet


Mais sobre UDP
Sim desde que a confiabilidade esteja embutida na aplicao. Assim as aplicaes podem se comunicar de maneira confivel sem ter de se sujeitar s limitaes da taxa de transmisso impostas pelo mecanismo de controle de congestionamento do TCP. Muitas aplicaes proprietrias de udio e vdeo fazem exatamente isto rodam sobre UDP, mas dispem de reconhecimentos e retransmisses embutidos na aplicao para reduzir a perda de pacotes.

42

Redes de computadores e a Internet


Portas conhecidas usadas com o UDP

DNS

43

Redes de computadores e a Internet


Camada de transporte
3.1 Servios da camada de transporte 3.2 Multiplexao e demultiplexao 3.3 Transporte no orientado conexo: UDP 3.4 Transporte orientado conexo: TCP Estrutura do segmento Transferncia confivel de dados Controle de fluxo Gerenciamento de conexo 3.5 Princpios de controle de congestionamento 3.6 Controle de congestionamento do TCP

44

Redes de computadores e a Internet


Princpios de transferncia confivel de dados
Importante nas camadas de aplicao, transporte e enlace Top 10 na lista dos tpicos mais importantes de redes!

A CAMADA DE REDE POSSUI UM CANAL NO CONFIVEL DE ENTREGA DE DADOS.


45

Redes de computadores e a Internet


TCP: Viso geral
RFCs: 793, 1122, 1323, 2018, 2581 dados full duplex:
ponto a ponto:
um remetente, um destinatrio

cadeia de bytes confivel, em ordem:


sem limites de mensagem

dados bidirecionais fluem na mesma conexo MSS: tamanho mximo do segmento

buffers de envio & recepo

orientado a conexo:
apresentao (troca de msgs de controle) inicia estado do remetente e destinatrio antes da troca de dados

fluxo controlado:
remetente no sobrecarrega destinatrio
46

Redes de computadores e a Internet


TCP: PONTOS PRINCIPAIS
Ponto-a-ponto: Um transmissor, um receptor Orientado conexo: Apresentao (troca de mensagens de controle) inicia o estado do transmissor e do receptor antes da troca de dados Servio full-duplex Dados da camada de aplicao fluem de A para B ao mesmo tempo em que os dados da camada de aplicao fluem de B para A.

47

Redes de computadores e a Internet


TCP: PONTOS PRINCIPAIS

Segmentos a espera de confirmao

FIGURA 2.: Buffers de transmisso e recepao.

48

Redes de computadores e a Internet


SEGMENTAO TCP

FIGURA 2.: Segmentos TCP.


49

Redes de computadores e a Internet


SEGMENTAO TCP

Nmero de bytes
Os bytes de dados transmitidos em cada conexo so numerados pelo TCP. A numerao comea com um nmero gerado randomicamente. A numerao independente para cada sentido de transmisso.

50

Redes de computadores e a Internet


SEGMENTAO TCP

Nmero de Sequncia
Aps os bytes terem sido numerados, o TCP atribui um nmero de sequncia para cada segmento que est sendo transmitido. O nmero de sequncia para cada segmento identificado pelo nmero do primeiro byte transportado no segmento.

51

Redes de computadores e a Internet


SEGMENTAO TCP

Nmero de Sequncia
Suponha que uma conexo TCP esteja transferindo um arquivo de 5.000 bytes. O primeiro deles recebe a numerao 10.001. Quais so os nmeros de sequncia para cada segmento se os dados forem enviados em cinco segmentos,cada um deles transportando 1.000 bytes?

52

Redes de computadores e a Internet


SEGMENTAO TCP

FIGURA 2.: Exemplo de segmentos TCP.

53

Redes de computadores e a Internet


SEGMENTAO TCP

O valor do campo nmero de sequncia de um segmento define o nmero do primeiro byte de dados contido naquele segmento.

54

Redes de computadores e a Internet


SEGMENTAO TCP

Nmero de Confirmao
O valor do campo de confirmao em um segmento define o nmero do prximo byte que o lado remoto espera receber. O nmero de confirmao cumulativo. Exemplo, se uma parte usa 5.643 como nmero de confirmao, ela recebeu todos os bytes do incio at 5.642. Note que isso no significa que a parte tenha recebido 5.642 bytes, porque o nmero do primeiro byte nem sempre comea do 0.
55

Redes de computadores e a Internet


CONTROLE DE FLUXO

Controle de Fluxo
O TCP implementa controle de fluxo. O receptor pode controlar a quantidade de dados que enviada pelo emissor. Isso feito para evitar que o receptor fique sobrecarregado com uma quantidade excessiva de dados.

56

Redes de computadores e a Internet


Controle de Congestionamento
O TCP leva em conta o nvel de congestionamento da rede. A quantidade de dados que podem ser transmitidos por um emissor no controlada apenas pelo receptor (controle de fluxo), mas tambm pelo nvel de congestionamento da rede. Isso feito para evitar que o receptor fique sobrecarregado com uma quantidade excessiva de dados.
57

Redes de computadores e a Internet


Formato de um segmento TCP

FIGURA 2.:Formato de um segmento TCP.

Utilizado para o controle de 58 fluxo.

Redes de computadores e a Internet

Conexo TCP

59

Redes de computadores e a Internet


Fases de uma conexo TCP
Antes de transmitir dados h o estabelecimento de uma conexo demoninado Handshaking. Transferncia de dados. Encerramento da conexo.

60

Redes de computadores e a Internet

Conexo TCP - Handshaking

61

Redes de computadores e a Internet


Conexo TCP - Handshaking

FIGURA 2.:Estabelecimento de conexo TCP - handshaking.

62

Redes de computadores e a Internet


Ataque de negao de servios (denial of sevice) Ataque de negao de servios (denial of sevice)
Acontece

quando um invasor mal-intencionado transmite um grande nmero de segmentos SYN a um servidor, simulando que cada um deles provm de um cliente diferente, forjando os endereos IP de origem dos datagramas. O servidor, partindo da premissa de que os clientes estejam solicitando uma conexo ativa, aloca os recursos necessrios como, buffers, ativao de timers, etc.

63

Redes de computadores e a Internet


Ataque de negao de servios (denial of sevice) Ataque de negao de servios (denial of service) O servidor TCP transmite ento o segmento SYN + ACK para os falsos clientes que so ignorados e perdidos. Se o nmero de solicitaes SYN for muito grande, o servidor pode vir a ficar sem recursos disponveis e poder cair.

64

Redes de computadores e a Internet


Conexo TCP Transferncia de dados

Conexo TCP - Transferncia de dados

65

Redes de computadores e a Internet


Conexo TCP Transferncia de dados
Indica que o destinatrio deve passar os dados para a camada superior imediatamente. Na prtica no usado.

FIGURA 2.:Transferncia de dados em uma conexo TCP.

66

Redes de computadores e a Internet


Conexo TCP Encerramento da conexo

Conexo TCP Encerramento da conexo

67

Redes de computadores e a Internet


Conexo TCP Encerramento da conexo

FIGURA 2.:Encerramento de uma conexo TCP.

68

Redes de computadores e a Internet


Controle de Fluxo

Controle de Fluxo

69

Redes de computadores e a Internet


Controle de Fluxo
lado receptor da conexo TCP tem um buffer de recepo:
espao datagramas de buffer (atualmente) IP no usado

controle de fluxo
remetente no estourar buffer do destinatrio transmitindo muitos dados muito rapidamente

dados TCP (no buffer)

processo da aplicao

processo da aplicao

pode ser lento na leitura do buffer

servio de compatibilizao de velocidades: compatibiliza a taxa de envio do remetente com a de leitura da aplicao receptora
70

Redes de computadores e a Internet


Controle de fluxo TCP: como funciona
espao datagramas de buffer (atualmente) IP no usado dados TCP (no buffer)

processo da aplicao

rwnd RcvBuffer

(suponha que destinatrio TCP descarte segmentos fora de ordem) espao de buffer no usado:
= rwnd

destinatrio: anuncia espao de buffer no usado incluindo valor de rwnd no cabealho do segmento (campo de janela de recepo) remetente: limita o nmero de bytes em rwnd
garante que buffer do destinatrio no estoura
71

Redes de computadores e a Internet

Exemplos

72

Redes de computadores e a Internet

Operao normal

73

Redes de computadores e a Internet


Exemplos

FIGURA 2.:Operao normal de uma conexo TCP.

74

Redes de computadores e a Internet

Segmento perdido

75

Redes de computadores e a Internet

76

Redes de computadores e a Internet

77

Redes de computadores e a Internet

78