Professional Documents
Culture Documents
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
A camada de transporte responsvel pela entrega de uma mensagem entre processos finais. Realiza a comunicao entre processos.
Dados so divididos em segmentos. Estes so enviados e recebidos por meio de nmeros de sequncia.
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?
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
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.
10
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
12
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
14
15
16
17
18
19
20
21
22
23
24
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
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
27
29
30
31
32
33
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 do Destino #
Soma de Verificao
A soma de verificao uma operao matemtica utilizada para determinar se bits dentro do segmento UDP foram alterados
35
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
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
38
Cabealho UDP
40
possvel que uma aplicao tenha transferncia confivel de dados usando UDP?
41
42
DNS
43
44
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
47
48
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
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
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
53
O valor do campo nmero de sequncia de um segmento define o nmero do primeiro byte de dados contido naquele segmento.
54
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
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
Conexo TCP
59
60
61
62
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
64
65
66
67
68
Controle de Fluxo
69
controle de fluxo
remetente no estourar buffer do destinatrio transmitindo muitos dados muito rapidamente
processo da aplicao
processo da aplicao
servio de compatibilizao de velocidades: compatibiliza a taxa de envio do remetente com a de leitura da aplicao receptora
70
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
Exemplos
72
Operao normal
73
74
Segmento perdido
75
76
77
78