Você está na página 1de 17

A camada de Transporte a camada situada entre a camada de Internet e a

camada de Aplicao.
Ela pode fornecer uma conexo lgica entre os hosts que esto se
comunicando. Neste tipo de conexo, embora os processos dos aplicativos
que se comunicam no estejam diretamente conectados, eles comunicam-se
como estivessem.
Alm disso, ela pode transportar e regular o fluxo de informaes da origem
para o destino, de forma confivel e precisa, ou seja pode fazer controle de
fluxo na rede e trazer confiabilidade comunicao.

Aplicao

TCP Transmission Control Protocol

Transporte
Internet
Acesso ao Meio

UDP User Datagram Protocol

A comunicao lgica ocorrida na Camada de Transporte pode ser noorientada a conexo ou orientada a conexo.
Em uma transferncia de dados orientada a conexo, uma conexo lgica
deve ser estabelecida entre os processos gerados pelos aplicativos que iro
se comunicar pela rede, antes do envio de dados pela rede.
Em uma transferncia de dados no-orientada a conexo, nenhuma conexo
lgica precisa ser estabelicida para a comunicao.
A transferncia de dados pode ser classificada tambm como confivel ou
no-confivel. A transferncia de dados assegura que os mesmos chegaro
ao seu destino em uma sequncia adequada sem qualquer dano ou perda. A
transferncia no-confivel, no assegura a entrega dos segmentos ao seu
destino.

Diferenas entre transporte confivel e transporte no-confivel :


Confivel

No-Confivel

Entrega o segmento no destino


sem dano ou perda.

No assegura a entrega de dados


ao destino.

H um sequenciamento dos pacotes.

Os pacotes no so numerados.

O receptor envia um reconhecimento,


depois de receber um pacote do emissor.

No h reconhecimento do receptor.

Se o pacote no chegar ao receptor ou


chegar danificado, h retransmisso

No h retransmisso.

Deteco de duplicidade de pacotes que


possa a vir ocorrer devido a
retransmisso.

No h duplicidade por que no h


reconhecimento e retransmisso.

Controle de Fluxo e de
Congestionamento.

No h Controle de Fluxo e de
Congestionamento.

Os dois protocolos da camada de Transporte so o TCP e o UDP


TCP

UDP

Orientado a Conexo.

No-orientado a conexo.

Transporte confivel

Transporte no-confivel.

Divide a mensagem em segmentos.

divide a mensagem em segmentos.

Usa confirmaes.

No usa confirmaes.

Controle de fluxo.

No faz controle de fluxo.

Controle de Congestionamento.

No faz Controle de
Congestionamento.

UDP USER DATAGRAM PROTOCOL (RFC 0768)


O UDP fornece uma entrega de dados no-confivel (no-orientada a
conexo), no usa janelamento ou confirmaes. A confiabilidade ser
fornecida ento pelos protocolos da camada de aplicao. O UDP
projetado para aplicaes que no precisam juntar seqncias de
segmentos.
O DNS, o RIP e o SNMP, por exemplo, usam o UDP, pois este :
- No estabelece conexo, transferindo portanto os dados mais rapidamente
pela rede.
- Tamanho pequeno do cabealho (8 bytes), gerando menos overhead na
rede, tornando a comunicao mais rpida e eficiente.
Os protocolos que usam o UDP so:
* TFTP (Trivial File Transfer Protocol)
* SNMP (Simple Network Management Protocol)
* DHCP (Dynamic Host Control Protocol)
* DNS (Sistema de Nomes de Domnio)

Em geral o UDP usado quando a velocidade e eficcia so mais


importantes que a confiabilidade durante as transmisses pela rede.
Se quisermos aplicar confiabilidade durante uma transmisso UDP, quem
deve tratar esta confiabilidade a aplicao. Neste caso os aplicativos
devem ter total responsabilidade por resolver problemas de perda de
mensagem, duplicao, retardo e falta de sequenciamento.
O datagrama UDP consiste em um cabealho que contm 4 campos com 2
bytes cada mais a rea de dados.

32

