Escolar Documentos
Profissional Documentos
Cultura Documentos
Luiz Arthur 1
A Camada de transporte e responsvel por fornecer um meio de transporte
lgicos aos dados transmitidos pela rede. Esse transporte pode ser orientado a
conexo e no orientado a conexo, isto na prtica tratado pelos protocolos
TCP (Transmission Control Protocol) e UP (User ata!ram Protocolo).
" transporte dos dados pode na prtica ser tratado na Camada de Enlace, porm
o modelo TCP#$P tra%al&a com a pior &ip'tese poss(vel, )ue a de a Camada de
Enlace no controlar o transporte dos dados, ento o modelo TCP#$P cuida disto
de forma l'!ica na Camada de Transporte, utili*ando principalmente o protocolo
TCP )ue orientado a conexo.
Alm, disso na camada de $nter+redes, um endere,o IP de destino identifica
apenas um host e nen&uma outra distin,o feita com referencia a )ual usurio
ou )ual pro!rama rece%er o data!rama.
Ento na Camada de Transporte os protocolos UP e o TCP ampliam a pil&a de
protocolos TCP#$P, acrescentando um mecanismo )ue permite discernir entre
diversas dire,-es em um dado &ost (isto c&amado de Porta de .ede),
permitindo )ue vrios pro!ramas aplicativos executados em determinado
computador enviem e rece%am data!ramas isoladamente.
$sto necessrio pois a maioria dos Sistemas Operacionais so multitarefa
podendo executar diversos aplicativos ao mesmo tempo. Tais tarefas so o
!eralmente o destino final da maioria das tarefas.
Camada de Transporte
Luiz Arthur 2
Cada Porta de protocolo )ue identifica um processo de rede identificado por um
n/mero inteiro positivo. " 0istema "peracional fornece um mecanismo de
interface )ue os processos usam para especificar uma porta ou acess+la.
Para comunicar-se com uma porta exterior um transmissor precisa
conhecer tanto o endereo IP da mquina de destino como o nmero da
porta de destino de protocolo nessa m)uina. $dentificando assim o &ost de
destino da mensa!em %em como o aplicativo de destino.
Cada mensa!em de rede deve transportar o n/mero de porta de destino da
m)uina para )ual a mensa!em enviada e tam%m da porta de origem da
m)uina de ori!em para a )ual as respostas devero ser endere,adas. Assim,
poss(vel )ue )ual)uer processo )ue rece%a uma mensa!em responda ao
transmissor.
!s portas tam"#m ser$em para identificar uma dada conexo por exemplo,
ima!ine uma conexo da m)uina 12.2.2.1 para um servidor de p!inas na
m)uina 12.2.2.345, tal conexo pode ser representada da se!uinte forma6
%&'&'&'%())&&% * %&'&'&'+,-(.&. 0endo )ue 12.2.2.1 o &ost de ori!em 77221
a porta de ori!em ()ue aleat'ria) e 12.2.2.345 o &ost de destino 82
aporta %em con&ecida do servidor de p!inas. A resposta do servidor de p!inas
ocorrer no sentido inverso, exemplo6 %&'&'&'+,-(.& * %&'&'&'%())&&%, isto
permite a identifica,o da conexo, alm de permitir vrias conex-es na mesma
m)uina de ori!em e destino.
Camada de Transporte
Luiz Arthur 3
/0P 1 2/ser 0atagram Protocol3
" User ata!ram Protocol (UP) fornece um servi,o de entre!a )ue dados sem
conexo no confivel, usando $P para transportar mensa!ens entre as m)uinas.
" UP usa o $P para identificar &osts (destino final), mas acrescenta a
capacidade de distin!uir entre vrios destinos (aplicativos) dentro de
determinado &ost, utili*ando as Portas.
Ento o UP fornece o mecanismo principal utili*ado pelos pro!ramas aplicativos
para enviar data!ramas a outros pro!ramas. 9ornecendo Portas de protocolo
para esta%elecer a distin,o entre os diversos pro!ramas executados em um
&ost.
Cada mensa!em UP leva, os dados a serem enviados, um n/mero de porta de
destino e tam%m um n/mero de porta de ori!em, tornando poss(vel )ue o
soft:are UP no destino, entre!ue a mensa!em ao destinatrio correto e
possi%ilitando, ao destinatrio enviar uma resposta.
Um pro!rama aplicativo )ue usa UP aceita inteiramente a responsa%ilidade de
lidar com o pro%lema de confia%ilidade, inclusive perda de mensa!em,
duplica,o, retardo, transmisso defeituosa e perda de conectividade. Cada
mensa!em UP con&ecida como um data!rama de usurio.
Camada de Transporte
Luiz Arthur 4
Em o UP consiste em duas partes6 ca%e,al&o UP; e rea de dados UP.
Cada campo do ca%e,al&o UP tem as se!uintes fun,-es6
Source Port (Porta de "ri!em) e 0estination Port (Porta de estino)6 Cont<m
os n/meros de Porta do protocolo UP de 1= %its usados para demultiplexar
(entre!ar) os data!ramas entre os processos (pro!ramas) )ue esperam para
rece%<+los. A Porta de ori!em opcional e especifica a porta para a )ual devem
ser enviadas as respostas; se no usada dever ser *ero.
/0P lengh6 > o taman&o do data!rama e contm uma conta!em de octetos do
data!rama UP, incluindo o ca%e,al&o UP e os dados de usurios. Assim o valor
m(nimo para esse oito (apenas ca%e,al&o).
Source Port Destination Port
UDP length UDP Checksum
Playload/Dados
1! 31
Camada de Transporte
Luiz Arthur "
/0P chec4sum6 Este campo rece%e a soma de verifica,o para ver se o
ata!rama UP est correto. Esse campo opcional (neste caso preenc&ida
com *eros), isso foi feito para permitir ao UP operar com o m(nimo de over&ead
poss(vel, e torn+lo mais simples. ?as lem%re+se )ue o $P no fa* a verifica,o de
inte!ridade da parte de dados. Portanto, a soma de verifica,o oferece o /nico
modo de asse!urar )ue os dados ten&am c&e!ado intactos e possam ser usados.
A soma de verifica,o UP a%ran!e mais informa,-es do )ue consta do
data!rama UP so*in&o. Para calcular a soma de verifica,o, o UP inicialmente
adiciona um pseudoca%e,al&o ao data!rama UP, acrescenta um octeto de *eros
para preenc&er o data!rama e fa*er dele um m/ltiplo exato de 1= %its e calcula a
soma de verifica,o co%rindo todo o o%@eto.
Porm o octeto usado para o preenc&imento e o pseudoca%e,al&o no so
transmitidos com o data!rama UP, nem so inclu(dos no comprimento. " uso de
um pseudoca%e,al&o tem como finalidade verificar se o data!rama UP atin!iu o
seu destino correto.
Source Address #$P de %rigem&
Destination Address #$P de Destino&
UDP length Protocol #'eros&
32 (its
Camada de Transporte
Luiz Arthur !
" pseudoca%e,al&o feito com o endere,o $P de ori!em e destino, o campo
protocol ()ue indica o protocolo usado neste caso o UP). Aote )ue estes campos
so o%tidos no data!rama $P e no no data!rama UP.
" campo UP len!t& do pseudo ca%e,al&o o /nico campo extra(do do
data!rama UP.
A soma de verifica,o UP inclui ento os endere,os $P de ori!em, $P de destino
e protcolo. " )ue si!nificando )ue o soft:are UP deve intera!ir com o soft:are
$P para encontrar endere,os antes de enviar data!ramas.
A forte intera,o ente UP e $P violam a premissa %sica de )ue a coloca,o em
camadas reflete separa,o de funcionalidades. "u se@a, cada camada deveria ser
independente da outra, porm como poss(vel ver isto no acontece na prtica
com o modelo TCP#$P. B )ue o UP da Camada de Transporte est estreitamente
inte!rado com o protocolo $P da Camada de $nter+rede.
" TCP inclui o mesmo pseudo ca%e,al&o para a soma de verifica,o.
Por fim, depois do ca%e,al&o vem o plaCload#ados, )ue ir conter as
informa,-es uteis do usurio, a ser entre!ue ao protocolo da Camada de
Aplica,o.
Camada de Transporte
Luiz Arthur )
5ncapsulamento do /0P
" Encapsulamento do UP ocorre da se!uinte forma6
Aeste caso iniciamos o encapsulamento na Camada de Transporte utili*ando o
protocolo UP e o encapsulamos (colocamos dentro) do data!rama $P na Camada
de $nter+rede, por fim, usamos um )uadro (frame) Et&ernet para enviar pela rede
a informa,o na Camada de Enlace. Ao &ost de destino feito o
desempacotamento do data!rama UP. Aote )ue a informa,o enviada pela rede
seria al!o como a fi!ura a se!uir6
Ca(e*alho
UDP
+rea de dados UDP
Ca(e*alho
$P
+rea de dados $P
Ca(e*alho
,thernet
+rea de dados ,thernet
Ca(e*alho
,thernet
Ca(e*alho
$P
Ca(e*alho
UDP
+rea de dados UDP
Camada de Transporte
Luiz Arthur -
6ultiplexao7 demultiplexao e portas /0P
" conceito de multiplexar si!nifica %asicamente sair de uma camada e ir para
outra, por exemplo, sair da Camada de Aplica,o e ir para a Camada de
Transporte. B o conceito de demultiplexa,o o processo inverso, ou se@a, tirar a
informa,o da Camada de Transporte e ir para a Camada de Aplica,o.
Aote )ue este conceito @ foi usado na Camada de Enlace, com o campo Tipo do
padro Et&ernet, por exemplo para entre!ar a informa,o para a Camada de
$nter+.ede (para o protocolo $P, por exemplo). E na Camada de $nter+.ede para ir
para a Camada de Transporte, usando o campo Protocol do $P para entre!ar a
informa,o para o UP ou TCP.
Conceitualmente, toda a multiplexa,o e demultiplexa,o entre UP e os
pro!ramas aplicativos ocorre por meio do mecanismo de Porta. Assim, na prtica
cada pro!rama precisa ne!ociar com o sistema operacional para o%ter uma
Porta de protocolo e um n/mero de porta associado antes de poder envia um
data!rama UP. Duando a porta tiver sido atri%u(da, )ual)uer data!rama )ue o
pro!rama aplicativo enviar por ela ter esse n/mero de porta em seu campo
0ource Port.
Ao processar a entrada, o UP aceita data!ramas )ue c&e!am do $P e
desmultiplexa com %ase na porta de destino UP.
Camada de Transporte
Luiz Arthur .
Duando o UP rece%e um data!rama, ele verifica se o n/mero da porta de
destino com%ina com uma das portas atualmente em uso. 0e no, ele envia uma
mensa!em de erro $C?P de porta inalcan,vel (port unreac&ea%le) e descarta o
data!rama. 0e for ac&ada uma com%ina,o, o UP enfileira o novo data!rama na
porta em )ue o pro!rama aplicativo pode acess+lo. Aaturalmente pode
acontecer desta fila @ estar c&eia e desta forma pode &aver erros na entre!a, e o
UP descarta o data!rama )ue c&e!a.
A multiplexa,o tam%m se aplica ao protocolo TCP.
Camada de $nter/0ede
$P
UDP1 Demulti2le3a*4o
com (ase na 2orta
Porta 1 Porta 2 Porta 5
Datagrama UDP chega
Camada de Transporte
Luiz Arthur 1
8mero de porta /0P reser$ados e dispon9$eis
Antes de )ual)uer opera,o de rede dois computadores precisam com%inar a
respeito dos n/meros de portas a serem usadas. Existem duas tcnicas
fundamentais para a atri%ui,o de porta.
A primeira tcnica usa uma autoridade central atri%ua n/meros de porta
confirme a necessidade e pu%li)ue a lista de todas as atri%ui,-es. epois, todo
soft:are criado de acordo com a lista. Essa tcnica Es ve*es c&amada de
atri%ui,o universal, e as atri%ui,-es de porta especificadas pela autoridade so
c&amadas atri%ui,-es de porta %em con&ecidas (:ell+Fno:n port assi!nments).
A se!unda tcnica para atri%ui,o de porta utili*a o v(nculo dinGmico. Aa tcnica
de v(nculo dinGmico, as portas no so con&ecidas !lo%almente. Em ve* disso,
sempre )ue um pro!rama precisa de uma porta, o soft:are de rede atri%ui uma.
Para desco%rir a atri%ui,o de porta em outro computador, preciso enviar uma
re)uisi,o )ue per!unte a atri%ui,o de porta atual (por exemplo, H)ue porta o
servi,o de transfer<ncia de ar)uivos est usandoIJ). A m)uina de destino
responde dando o n/mero de porta correto a usar.
"s pro@etistas do TCP#$P adotaram uma tcnica &(%rida )ue atri%ui al!uns
n/meros de porta a priori, mas deixa muitos dispon(veis para os sites locais ou os
pro!ramas aplicativos atri%u(rem dinamicamente. "s n/meros de porta
atri%u(dos come,am com valores %aixos e se estendem para cima, deixando
valores inteiros !randes dispon(veis para atri%ui,o dinGmica. " mesmo vale para
o TCP.
Camada de Transporte
Luiz Arthur 11
Kale a pena relem%rar explicitamente al!umas a,-es )ue o UP no reali*a. Ele
no reali*a controle de fluxo, controle de erros ou retransmisso ap's a recep,o
de um se!mento incorreto. "u se@a, ele um protocolo no orientado a conexo
assim como $P s' fornecendo ento uma maneira de entre!ar os dados na
Camada de Aplica,o (multiplexa,o).
" UP fornece apenas a)uilo )ue determinado. Uma rea na )ual o UP
especialmente /til a de situa,-es cliente#servidor. Com fre)L<ncia, o cliente
envia uma pe)uena solicita,o ao servidor e espera uma pe)uena resposta de
volta. 0e a solicita,o ou a resposta se perder, o cliente simplesmente c&e!ar ao
timeout (exceder o tempo) e tentar de novo.
Ao s' o c'di!o simples, mas necessrio um n/mero menor de mensa!ens
(uma em cada sentido) do )ue no caso de um protocolo )ue exi!e uma
confi!ura,o inicial, tal como o TCP.
Uma aplica,o )ue utili*a o UP desse modo o A0 (omain Aame 0Cstem),
)ue estudaremos no posteriormente na Camada de Aplica,o. Em resumo, um
pro!rama )ue precisa pes)uisar o endere,o $P de al!um nome de &ostM por
exemplo, :::.!oo!le.com M pode enviar um pacote UP contendo o nome do
&ost a um servidor A0. " servidor responde com um pacote UP )ue contm o
endere,o $P. Ao necessria nen&uma confi!ura,o antecipada e tam%m
nen&um encerramento posterior. Nasta enviar duas mensa!ens pela rede.
Camada de Transporte
Luiz Arthur 12
" UP ento um protocolo muito simples de se implementar e de se utili*ar. E
al!umas aplica,-es iram re)uerer esta simplicidade, tal como aplica,-es em
tempo real, tal como Ko* so%re $P O Ko$P, dentre outras. Assim, podemos destacar
as vanta!ens e desvanta!ens do UP (de um protocolo no orientado a conexo).
esvanta!ens do UP6