You are on page 1of 64

CCNA Exploration Network Fundamentals

Captulo 4 OSI Camada de Transporte


Copyright 2008 Version 4.0 Ch 4 - 1

Objetivos
Explicar a necessidade da camada de Transporte. Identificar o papel da camada de Transporte, visto que, ela proporciona a transferncia fim-a-fim de dados entre aplicaes. Descrever o papel de dois protocolos TCP/IP da camada de Transporte: TCP e UDP. Explicar as funes principais da camada de Transporte, incluindo confiabilidade, endereamento de porta e segmentao. Explicar como o TCP e o UDP gerenciam funeschave. Identificar quando apropriado usar o TCP ou o UDP e apresentar exemplos de aplicaes que usam cada um desses protocolos.
Copyright 2008 Version 4.0 Ch 4 - 2

Funes da Camada de Transporte


A camada de Transporte o link entre a camada de Aplicao e a camada inferior, que responsvel pela transmisso na rede. A camada de transporte aceita dados de diferentes conversaes e os passa para as camadas inferiores como segmentos gerenciveis que podem ser finalmente multiplexados no meio. As aplicaes no precisam saber dos detalhes operacionais da rede em uso. As aplicaes geram dados que so enviados de uma aplicao a outra, sem considerar o tipo de host de destino, o tipo de meio sobre o qual o dado deve trafegar, o caminho tomado pelo dado, o congestionamento em um link, ou o tamanho da rede. As camadas inferiores no esto a par de que existem mltiplas aplicaes enviando dados na rede. Sua funo entregar os dados ao dispositivo apropriado. A camada de transporte ento organiza esses segmentos antes de entreg-los aplicao apropriada.
Copyright 2008 Version 4.0 Ch 4 - 3

Funes da Camada de Transporte


Habilita a comunicao de mltiplas aplicaes na rede ao mesmo tempo em um nico dispositivo Assegura que todos os dados sero recebidos de forma confivel e em ordem pela aplicao correta. Emprega mecanismos de tratamento de erros

Copyright 2008

Version 4.0

Ch 4 - 4

Funes da Camada de Transporte (contd)

Copyright 2008

Version 4.0

Ch 4 - 5

Funes Camada de Transporte (contd)


A camada de Transporte proporciona a segmentao de dados e o controle necessrio para reagrupar esses segmentos em fluxos de comunicao. Suas responsabilidades primrias para realizar isto so: Rastrear a comunicao individual entre as aplicaes nos hosts de origem e destino.
Os hosts podem ter mltiplas aplicaes que se comunicam atravs da rede. Cada uma destas aplicaes ir se comunicar com uma ou mais aplicaes em hosts remotos. responsabilidade da camada de Transporte manter fluxos mltiplos de comunicao entre estas aplicaes.

Segmentar dados e gerenciar cada segmento


As aplicaes criam um fluxo de dados para ser enviado a uma aplicao remota. Estes dados so preparados em segmentos gerenciveis. Cada segmento requer a adio de cabealhos da camada de Transporte para indicar a qual comunicao ele est associado. .
Copyright 2008 Version 4.0 Ch 4 - 6

Funes Camada de Transporte (contd)


Reagrupar os segmentos em fluxos de dados de aplicao
No host de destino, cada segmento de dados deve ser direcionado para a aplicao apropriada. Para isto, estes segmentos precisam ser reconstrudos em um fluxo completo de dados que seja til para a camada de Aplicao.

Copyright 2008

Version 4.0

Ch 4 - 7

Funes da Camada de Transporte (contd)


Identificando as diferentes Aplicaes
Para passar os fluxos de dados para as aplicaes apropriadas, a camada de Transporte deve identificar a aplicao de destino. Para realizar isso, a camada de Transporte designa aplicao um identificador. Os protocolos TCP/IP chamam esse identificador de nmero de porta. A cada processo de software que precise acessar a rede designado um nmero de porta nico naquele host. Este nmero de porta usado no cabealho da camada de transporte para indicar a qual aplicao aquele segmento de dado est associado.

Copyright 2008

Version 4.0

Ch 4 - 8

Funes da Camada de Transporte (contd) Gerenciamento da Informao


A Camada de Transport e segmenta os dados e gerncia a separao e entrega destes dados para as diferentes aplicaes.
Mltiplas aplicaes coexistem num mesmo dispositivo. A Camada de Transporte garante que os dados da chamada telefnica no sero direcionadas para o web browser.

Copyright 2008

Version 4.0

Ch 4 - 9

Funes da Camada de Transporte (contd) Gerenciamento da Informao