16
Porta de Origem

Porta de Destino

Comprimento

Soma da verificao
Dados

TCP Transmission Controlo Protocol (RFC 0793)


O TCP um protocolo confivel e orientado a conexo pertencente
camada de Transporte. No TCP, antes de haver a troca de dados entre o
emissor e o receptor, necessrio que se estabelea a conexo entre eles. A
partir do estabelecimento da conexo os dados podem ser transmitidos pelos
hosts, nas duas direes. Esta conexo uma conexo lgica e no uma
conexo fsica.
Por ser um protocolo confivel, o TCP responsvel por resolver tambm
problemas de sequenciamento, controle de fluxo, congestionamento e por
fazer as confirmaes de entrega dos pacotes.
Uma conexo TCP est sempre entre um nico emissor e um nico receptor.
Isto o que chamamos de conexo ponto-a-ponto.

Parmetros de QoS no TCP :


- Estabelecimento de retardo para a conexo -> tempo entre uma
solicitao para conexo de transporte e o recebimento da confirmao.
Quanto menor o retardo melhor.
- Throughput -> Bytes por segundo durante a transferncia dos dados.
- Retardo de trnsito -> tempo entre o envio da mensagem e o recebimento
da mensagem pelo destino.
- Retardo para a liberao da conexo -> durao entre o incio de um
estabelecimento de conexo e a liberao da conexo.
- Prioridade -> Garante que as mensagens com prioridade alta sejam
passadas ao destino antes das mensagens de baixa prioridade.

TCP/IP Janela Deslizante


Na verdade o TCP no envia um segmento de cada vez, e sim vrios segmentos. Ele
faz isto atravs de uma tcnica conhecida como Janela Deslizante. Em uma janela
deslizante vrios segmentos so transmitidos, mesmo sem o recebimento de uma
confirmao. Esta janela implementa tambm um controle de fluxo, evitando que
estoure o buffer do receptor e segmentos sejam perdidos.
O tamanho do buffer (ou da janela) determinado no momento do estabelecimento de
conexo entre os dois hosts envolvidos na comunicao.
Digamos, por exemplo, que o tamanho da janela 5, o emissor poder enviar 5
segmentos mesmo sem receber uma confirmao. A transmisso ocorre e digamos
que o emissor recebeu a confirmao de 3 segmentos. Neste caso o emissor sabe que
o receptor j recebeu 3 segmentos e que o tamanho da janela de envio passa a ser 3.
A janela desliza ento, e o emissor transmite os prximos 3 segmentos. Neste caso o
tamanho da janela diminuiu, pois o receptor no foi capaz de receber e processar
rapidamente os 5 segmentos. Houve ento um controle de fluxo.

1)

9 10 11 12 13 14

2)

Segmentos
esquerda
da janela, so
segmentos que j
foram transmitidos.

9 10 11 12 13 14

Segmentos dentro
da janela, so
segmentos que
esto sendo
transmitidos.

Segmentos
direita
da janela, so
segmentos que
ainda sero
transmitidos.

Algoritmo Slow Start


Como vimos anteriormente, quando h um congestionamento, o TCP reduz
exponencialmente o tamanho da janela de congestionamento. Quando cessa
o congestionamento o TCP no pode reverter esta situao de forma
drstica, pois poderia gerar a situao de ausncia de trfego ou de
congestionamento de novo.
Para evitar isto, o TCP usa o algoritmo conhecido como Slow Start. Aps um
congestionamento o TCP coloca a janela para envio em um segmento, onde
este segmento ter o valor anunciado pelo n oposto (geralmente 512 ou 536
bytes) e vai aumentado de um segmento a cada reconhecimento recebido.
Isto ocorre numa nova conexo ou naquela que est se recuperando de um
congestionamento.

O Cabealho TCP :
0

23

15

Porta de Origem

31

Porta de Destino

Nmero de Sequncia
Nmero de Acknowledgment
OffSet Reservado

Controle

CheckSum

Janela
Urgent Pointer

Opes
Dados

Padding

