TRANSPORTE
REDE
Camada de transporte fornece servios de comunicao diretamente aos processos de
aplicao que rodam em hospedeiros diferentes.
Um protocolo de camada de transporte fornece comunicao lgica entre processos de
aplicao que rodam em hospedeiros diferentes. De forma que processos de aplicao usam a
comunicao logica provida por esta camada para enviar mensagens entre si, livres da
preocupao dos detalhes da infraestrutura fisica utilizada para transportar essas mensagens.
Protocolos de camada de transporte sao implementados nos sistemas finais, nao em
roteadores de rede.
No lado remetente, a camada de transporte converte mensagens recebidas de um processo
de aplicacao remetentes em pacotes de camada de transporte (chamados segmentos de
camada de transporte, no jargao). Isso possivelmente feito fragmentando-se as mensagens
em pedaos menores e atribuindo-lhes um cabealho de camada de transporte para criar os
segmentos. A camada de transporte, ento, passa o segmento para a camada de rede no
sistema final remetenta, onde o segmento ser encapsulaod em um pacote de camada de rede
(um datagrama) e enviado ao destinatrio. No lado destinatrio, a camada de rede extrai do
datagrama o segmento de camada de transporte e passa-o para a camada de transporte. Esta
processa o segmento recebido e disponibiliza os dados para a aplicao destinatria.
A camada de transporte se situa logo acima da camada de rede na pilha de protocolos.
Enquanto um protocolo de camada de transporte fornece comunicao logica entre processos
que rodam em hospedeiros diferentes, um protocolo de camada de rede fornece comunicacao
logica entre hospedeiros. Essa distinao sutil, mas util.
Analogia dos priminhos
mensaens de aplicacao = cartas em envelopes
processos = primos
hospedeiros (sistemas finais) = casas
protocolo de camada de transporte = Ann e Bill
protocolo de camada de rede = servio postal (incluindo os carteiros)
A Internet - e de maneira mais geral, a rede TCP/IP - disponibiliza dois protocolos de
transporte distintos para a camada de aplicacao (obs: o desenvolvedor da aplicacao escolhe
entre um dos dois ao criar sockets):
UDP (User Datagram Protocol) que prove aplicacao solicitante um servio nao confiavel, nao
orientado para conexao.
TCP (Transmission Control Protocol) que prov aplicacao solicitante um servio confiavel,
orientado para conexao.
O protocolo de camada de rede da Internet tem um nome, o IP (Internet Protocol), ele prov
comunicacao logica entre hospedeiros. O modelo de servio do IP um servio de entrega de
melhor esforo, isto significa que ele faz o "melhor esforo" para levar segmentos entre
hospedeiros comunicantes mas nao da nenhuma garantia. O IP nao garante a entrega de
segmentos, a entrega ordenada, e tampouco a integridade dos dados nos segmentos, por
conta disso denominado um servio nao confiavel.
UDP e TCP tm ambos as responsabilidades de ampliar o servio de entrega IP entre dois
sistemas finais para um servio de entrega entre dois processos que rodam nos sistemas
finais, denominada mutiplexacao/demultiplexacao de camada de transporte; tambm verificam
integridade ao incluir campos de deteccao de erros nos cabecalhos de seus segmentos.
Estes dois servios mnimos de camada de transporte so os unicos que o UDP fornece.
Como o IP, o UDP um servio nao confiavel. Nao garante que os dados enviados por um
processo cheguem (quando chegam) intactos ao processo destinatarios.
Receptor: calcula checksum do segmento recebido; verifica se o checksum calculado bate com
o valor recebido, se sim, nenhum erro (aparentemente), se no, erro detectado.
Principios de transferencia confiavel de dados
O problema de implementar transferencia conviavel de dados ocorre nao somente na camada
de transporte, mas tambem na camada de enlace e na de aplicacao. Assim, o problema geral
de importancia central para o trabalho em rede. E, na verdade, o problema da transferencia
conviavel de dados o candidato numero um dentre os maiores problemas fundamentalmente
importantes para o trabalho em rede.
Com uma transferencia conviavel de dados, nenhum dos dados transferidos corrompido
(trocado de 0 para 1 ou vice versa), nem perdido, e todos sao entregues na ordem em que
foram enviados. (Esse justamente o modelo de servio oferecido pelo TCP s aplicacoes de
Internet que recorrem a ele.
responsabilidade de um protocolo de transferencia confiavel de dados implementar esse
servio, no entanto, a tarefa dificultada pelo fato de que a camada abaixo do protocolo de
transferencia confiavel de dados pode ser nao confiavel. Por exemplo, o TCP um protocolo
confiavel de transferencia de dados que implementado sobre uma camada de rede fim a fim
nao confiavel (a IP).