E-mail e pginas web
Um e-mail ou pgina web devem ser completamente recebidos e apresentados para que a informao seja considerada til. Pequenos atrasos so considerados aceitveis para assegurar que a informao completa seja recebida e apresentada. A Camada de Transporte gerncia e retransmite os segmentos perdidos.

Conversaso Telefnica
Pequenas perdas de uma conversa telefnica pode ser considerada aceitvel, desde que o receptor possa inferir a perda de udio a partir do contexto da conversa. O receptor pode solicitar a outra pessoa para repetir o que foi dito. Isto considerado prefervel a atrasos que resultariam de pedido rede para gerenciar e reenviar os segmentos perdidos.
Neste caso, o usurio - no a rede - gerencia o reenvio ou substituio da informao perdida.
Copyright 2008 Version 4.0 Ch 4 - 10

Funes da Camada de Transporte (contd) Segmentao


A diviso de dados em partes pequenas, e o envio dessas partes a partir da origem, habilita muitas comunicaes diferentes que podem estar intercaladas (multiplexadas) na mesma rede.
A segmentao de dados fornece meios para enviar e receber dados quando se executam mltiplas aplicaes concorrentemente em um computador. Sem segmentao, apenas uma aplicao, o vdeo em streaming, por exemplo, seria capaz de receber dados. Isto significa dizer que no seria possvel receber e-mails, conversar em um programa de mensagens instantneas, ou exibir pginas web enquanto estivesse exibindo o vdeo. Na camada de Transporte, cada conjunto particular de segmentos que flui entre uma aplicao de origem e uma aplicao de destino conhecido com uma conversao.

Copyright 2008

Version 4.0

Ch 4 - 11

Funes da Camada de Transporte (contd) Segmentao


A Camada de Transporte adiciona um cabealho o qual responvel por identificar cada segmento.

Copyright 2008

Version 4.0

Ch 4 - 12

Funes da Camada de Transporte (contd) Controle das Conversaes


Segmentao e Reagrupamento
As redes tem uma limitao da quantidade de dados que podem ser includos em uma nica PDU. A camada de Transporte divide os dados da aplicao em blocos de dados que esto em um tamanho apropriado. No destino, a camada de Transporte reagrupa os dados antes de envilos aplicao ou servio de destino.

Multiplexao de Conversao
Podem haver muitas aplicaes ou servios sendo executados em cada host na rede. Cada uma destas aplicaes ou servios designado a um endereo conhecido como uma porta para que a camada de Transporte possa determinar com qual aplicao ou servio o dado identificado.

Copyright 2008

Version 4.0

Ch 4 - 13

Funes da Camada de Transporte (contd) Controle das Conversaes

Copyright 2008

Version 4.0

Ch 4 - 14

Funes da Camada de Transporte (contd) Controle das Conversaes


Protocolo Confivel: Protocolo que possui
recursos de correo de erros, controle de fluxo e de retransmisso encorporados em si mesmo. O servio garante que os pacotes de dados enviados sero entregues em ordem, sem duplicaes. Situaes anormais sero sinalizadas aos participantes da comunicao. Ex: TCP

Protocolos Orientados a Conexo: estabelecida inicialmente uma conexo


lgica entre a origem e o destino, que desfeita ao final da comunicao. Prov remessa ordenada, controle de fluxo e controle de erros. Este tipo de transferncia prefervel se as estaes exigirem um intercmbio de dados mais extenso ou certos detalhes de seus protocolos tiverem que ser trabalhados dinamicamente. Ex: TCP Ex. didtico: Chamada telefnica Aquele que chama inicia a chamada, sabe quando a conexo estabelecida (pois uma pessoa ouvida do outro lado da linha) e coloca no gancho (terminado a conversao quando a troca de informaes termina).
Copyright 2008 Version 4.0 Ch 4 - 15

Funes da Camada de Transporte (contd) Controle das Conversaes


Controle de Fluxo
Os hosts de rede tm recursos limitados, como memria e largura de banda. A Camada de solicita que a aplicao de envio reduza a taxa de fluxo de dados. Isto feito na camada de Transporte regulando a quantidade de dados que a origem transmite como um grupo. O controle de fluxo previne a perda de segmentos na rede e evita a necessidade de retransmisso.

Copyright 2008

Version 4.0

Ch 4 - 16

Funes da Camada de Transporte (contd) Controle das Conversaes

Copyright 2008

Version 4.0

Ch 4 - 17

Funes da Camada de Transporte (contd) Comunicao Confivl


