Você está na página 1de 3

O Protocolo TCP

O protocolo especifica o formato dos dados e das confirmaes que os dois computadores trocam para oferecer uma transferncia confivel e, tambm, os procedimentos de que se valem os computadores para assegurar que os dados cheguem corretamente. No caso do TCP ele apresenta como principais caractersticas transferncia de dados confivel fim-a-fim (todo pacote transmitido requer um Ack que um bit de reconhecimento, h recuperao de dados perdidos, descarte de dados duplicados e reorganizao dos dados recebidos fora de ordem), comunicao bidirecional (full-duplex) entre cliente servidor, o sequenciamento: bytes de segmentos so numerados, de forma a garantir a entrega em ordem e a deteo e eliminao de duplicatas e voltado para atuar sobre redes heterogneas com tamanhos mximos de pacotes variveis, faixas de passagem variveis topologias distintas. O ponto fraco atual deste padro a adaptao a taxas de erros grandes, comum em comunicao sem fio (wireless). Este protocolo divide o processo de comunicao em trs fases o incio onde o cliente envia segmento tipo SYN (pedido de conexo, com nmero inicial da seqncia de numerao de bytes no sentido cliente servidor), o servidor reconhece pedido de conexo enviando segmento tipo SYN com bit de reconhecimento (ACK) ligado e com nmero inicial de seqncia de numerao no sentido servidor - cliente.e o destino envia segmento ACK reconhecendo SYN do servidor, a troca de dados onde efetivamente ocorre a transferncia de dados e o encerramento da conexo que pode ser iniciada tanto pelo cliente como pelo servidor e origem envia segmento FIN, o destino envia reconhecimento: ACK e algum tempo depois a destino envia FIN (sinalizando fim da conexo) e por fim origem envia reconhecimento Quando cada segmento for transmitido adicionado um checksum e quando estes so recebidos eles so verificados, se danificados os pacotes so descartados, como se tivessem se perdido pela rede e retransmitidos pela origem. O cabealho TCP representado desta maneira: .

32

Porta origem

Porta destino

Nmero de seqncia Nmero de confirmao


Tamanh o do cabeal

Reserva do Checksum

Tamanho da janela deslizante Urgent pointer

Opes (tamanho varivel) Dados (tamanho varivel)

Onde: Porta origem e porta destino Identificam os pontos terminais da conexo: processos ou threads Nmero de seqncia Identifica a posio deste segmento no fluxo de dados e cada conexo possui um fluxo de dados particular Nmero de confirmao Utilizado para confirmar o recebimento de segmentos enviados anteriormente e especifica o prximo segmento aguardado Tamanho do cabealho Tamanho do cabealho TCP (nmeros de palavras de 32 bits) URG Seu valor igual a 1 se houver informao no campo Urgent Pointer ACK Se seu valor for 1: indica que o segmento parte de uma conversao e que o valor do campo Acknoledgement number vlido,

se seu valor for 0 e o flag SYN for 1: indica que o segmento uma solicitao de conexo PSH Campo usado pelo remetente do segmento para indicar ao receptor que o segmento em questo deve ser entregue imediatamente ao nvel superior RST Utilizado para reiniciar uma conexo que tenha ficado confusa devido a uma falha na estao ou por qualquer outra razo SYN Usado em conjunto com o ACK para solicitar ou aceitar uma conexo SYN=1 ACK=0: requisio de conexo SYN=1 ACK=1: conexo aceita SYN=0 ACK=1: confirmao do recebimento FIN Usado para encerrar uma conexo e indica que o transmissor no tem mais dados para enviar Tamanho da janela deslizante - Indica o tamanho (disponvel) do buffer do receptor e usado pelo receptor para indicar ao transmissor que diminua o fluxo de transmisso de dados Checksum Verificao de erros Urgent pointer Usado pela origem para indicar onde se encontra algum dado urgente dentro do segmento Opes Campo para configurao de opes Dados Dados das aplicaes O protocolo tcp fundamental para as comunicaes da internet desde os primrdios da rede, pois a maior parte dos protocolos de aplicao necessita de transmisses confiveis. Como conseqncia, a maioria dos protocolos de aplicao so implementados sobre TCP e no UDP e alguns poucos protocolos so i mplementados diretamente sobre IP. Sua importncia pode ser constatada atravs de fatos como um sistema de peso como o Unix j vir com ele implementado no ncleo do SO (assim como UDP).

Você também pode gostar