Porta de Origem (16 bits) Nmero da Porta de Origem


Porta de Destino (16 bits) Nmero da Porta de Destino
Nmero de Sequncia (32 bits) Nmero de sequncia do primeiro octeto
de dados do segmento. O fluxo de dados 10000 bytes. O MSS 1000
bytes. O TCP vai criar ento 10 segmentos. O primeiro segmento ir ter
nmero de sequncia igual a 0, o segundo segmento ir ter nmero de
sequncia igual a 1000 e assim por diante.
Nmero de Acknowledgment (32 bits) Nmero de reconhecimento que
contm o valor do prximo nmero de sequncia. O acknowledge o
prximo byte que o servidor est esperando do cliente.
Offset (4 bits) Indica onde comea a parte de dados.
Reservado (6 bits) para uso futuro.

Portas
Numa comunicao TCP apenas entregar um segmento ao seu destino no basta. A
mensagem precisa alcanar o processo ou a aplicao de rede. Para isso, so usados
o que conhecemos como soquetes e portas.
Porta o ponto final que permite a comunicao entre os aplicativos (emissor e
receptor). Ou seja, para se comunicar com o aplicativo preciso se comunicar com a
porta referente aquele aplicativo. Uma porta identifica uma aplicao e permite que
hajam vrias conexes concorrentes numa mesma mquina.
Um nmero de porta um nmero de 16 bits que pode variar de 0 a 65535. Os
nmeros abaixo de 1024 so usados para servios pblicos ou servios populares.

20,21

FTP

80

HTTP

22

SSH

110

POP

23

TELNET

25

SMTP

53

DNS

Soquete
Um soquete indica o endereo completo da conexo e composto pelo
endereo IP de origem, porta de origem, endereo IP de destino, porta de
destino, e protocolo da camada de transporte.

Porta 1231

Porta 80

100.1.1.2

200.1.1.1

IP de Origem

Porta Origem

IP Destino

Porta Destino

Protocolo

100.1.1.2

1231

200.1.1.1

80

TCP

Estados da Conexo - Durante uma conexo, o TCP passa por vrios estados desde
o estabelecimento da conexo at o trmino da mesma. Vamos ver os estados do TCP
no CLIENTE, pela ordem :
1) CLOSED usado quando um cliente deseja iniciar uma conexo com um processo
de aplicativo no servidor.
2) SYN_SENT estado do cliente aps envio do segmento com SYN setado para o
estabelecimento de conexo. Neste momento o cliente est a espera de um
reconhecimento do servidor.
3) ESTABLISHED estado do cliente aps ter recebido o reconhecimento do pedido
de estabelecimento de conexo com o servidor. Neste momento o cliente j pode
enviar e receber dados gerados pelo aplicativo.
4) FIN_WAIT_1 quando um cliente decide fechar a conexo, ele envia um segmento
com bit FIN setado em 1. Neste estado o cliente est esperando pela confirmao que
vir do servidor com o qual deseja fechar a conexo.
5) FIN_WAIT_2 Quando ele recebe o reconhecimento, ele entra no estado de
FIN_WAIT_2. Ele espera pelo FIN setado como 1 vindo do servidor.
6) TIME_WAIT Quando o cliente recebe o FIN setado como 1 do servidor com o qual
ele pediu para finalizar a conexo, ele entra neste estado. Aps 30 segundos a
conexo fechada.

Vamos ver os estados do TCP no servidor, pela ordem :


1) CLOSED no h conexo entre o cliente e os processos do servidor
2) LISTEN o aplicativo no servidor fica escutando na porta para receber
alguma conexo. Na verdade o servidor est habilitado a receber uma
conexo naquela porta.
3) SYN_RCVD Quando o host servidor recebe o segmento SYN do cliente.
Nesse estado o servidor envia um segmento de reconhecimento concedendo
a conexo.
4) ESTABLISHED o servidor recebe a confirmao do SYNACK e est
pronto para trocar dados com o cliente.
5) CLOSE_WAIT o servidor recebe o segmento do cliente com o bit FIN
setado.

Você também pode gostar