O protocolo da camada de Transporte pode implementar um mtodo para assegurar a entrega confivel dos dados. Confiabilidade significa assegurar que cada segmento de dado enviado pela origem chegue ao seu destino. Na camada de Transporte, as trs operaes bsicas de confiabilidade so:
Rastreamento de dados transmitidos Confirmao de dados recebidos Retransmisso de quaisquer dados no confirmados

A confiabilidade requer uma sobrecarga aos recursos de rede devido confirmao, rastreamento e retransmisso. Ento, mais dados de controle so trocados entre os hosts de envio e recepo.
Na Camada de Transporte, existem protocolos que especificam mtodos que garantam uma entrega confivel ou uma entrega de melhor esforo.
Copyright 2008 Version 4.0 Ch 4 - 18

Funes da Camada de Transporte (contd) Entrega de Melhor Esforo


Protocolo no Confivel: Depende do
protocolo de camada mais alta para fornecer confiabilidade. Pacotes de dados podem ser perdidos, duplicados, entregues fora de ordem, mas o servio no ir detectar estas condies e no informar os envolvidos na comunicao.

Protocolo sem Conexo: Cada pacote de


dados tratado de forma independente pela rede. No estabelecimento de nenhuma conexo antes da transferncia de dados ser iniciada. No incluem remessa ordenada, controle de fluxo ou de erros. A entidade receptora enxerga os pacotes como completos porm, um aplicativo de camada mais alta, na camada de aplicao, deve coloc-los na ordem apropriada e solicitar retransmisso dos pacotes com erro ou os que no chegaram.
Copyright 2008 Version 4.0 Ch 4 - 19

Determinando a Necessidade de Confiabilidade


As aplicaes, como as bases de dados, pginas web e e-mail, necessitam de que todos os dados enviados cheguem ao destino em seu estado original, em ordem, para que os dados sejam teis.
Perdas de dados causam uma comunicao corrompida que incompleta ou ilegvel. Portanto, estas aplicaes so projetadas para usar um protocolo da camada de Transporte que implemente confiabilidade. A sobrecarga adicional de rede considerada como uma necessidade para essas aplicaes.reliability

Outras aplicaes so mais tolerantes com a perda de pequenas quantidades de dados.


Por exemplo, se um ou dois segmentos de um fluxo de vdeo falharem ao chegar, isso cria apenas uma interrupo momentnea no fluxo. Isto pode parecer como uma distoro na imagem, mas pode at mesmo no ser notado pelo usurio.

Copyright 2008

Version 4.0

Ch 4 - 20

Determinando a Necessidade de Confiabilidade

Copyright 2008

Version 4.0

Ch 4 - 21

Camada de Transporte Protocolos mais Conhecidos


Os dois protocolos da camada de Transporte mais comuns da pilha de protocolos TCP/IP so o Protocolo TCP - Transmission Control Protocol e o Protocolo UDP User Datagram Protocol . Ambos os protocolos gerenciam a comunicao de mltiplas aplicaes. As diferenas entre os dois so as funes especficas que cada protocolo implementa.

Copyright 2008

Version 4.0

Ch 4 - 22

Camada de Transporte Protocolos mais Conhecidos


UDP um protocolo simples e sem conexo, descrito na RFC 768.
Ele tem a vantagem de fornecer uma entrega de dados de baixa sobrecarga. Possui 8 bytes de cabealho. As segmentos de comunicao em UDP so chamados datagramas. Estes datagramas so enviados como o "melhor esforo" por este protocolo da camada de Transporte.

Copyright 2008

Version 4.0

Ch 4 - 23

Camada de Transporte Protocolos mais Conhecidos


O UDP User Datagram Protocol um protocolo de Transporte desenvolvido para aplicaes que no devem gerar volume muito alto de trfego na Internet. Os protocolos SNMP, BOOTP, TFTP utilizam o UDP como protocolo de transporte. Possui um overhead de 8 bytes, enquanto o TCP possui um overhead de 20 bytes. No implementa confirmaes, janelas e seqenciamento,sendo portando no confivel e sem conexo. O UDP simplesmente introduz esta possibilidade de identificar Protocol Ports de origem e de destino, de modo que mantm as mesmas caractersticas de servio no confivel e sem conexo de entrega de Datagramas provido pelo IP. .

Copyright 2008

Version 4.0

Ch 4 - 24

Camada de Transporte Protocolos mais Conhecidos (contd)


O TCP um protocolo orientado conexo, descrito na RFC 793.
O TCP causa sobrecarga adicional para adicionar funes. Cada segmento TCP tem 20 bytes de overhead no cabealho que encapsula o dado da camada de Aplicao. As funes adicionais especificadas pelo TCP so as ditas entrega ordenada, entrega confivel e controle de fluxo.

Copyright 2008

Version 4.0

Ch 4 - 25

Camada de Transporte Protocolos mais Conhecidos (contd)


O TCP foi idealizado para proporcionar uma forma segura de transferncia de dados provenientes de diversas aplicaes, utilizando vrios meios de comunicao (nvel fsico), ou seja, pode ser utilizado com outros tipos de rede). O TCP compatibiliza tamanhos dos segmentos de dados recebidos dos nveis superiores para os nveis inferiores, de forma transparente para as aplicaes. O TCP foi criado para fornecer uma entrega de dados de forma virtual, garantindo a integridade dos mesmos, portando adotando um sistema de controle de fluxo e checagem de erros. Para evitar a duplicao dos dados, o TCP gera uma nmero seqencial para cada segmento, que controlado por ambos os envolvidos na comunicao (fonte e destino), implementando ainda a confirmao dos mesmos atravs desta mesma numerao. O TCP um protocolo full-duplex, portanto uma determinada aplicao X que comunica-se em dado monento com outra aplicao Y, pode finalizar sua transmisso e continuar recebendo dados de Y at que este tambm finalize.

O TCP utiliza a tcnica Sliding Windows (janela deslizante), esta tcnica propicia o
envio de vrios segmentos de dados encapsulados sem seus prprios datagramas IP, sem a necessidade de confirmao imediata.

Copyright 2008

Version 4.0

Ch 4 - 26

Endereamento de Porta
Em um computador que esteja simultaneamente recebendo e enviando e-mails, mensagens instantneas, acessando pginas web e processando uma chamada VOIP os segmentos e datagramas precisam ser diferenciados.
Para diferenciar os segmentos e datagramas de cada aplicao, o TCP e o UDP tm campos de cabealho que podem identificar unicamente essas aplicaes. Estes identificadores nicos so os nmeros de porta. O nmero da porta de origem o nmero para a comunicao associado aplicao originada no host local. O nmero da porta de destino o nmero para essa comunicao associada aplicao destino no host remoto. Uma porta destino pode ser uma porta padro ou definida manualmente. A porta de origem em um cabealho de segmento ou datagrama de uma solicitao de cliente gerada aleatoriamente. Contanto que ela no entre em conflito com outras portas em uso no sistema,

Copyright 2008

Version 4.0

Ch 4 - 27

Endereamento de Porta Exemplo:


Quando uma aplicao de navegador web faz uma solicitao a um servidor web, o navegador usa o TCP nmero de porta 80, a menos que um outro seja especificado. Isso acontece porque a porta 80 TCP a porta padro designada a aplicaes web. Muitas aplicaes comuns tm designaes de porta padro. O nmero da porta de origem age com um endereo de retorno para a aplicao que faz a solicitao. A camada de Transporte rastreia esta porta e a aplicao que iniciou a solicitao, de modo que quando uma resposta retornada, ela pode ser encaminhada para a aplicao correta. O nmero de porta da aplicao solicitante usado com o nmero de porta de destino na resposta que volta do servidor.

A combinao do nmero de porta da camada de Transporte e do endereo IP da camada de Rede designada ao host identifica exclusivamente um processo particular sendo executado em um dispositivo de host especfico. Esta combinao chamada de soquete.
192.168.1.20:80 192.168.100.40:49152
Copyright 2008 Version 4.0 Ch 4 - 28

Endereamento de Porta

Copyright 2008

Version 4.0

Ch 4 - 29

Os Nmeros das Portas


A Internet Assigned Numbers Authority (IANA) designa nmeros de porta. A IANA um rgo de que padroniza de esquemas de endereamento. Portas mais Conhecidas: 0 to 1023
Esses nmeros esto reservados para servios e aplicaes. So comumente usados para aplicaes como o HTTP (servidor web) POP3/SMTP (servidor de e-mail), etc.

Portas Registradas: 1024 to 49151


So designadas para processos ou aplicaes de usurio. Estes processos so principalmente aplicaes individuais que um usurio escolheu para instalar em vez de aplicaes comuns que receberiam uma Porta Conhecida.

Portas Dinmicas ou Privadas: 49152 to 65535


So designadas dinamicamente a aplicaes de cliente quando se inicia uma conexo. No muito comum um cliente se conectar a um servio usando uma Porta Dinmica ou Privada (embora alguns programas de compartilhamento de arquivos peer-to-peer o faam).
Copyright 2008 Version 4.0 Ch 4 - 30

Os Nmeros das Portas

Copyright 2008

Version 4.0

Ch 4 - 31

TCP e UDP Port Numbers

Copyright 2008

Version 4.0

Ch 4 - 32

TCP/UDP Common Ports

Copyright 2008

Version 4.0

Ch 4 - 33

TCP- TRANSMISSION CONTROL PROTOCOL Cada aplicao recebe um nmero lgico de identificao denominado Port. O endereo de Port entregue a determinada aplicao apenas quando esta ir iniciar uma conexo. O endereo do canal virtual refere-se ao Host onde determinada aplicao roda, e no especifica a aplicao, pois o Port amarrado ao endereo IP gerando ento o endereo do canal virtual.
Host A 125.0.0.3 Host B 11.11.3.12

Gateway

Imagine uma aplicao X o Host A e uma aplicao Y no Host B, o port que o sistema operacional designou aplicao X o 1024 e o da aplicao y o 4, sendo assim a conexo virtual entre X e Y tem seu endereo representado da seguinte forma:
(125.0.0.3: 1024)
Copyright 2008

(1.11.3.12: 4)
Version 4.0
Ch 4 - 34

Netsat
As vezes necessrio conhecer quais conexes TCP ativas esto abertas e sendo executadas em um host de rede.
O Netstat um utilitrio de rede importante que pode ser usado para verificar essas conexes. O Netstat lista o protocolo em uso, o endereo local e o nmero de porta, o endereo externo, o nmero de porta e o estado da conexo.

Conexes TCP inexplicveis podem ser uma grande ameaa de segurana.


Isto acontece porque elas podem indicar que algo ou algum est conectado ao host local. Adicionalmente, as conexes TCP desnecessrias podem consumir recursos valiosos do sistema, reduzindo a velocidade de desempenho do host. destination port connection state source port O Netstat deve ser usado para examinar as conexes abertas em um host quando o desempenho parecer comprometido.
protocol used address or name of remote host

Copyright 2008

Version 4.0

Ch 4 - 35

Segmentao e Reagrupamento
Algumas aplicaes transmitem grandes quantidades de dados em alguns casos, muitos gigabytes.
Seria impraticvel enviar todos estes dados em um segmento muito grande. Nenhum outro trfego de rede poderia ser transmitido enquanto estes dados estivessem sendo enviados. Um segmento muito grande de dados pode levar minutos ou mesmo horas para ser enviado. Se ocorresse algum erro, o arquivo inteiro seria perdido ou reenviado. Dispositivos de rede no teriam buffers de memria grandes o suficiente para armazenar estes dados enquanto eles fossem transmitidos ou recebidos. O limite varia dependendo da tecnologia de rede e do meio fsico especfico que est sendo usado.

Dividir os dados da aplicao em segmentos assegura que os dados sejam transmitidos dentro dos limites do meio e que os dados de diferentes aplicaes possam ser multiplexadas no meio.
Copyright 2008 Version 4.0 Ch 4 - 36

Segmentao e Reagrupamento
O TCP e o UDP Lidam com a Segmentao de Maneira Diferente. No TCP, cada cabealho de segmento contm um nmero sequencial.
Este nmero seqencial confere as funes da camada de Transporte no host de destino para reagrupar segmentos na ordem em que eles foram transmitidos. Isso assegura que as aplicaes de destino tenham os dados na forma exata pretendida pelo remetente.

No UDP, os servios tambm rastreiem as conversaes entre as


aplicaes, porm eles no esto preocupados com a ordem que a informao foi transmitida, ou na manuteno de uma conexo. No existe nmero seqencial no cabealho UDP. O UDP um esquema mais simples e gera menos overhead do que o TCP, resultando em uma transferncia mais rpida de dados. A informao pode chegar em ordem diferente da qual ela foi transmitida porque diferentes pacotes podem tomar diferentes caminhos atravs da rede. Uma aplicao que usa o UDP precisa tolerar o fato de que os dados podem no chegar na ordem em que foram enviados.
Copyright 2008 Version 4.0 Ch 4 - 37

TCP Comunicao Confivel


TCP Orientado a Conexo
A confiabilidade da comunicao TCP realizada com o uso de sesses orientadas conexo. Antes que um host usando o TCP envie dados para outro host, a camada de Transporte inicia um processo para criar uma conexo com o destino. Esta conexo habilita o rastreamento de uma sesso, ou um fluxo de comunicao entre os hosts. Este processo assegura que cada host est ciente e preparado para a comunicao. Uma conversao TCP completa exige o estabelecimento de uma sesso entre os hosts em ambas as direes. connection enables the tracking of a session Aps uma sesso ter sido estabelecida, o destino envia confirmaes para a origem para os segmentos que ele recebe. Estas confirmaes formam a base da confiabilidade dentro de uma sesso TCP. medida que a origem recebe uma confirmao, ela sabe que os dados foram entregues com sucesso e pode parar o rastreamento daqueles dados. Se a origem no recebe uma confirmao dentro de um perodo pr-determinado de tempo, ela retransmite aqueles dados para o destino.

Confirmaes

Parte do overhead adicional do uso do TCP o trfego de rede gerado por confirmaes e retransmisses.
Copyright 2008 Version 4.0 Ch 4 - 38

TCP - Cabealho
Source Port / Destination Port
16 bits, identificam o Port de origem e destino, que somados aos respectivos endereos IP identificam o soquete.

Sequence number
32 bits, utilizado para efetuar o controle de fluxo do TCP. Os dados acondicionados no pacote TCP so numerados de octeto em octeto sendo que o nmero inicial aleatrio.

Acknowledgement number
32 bits, refere-se a confirmao do dado recebido, sendo que efetua a somatria do Sequence Number ao nmero de octetos do campo Data, sendo o resultado desta somatria o prximo Sequence Number do que o transmissor deve enviar.

Header length
4 bits, especifica o tamanho do header do TCP.

Copyright 2008

Version 4.0

Ch 4 - 39

TCP - Cabealho (contd)


Reserved
6 bits, reservado para uso futuro.

Flags (URG, ACK, PSH, RST, SYN, FIN)


URG - CAMPO URGENT POINTER VLIDO ACK - CAMPO ACKNOWLEDGEMENT VLIDO PSH -ESTE SEGMENTO INDICA UM PUSH (ENTREGA DOS DADOS AOS NVEIS SUPERIORES SEM ESPERAR PELO TOTAL PREENCHIMENTO DO BUFFER) RST - SINCRONIZAR A NUMERAO SEQUENCIAL (NMEROS ALEATRIOS) SYN - INCIO DE CONEXO FIN - FIM DO FLUXO DE TRANSMISSO (EM UM DOS SENTIDOS).

Window size
16 bits, tamanho da janela que o emissor esta apto a trabalhar.

Checksum
16 bits, utilizado na checagem de erros.
Copyright 2008 Version 4.0 Ch 4 - 40

TCP - Cabealho (contd)


Urgent pointer
16 bits, sinaliza a aplicao a existncia de uma informao urgente no campo Data, a qual precisa ser processada antes de qualquer outra informao.

Options
Tamanho varivel de acordo com a opo utilizada. Viabiliza a negociao de facilidades entre os dois TCPs.

Padding
Utilizado para completar o campo Options. Se o campo options que deve ter 32 bits, tiver uma informao de 24 bits, o campo padding dever ter 8 bits 1s.

Data
Destinado a acomodao dos dados, possui tamanho varivel.

Copyright 2008

Version 4.0

Ch 4 - 41

TCP Server Processes


Os processos de aplicaes so executados nos servidores. Estes processos esperam at que um cliente inicie a comunicao com uma solicitao de informao ou outros servios. Cada processo de aplicao sendo executado no servidor configurado para usar um nmero de porta.

Copyright 2008

Version 4.0

Ch 4 - 42

TCP Estabelecimento da Conexo


Os hosts executam o three-way handshake para estabelecerem uma conexo.
O cliente que inicia a conexo envia um segmento contendo um valor seqencial inicial, que serve como uma solicitao ao servidor para comear uma sesso de comunicaes. O servidor responde com um segmento contendo um valor de confirmao igual ao valor seqencial recebido mais 1, mais seu prprio valor seqencial de sincronizao. O valor maior do que o nmero seqencial porque o ACK sempre o prximo Byte ou Octeto esperado. Este valor de confirmao habilita o cliente a submeter resposta de volta ao segmento original que ele enviou ao servidor. O cliente que inciou a conexo responde com um valor de confirmao igual ao valor seqencial que ele recebeu mais um. Isso completa o processo de estabelecimento da conexo.

Copyright 2008

Version 4.0

Ch 4 - 43

Three-Way Handshake (SYN)

FLAG SYN configurado para validar o nmero da seqncia inicial. Nmero inicial de seqncia randomizada vlido (valor relativo 0) Porta de origem aleatria 1069 e Porta de destino HTTP 80
Version 4.0 Ch 4 - 44

Copyright 2008

Three-Way Handshake (SYN, ACK)

Copyright 2008

ACK significa um nmero de Reconhecimento Vlido Nmero de reconhecimento em resposta ao nmero inicial de seqncia com valor relativo de 1) A configurao do FLAG SYN indica o nmero inicial da sequencia para a sesso do servidor com o Ch 4 - 45 cliente. Ch 4 - 45 Porta de origem aleatria 1069 e Porta de destino HTTP 80
Version 4.0

Three-Way Handshake (ACK)

ACK significa um nmero de Reconhecimento Vlido Nmero de reconhecimento em resposta ao nmero inicial de seqncia com valor relativo de 1) Porta de origem aleatria 1069 e Porta de destino HTTP 80

Copyright 2008

Version 4.0

Ch 4 - 46 Ch 4 - 46 Ch 4 - 46

TCP Finalizao da Conexo


O trmino da sesso TCP envolve 4 passos.
Quando o cliente no possui mais dados para transmitir ele envia um segmento com o flag FIN. O servidor responde com um ACK para confirmar a recepo do flag FIN. O servidor envia um FIN para o cliente para terminar a sesso. O cliente responde com um ACK para confirmar a recepo do flag FIN.

Copyright 2008

Version 4.0

Ch 4 - 47

Encerramento da sesso(FIN)
Servidor envia o flag FIN flag para indicar o trmino da sesso Nmero da Sequencia 440

Copyright 2008

Version 4.0

Ch 4 - 48

Encerramento da Sesso (ACK)


Flag ACK enviado para validar a sequencia Nmero da sequencia ACK 414 Porta origem 1069 e porta destino 80 (http)

Copyright 2008

Version 4.0

Ch 4 - 49

TCP Reagrupamento dos Segmentos


Os segmentos podem chegar ao destino for a de ordem. O campo Sequence Number do TCP identifica os segmentos e possibilita a reordenao dos mesmos. Para qualquer segmento recebido solicitada a retransmisso

Copyright 2008

Version 4.0

Ch 4 - 50

TCP Acknowledgement and Windowing


O nmero de sequncia do cabealho do segmento e o nmero de confirmao so usados juntamente para confirmar o recebimento dos bytes de dados contidos nos segmentos. O nmero de sequncia o nmero relativo de bytes que foram transmitidos nessa sesso mais 1 (que o nmero do primeiro byte de dado no segmento corrente). O TCP usa o nmero de confirmao em segmentos enviados de volta origem para indicar o prximo byte que o receptor espera receber nessa sesso. Isto chamado de confirmao esperada.

Copyright 2008

Version 4.0

Ch 4 - 51

TCP - Retransmisso
O TCP prov um mecanismo de retransmisso para segmentos no confirmados.
Os dispositivos retransmitim os dados aps no receberem confirmao (dentro do tempo de time out). ACK seletivo permite o reconhecimento de segmentos discontnuos.

Copyright 2008

Version 4.0

Ch 4 - 52

TCP Controle de Fluxo


O controle de fluxo ajuda na confiabilidade de transmisses TCP atravs do ajuste da taxa de fluxo de dados efetiva entre os dois servios na sesso. Quando a origem informada de que uma quantidade especificada de dados nos segmentos recebida, ela pode continuar a enviar mais dados para essa sesso. O campo Tamanho de Janela no cabealho TCP especifica a quantidade de dados que podem ser transmitidos antes que uma confirmao precise ser recebida. O tamanho de janela inicial determinado durante a inicializao da sesso atravs do handshake triplo. O mecanismo de feedback do TCP ajusta a taxa efetiva de transmisso de dados at o fluxo mximo que a rede e o dispositivo de destino podem suportar sem perda. O TCP tenta gerenciar a taxa de transmisso de modo que todos os dados sejam recebidos e as retransmisses sejam minimizadas.
Copyright 2008 Version 4.0 Ch 4 - 53

TCP Controle de Fluxo

Copyright 2008

Version 4.0

Ch 4 - 54

TCP JANELA DESLIZANTE


O tamanho da janela mvel, pois pode ser alterado conforme a necessidade de transmisso.

2
JANELA

6 7

9 10

1
Fonte

4
JANELA

6 7

9 10

Escorregamento da Janela

e destino negociaram janela de tamanho 5.

Os pacotes 1, 2, 3, 4 e 5 podem ser transmitidos sem a necessidade de confirmao imediata. O pacote 6 s pode ser transmitido se houver a confirmao de algum pacote componente da janela. Esta confirmao far com que a janela deslize.
Copyright 2008 Version 4.0 Ch 4 - 55

TCP JANELA DESLIZANTE


O TCP trabalha com o nmero de octetos passveis de ficarem pendentes de confirmao. Para tanto, ele trabalha com trs ponteiros:

Octetos j tx e j confirmados

P1

P2

P3

Fluxo de octetos

P1 - PRIMEIRO OCTETO J TRANSMITIDO E AINDA NO CONFIRMADO P2 - PRIMEIRO OCTETO AINDA NO TRANSMITIDO P3 - LTIMO OCTETO COM TRANSMISSO AUTORIZADA

Ao destinatrio permitido controlar o tamanho, em octetos , da janela de autorizao, de modo a controlar o fluxo fim-a-fim.

Copyright 2008

Version 4.0

Ch 4 - 56

TCP JANELA DESLIZANTE

Copyright 2008

Version 4.0

Ch 4 - 57

TCP FUNCIONAMENTO Retransmisses e Reconhecimentos: Ex: Determinada fonte gera um segmento


contendo 3000 octetos, numerados a partir de 0. Estes 3 octetos so encapsulados em trs datagramas sendo que cada um contm 1000 octetos.

Seq.Numb. 0

Seq.Numb. 1000

Seq.Numb. 2000

Supondo que o destinatrio no receba os segundo datagrama, a confirmao para esta situao ser um ACK 1000, ou seja, o receptor indica a seqncia esperada, independente de ter recebido ou no o terceiro datagrama. Ento o transmissor envia os segmentos a partir de 1000, e quando o receptor recebe o segmento contendo os octetos 1000 a 1999, ele pode enviar uma ACK 3000.
Copyright 2008 Version 4.0

TCP FUNCIONAMENTO Time Out de Retransmisso: Cada vez que o TCP envia um segmento, inicializado
um contador de tempo. Ele s ser resetado quando ocorrer a recepo da confirmao do mesmo, antes do limite ser atingido. Se o contador chegar ao limite, o segmento ser retransmitido. O valor deste tempo calculado pelo TCP atravs dos atrasos ocorridos nas transmisses.

Estabelecimento da Conexo IP: utilizado o three-way handshake:


O host que quer inciar a sesso envia um SYN. O host receptor confirma o SYN e, no mesmo pacote, envia o seu prprio SYN. O host que originou a sesso confirma o SYN.

Copyright 2008

Version 4.0

TCP FUNCIONAMENTO Fluxo de Troca de Dados: Durante a troca de dados TCP, os nmeros seqenciais
vo sendo alterados, mantendo-se sempre um sincronismo entre os envolvidos. Um ACK indica qual a prxima seqncia que o destinatrio aguarda receber, sendo esta somada a seqncia recebida mais 1, no caso do segmento no conter dados, ou o somatrio da seqncia recebida mais a quantidade de dados.

Copyright 2008

Version 4.0

UDP User Datagram Protocol

Source Port Destination Port Length UDP Checksum DATA

Source Port: 16 bits, identifica o nmero do Port da aplicao origem. Destination Port: 16 bits, identifica o nmero do Port da aplicao destino. Length: 16 bits, especifica o tamanho total da mensagem UDP (header + dados). Checksum: Opcional,16 bits, abrange o seu header e os dados transportados.

Copyright 2008

Version 4.0

Ch 4 - 61

UDP User Datagram Protocol


Datagramas podem ser entregues por caminhos diferentes e podem sem entregues for a de ordem. O UDP possui overhead menor que o TCP, j que no orientado conexo e no fornece mecanismos de retransmisso, seqenciamento e controle de fluxo sofisticados. O UDP simplesmente reagrupa os dados na ordem que eles foram recebidos e os encaminha para a aplicao. Se a sequncia dos dados importante para a aplicao, ele ter que identificar a sequncia apropriada dos dados e determinar como os dados devem ser processados.

Copyright 2008

Version 4.0

Ch 4 - 62

Solicitaes UDP
Do mesmo modo que com as aplicaes baseadas em TCP, aos aplicaes de servidores baseados em UDP so designados nmeros de porta Conhecida ou Registrada. Quando estas aplicaes ou processos esto sendo executados, eles aceitaro os dados correspondentes ao nmero de porta designado. Quando o UDP recebe um datagrama destinado a uma destas portas, ele encaminha os dados aplicao apropriada com base em seu nmero de porta.

Copyright 2008

Version 4.0

Ch 4 - 63

Processos do Cliente UDP


A comunicao cliente/servidor iniciada por uma aplicao cliente que est solicitando dados de um processo servidor. O processo cliente UDP seleciona aleatoriamente um nmero de porta a partir de uma faixa dinmica de nmeros de porta e o usa como a porta de origem para a conversao. A porta de destino ser geralmente o nmero de porta Conhecida ou Registrada designado ao processo do servidor.

Copyright 2008

Version 4.0

Ch 4 - 64

You might also like