Você está na página 1de 40

RDCP | MODELO OSI | Camada de Transporte

Um pouco sobre Pacotes e sobre os protocolos de Transporte


O TCP/IP, na verdade, formado por um grande conjunto de diferentes protocolos e servios de rede. O nome TCP/IP deriva dos dois protocolos mais importantes e mais utilizados, que so os seguintes: * IP: um protocolo de endereamento, um protocolo de rede. As principais funes do protocolo IP so endereamento e roteamento, ou de uma maneira mais simples, fornecer uma maneira para identificar unicamente cada mquina da rede (endereo IP) e uma maneira de encontrar um caminho entre a origem e o destino (Roteamento). * TCP: O TCP um protocolo de transporte e executa importantes funes para garantir que os dados sejam entregues de uma maneira confivel, ou seja, sem que os dados sejam corrompidos ou alterados.

RDCP | MODELO OSI | Camada de Transporte


Um pouco sobre Pacotes e sobre os protocolos de Transporte
Vamos imaginar uma situao prtica, onde voc deseja enviar um arquivo com cerca de 10 MB de um computador de origem para um computador de destino. Uma das primeiras coisas que tem que ser feitas encontrar uma rota, um caminho entre a origem e o destino. Este o papel do protocolo IP, mais especificamente da funo de roteamento. Uma vez encontrado o caminho, o prximo passo dividir o arquivo de 10 MB em pacotes de tamanhos menores, os quais possam ser enviados pelos equipamentos da rede. Alm da diviso em pacotes menores, o TCP/IP tem que garantir que os pacotes sejam entregues sem erros e sem alteraes. Pode tambm acontecer de os pacotes chegarem fora de ordem. O TCP/IP tem que ser capaz de identificar a ordem correta e entregar os pacotes para o programa de destino, na ordem correta.

RDCP | MODELO OSI | Camada de Transporte


Um pouco sobre Pacotes e sobre os protocolos de Transporte
Por exemplo, pode acontecer de o pacote nmero 10 chegar antes do pacote nmero 9. Neste caso o TCP tem que aguardar a chegada do pacote nmero 9 e entreg-los na ordem correta. Pode tambm acontecer de serem perdidos pacotes durante o transporte. Neste caso, o TCP tem que informar origem de que determinado pacote no foi recebido no tempo esperado e solicitar que este seja retransmitido. Todas estas funes garantir a integridade, a seqncia correta e solicitar retransmisso so exercidas pelo protocolo TCP Transmission Control Protocol. Alm do TCP existe tambm o UDP, o qual no faz todas estas verificaes e utilizado por determinados servios. A seguir veremos uma descrio dos protocolos TCP e UDP e um estudo comparativo.

RDCP | MODELO OSI | Camada de Transporte


TCP Uma Viso Geral
O Transmission Control Protocol (TCP) , sem dvidas, um dos mais importantes protocolos da famlia TCP/IP. um padro definido na RFC 793, "Transmission Control Protocol (TCP)", que fornece um servio de entrega de pacotes confivel e orientado por conexo. Ser orientado por conexo, significa que todos os aplicativos baseados em TCP como protocolo de transporte, antes de iniciar a troca de dados, precisam estabelecer uma conexo. Na conexo so fornecidas, normalmente, informaes de logon, as quais identificam o usurio que est tentando estabelecer a conexo.

Um exemplo tpico so os aplicativos de FTP (Cute FTP, ES-FTP e assim por diante). Para que voc acesse um servidor de FTP, voc deve fornecer um nome de usurio e senha. Estes dados so utilizados para identificar e autenticar o usurio. Aps a identificao e autenticao, ser estabelecida uma sesso entre o cliente de FTP e o servidor de FTP.

RDCP | MODELO OSI | Camada de Transporte


TCP Uma Viso Geral
Algumas caractersticas do TCP: * Garante a entrega de datagramas IP: Esta talvez seja a principal funo do TCP, ou seja, garantir que os pacotes sejam entregues sem alteraes, sem terem sido corrompidos e na ordem correta. O TCP tem uma srie de mecanismos para garantir esta entrega. * Executa a segmentao e reagrupamento de grandes blocos de dados enviados pelos programas e Garante o seqenciamento adequado e entrega ordenada de dados segmentados: Esta caracterstica refere-se a funo de dividir grandes arquivos em pacotes menores e transmitir cada pacote separadamente. Os pacotes podem ser enviados por caminhos diferentes e chegar fora de ordem. O TCP tem mecanismos para garantir que, no destino, os pacotes sejam ordenados corretamente, antes de serem entregues ao programa de destino.

RDCP | MODELO OSI | Camada de Transporte


TCP Uma Viso Geral
Algumas caractersticas do TCP: * Verifica a integridade dos dados transmitidos usando clculos de soma de verificao: O TCP faz verificaes para garantir que os dados no foram alterados ou corrompidos durante o transporte entre a origem e o destino. * Envia mensagens positivas dependendo do recebimento bem-sucedido dos dados. Ao usar confirmaes seletivas, tambm so enviadas confirmaes negativas para os dados que no foram recebidos: No destino, o TCP recebe os pacotes, verifica se esto OK e, em caso afirmativo, envia uma mensagem para a origem, confirmando cada pacote que foi recebido corretamente. Caso um pacote no tenha sido recebido ou tenha sido recebido com problemas, o TCP envia uma mensagem ao computador de origem, solicitando uma retransmisso do pacote. Com esse mecanismo, apenas pacotes com problemas tero que ser reenviados, o que reduz o trfego na rede e agiliza o envio dos pacotes.

RDCP | MODELO OSI | Camada de Transporte


TCP Uma Viso Geral
Algumas caractersticas do TCP: * Oferece um mtodo preferencial de transporte de programas que devem usar transmisso confivel de dados baseada em sesses, como bancos de dados cliente/servidor e programas de correio eletrnico: Ou seja, o TCP muito mais confivel do que o UDP (conforme veremos mais adiante) e indicado para programas e servios que dependam de uma entrega confivel de dados.

RDCP | MODELO OSI | Camada de Transporte


Funcionamento do TCP
O TCP baseia-se na comunicao ponto a ponto entre dois hosts de rede. O TCP recebe os dados de programas e processa esses dados como um fluxo de bytes. Os bytes so agrupados em segmentos que o TCP numera e seqncia para entrega. Estes segmentos so mais conhecidos como Pacotes. Antes que dois hosts TCP possam trocar dados, devem primeiro estabelecer uma sesso entre si. Uma sesso TCP inicializada atravs de um processo conhecido como um tree-way handshake (algo como Um Aperto de Mo Triplo). Esse processo sincroniza os nmeros de seqncia e oferece informaes de controle necessrias para estabelecer uma conexo virtual entre os dois hosts.

RDCP | MODELO OSI | Camada de Transporte


Funcionamento do TCP
De uma maneira simplificada, o processo de tree-way handshake, pode ser descrito atravs dos seguintes passos: * O computador de origem solicita o estabelecimento de uma sesso com o computador de destino: Por exemplo, voc utiliza um programa de FTP (origem) para estabelecer uma sesso com um servidor de FTP (destino). * O computador de destino recebe a requisio, verifica as credenciais enviadas (tais como as informaes de logon e senha) e envia de volta para o cliente, informaes que sero utilizadas pelo cliente, para estabelecer efetivamente a sesso. As informaes enviadas nesta etapa so importantes, pois atravs destas informaes que o servidor ir identificar o cliente e liberar ou no o acesso.

RDCP | MODELO OSI | Camada de Transporte


Funcionamento do TCP
* O computador de origem recebe as informaes de confirmao enviadas pelo servidor e envia estas confirmaes de volta ao servidor. O servidor recebe as informaes, verifica que elas esto corretas e estabelece a sesso. A partir deste momento, origem e destino esto autenticados e aptos a trocar informaes usando o protocolo TCP. Se por algum motivo, as informaes enviadas pela origem no estiverem corretas, a sesso no ser estabelecida e uma mensagem de erro ser enviada de volta ao computador de origem.

Depois de concludo o tree-way handshake inicial, os segmentos so enviados e confirmados de forma seqencial entre os hosts remetente e destinatrio. Um processo de handshake semelhante usado pelo TCP antes de fechar a conexo para verificar se os dois hosts acabaram de enviar e receber todos os dados.

RDCP | MODELO OSI | Camada de Transporte


Funcionamento do TCP
Os segmentos TCP so encapsulados e enviados em datagramas IP, conforme apresentado na figura a seguir:

RDCP | MODELO OSI | Camada de Transporte


O conceito de Portas TCP
Os programas TCP usam nmeros de porta reservados ou conhecidos, conforme apresentado na seguinte ilustrao:

RDCP | MODELO OSI | Camada de Transporte


O que uma Porta TCP?
Bem, sem entrar em muitos detalhes do TCP/IP, vamos explicar, atravs de um exemplo prtico, o conceito de porta. Vamos imaginar um usurio, utilizando um computador com conexo Internet. Este usurio, pode, ao mesmo tempo, acessar um ou mais sites da Internet, usar o Outlook Express para ler suas mensagens de email, estar conectado a um servidor de FTP, usando um programa como o WS-FTP, para fazer download de um ou mais arquivos, estar jogando atravs da Internet e assim por diante. Todas as informaes que este usurio recebe esto chegando atravs de pacotes que chegam at a placa de Modem ou at o Modem ADSL, no caso de uma conexo rpida. A pergunta que naturalmente surge : Como o sistema sabe para qual dos programas se destina cada um dos pacotes que esto chegando no computador?

RDCP | MODELO OSI | Camada de Transporte


O que uma Porta TCP?
Por exemplo, chega um determinado pacote. Este pacote para uma das janelas do Navegador, para o cliente de FTP, um comando de jogo, referente a uma mensagem de email ou quem o destinatrio deste pacote? A resposta para esta questo o mecanismo de portas utilizado pelo TCP/IP. Cada programa trabalha com um protocolo/servio especfico, ao qual est associado um nmero de porta. Por exemplo, o servio de FTP, normalmente opera na porta 21 (na verdade usa duas portas, uma para controle e outra para o envio de dados). Todo pacote que for enviado do servidor FTP para o cliente, ter, alm dos dados que esto sendo enviados, uma srie de dados de controle, tais como o nmero do pacote, cdigo de validao dos dados e tambm o nmero da porta.

RDCP | MODELO OSI | Camada de Transporte


O que uma Porta TCP?
Quando o pacote chega no seu computador, o sistema l no pacote o nmero da porta e sabe para quem encaminhar o pacote. Por exemplo, se voc est utilizando um cliente de FTP para fazer um download, os pacotes que chegarem, com informao de Porta = 21, sero encaminhados para o cliente de FTP, o qual ir ler o pacote e dar o destino apropriado. Outro exemplo, o protocolo HTTP, utilizado para o transporte de informaes de um servidor Web at o seu navegador, opera, por padro, na porta 80. Os pacotes que chegarem, destinados porta 80, sero encaminhados para o navegador. Se houver mais de uma janela do navegador aberta, cada uma acessando diferentes pginas, o sistema inclui informaes, alm da porta, capazes de identificar cada janela individualmente. Com isso, quando chega um pacote para a porta 80, o sistema identifica para qual das janelas do navegador se destina o referido pacote.

RDCP | MODELO OSI | Camada de Transporte


O que uma Porta TCP?
Em resumo: O uso do conceito de portas, permite que vrios programas estejam em funcionamento, ao mesmo tempo, no mesmo computador, trocando informaes com um ou mais servios/servidores. O lado do servidor de cada programa que usa portas TCP escuta as mensagens que chegam no seu nmero de porta conhecido. Todos os nmeros de porta de servidor TCP menores que 1.024 (e alguns nmeros mais altos) so reservados e registrados pela Internet Assigned Numbers Authority (IANA, autoridade de nmeros atribudos da Internet). Por exemplo, o servio HTTP (servidor Web), instalado em um servidor, fica sempre escutando os pacotes que chegam ao servidor. Os pacotes destinados a porta 80, sero encaminhados pelo sistema operacional para processamento do servidor Web.

RDCP | MODELO OSI | Camada de Transporte


O que uma Porta TCP?
A tabela a seguir uma lista parcial de algumas portas de servidor TCP conhecidas usadas por programas baseados em TCP padro.

Para obter uma lista atualizada e completa de todas as portas TCP conhecidas e registradas atualmente, consulte o seguinte endereo: http://www.iana.org/assignments/port-numbers

RDCP | MODELO OSI | Camada de Transporte


UDP Uma Viso Geral
O User Datagram Protocol (UDP) um padro TCP/IP e est definido pela RFC 768, "User Datagram Protocol (UDP)." O UDP usado por alguns programas em vez de TCP para o transporte rpido de dados entre hosts TCP/IP. Porm o UDP no fornece garantia de entrega e nem verificao de dados. De uma maneira simples, dizemos que o protocolo UDP manda os dados para o destino; se vai chegar ou se vai chegar corretamente, sem erros, s Deus sabe. Pode parecer estranho esta caracterstica do UPD, porm voc ver que em determinadas situaes, o fato de o UDP ser muito mais rpido do que o TCP (por no fazer verificaes e por no estabelecer sesses), o uso do UDP recomendado.

RDCP | MODELO OSI | Camada de Transporte


UDP Uma Viso Geral
O protocolo UDP fornece um servio de pacotes sem conexo que oferece entrega com base no melhor esforo, ou seja, UDP no garante a entrega ou verifica o seqenciamento para qualquer pacote. Um host de origem que precise de comunicao confivel deve usar TCP ou um programa que oferea seus prprios servios de seqenciamento e confirmao.

RDCP | MODELO OSI | Camada de Transporte


UDP Uma Viso Geral
As mensagens UDP so encapsuladas e enviadas em datagramas IP, conforme apresentado na seguinte ilustrao:

RDCP | MODELO OSI | Camada de Transporte


Portas UDP
O conceito de porta UDP idntico ao conceito de portas TCP, embora tecnicamente, existam diferenas na maneira como as portas so utilizadas em cada protocolo. A idia a mesma, por exemplo, se um usurio estiver utilizando vrios programas baseados em UDP, ao mesmo tempo, no seu computador, atravs do uso de portas, que o sistema operacional sabe a qual programa se destina cada pacote UDP que chega. O lado do servidor de cada programa que usa UDP escuta as mensagens que chegam no seu nmero de porta conhecido. Todos os nmeros de porta de servidor UDP menores que 1.024 (e alguns nmeros mais altos) so reservados e registrados pela Internet Assigned Numbers Authority (IANA, autoridade de nmeros atribudos da Internet). Cada porta de servidor UDP identificada por um nmero de porta reservado ou conhecido.

RDCP | MODELO OSI | Camada de Transporte


Portas UDP
A tabela a seguir mostra uma lista parcial de algumas portas de servidor UDP conhecidas usadas por programas baseados em UDP padro.

Para obter uma lista atualizada e completa de todas as portas UDP conhecidas e registradas atualmente, consulte o seguinte endereo: http://www.iana.org/assignments/port-numbers

RDCP | MODELO OSI | Camada de Transporte


Comparando UDP e TCP:
Geralmente, as diferenas na maneira como UDP e TCP entregam os dados assemelham-se s diferenas entre um telefonema e um carto postal. O TCP funciona como um telefonema, verificando se o destino est disponvel e pronto para a comunicao. O UDP funciona como um carto postal as mensagens so pequenas e a entrega provvel, mas nem sempre garantida. UDP geralmente usado por programas que transmitem pequenas quantidades de dados ao mesmo tempo ou tm necessidades em tempo real. Nessas situaes, a baixa sobrecarga do UDP (pois este no faz as verificaes que so feitas pela TCP) e as capacidades de broadcast do UDP (por exemplo, um datagrama, vrios destinatrios) so mais adequadas do que o TCP.

RDCP | MODELO OSI | Camada de Transporte


Comparando UDP e TCP:
O UDP contrasta diretamente com os servios e recursos oferecidos por TCP. A tabela a seguir compara as diferenas em como a comunicao TCP/IP tratada dependendo do uso de UDP ou TCP para o transporte de dados.

Tanto UDP quanto TCP usam portas para identificar as comunicaes para cada programa TCP/IP, conforme descrito anteriormente.

RDCP | MODELO OSI | Camada de Transporte


Exemplos de utilizao de portas
Embora provavelmente voc nunca tenha notado, voc utiliza portas de comunicao diversas vezes, como por exemplo ao acessar o seu email, ao fazer um download de um arquivo ou ao acessar uma pgina na Internet. Quando voc acessa um site na Internet, como por exemplo www.google.com.br ou www.microsoft.com.br, o navegador que voc est utilizando se comunica com a porta 80 no servidor HTTP, do site que est sendo acessado. Voc nem fica sabendo que est sendo utilizada a porta 80, pois esta a porta padro de comunicao, para o protocolo HTTP (Hypertext Transfer Protocol). Um detalhe interessante que no obrigatrio que seja utilizada a porta padro nmero 80, para a comunicao do HTTP. Por exemplo, o Administrador do IIS Internet Information Services, que o servidor Web da Microsoft, pode configurar um site para responder em uma porta diferente da Porta 80,

RDCP | MODELO OSI | Camada de Transporte


Exemplos de utilizao de portas
conforme exemplo da Figura a seguir, onde o site foi configurado para responder na porta 470:

Quando for utilizada uma porta diferente da porta padro 80, o nmero da porta deve ser informada aps o endereo, colocando o sinal de dois pontos (:) aps o endereo e o nmero da porta aps o sinal de dois pontos, como no exemplo a seguir: http://www.abc.com.br:470

RDCP | MODELO OSI | Camada de Transporte


Exemplos de utilizao de portas
Um outro exemplo do dia-a-dia, onde utilizamos o conceito de portas de comunicao, quando voc utiliza um cliente de FTP para se conectar a um servidor de FTP e fazer o download de um ou mais arquivos. Ao criar uma nova conexo de FTP, voc deve informar o nome do servidor (ftp.abc.com.br, ftp.123.com.br e assim por diante) e definir a porta de comunicao. Os principais clientes de FTP, j sugerem como padro a porta 21, a qual utilizada pelo protocolo FTP. No exemplo da figura a seguir, mostrada uma tela do cliente de FTP Cute FTP. Nesta figura, mostramos as configuraes para conexo com o meu servidor de ftp, onde utilizada a porta 21:

RDCP | MODELO OSI | Camada de Transporte


Exemplos de utilizao de portas

RDCP | MODELO OSI | Camada de Transporte


Exemplos de utilizao de portas
Outro uso muito comum nas redes da sua empresa a criao de sesses de programas emuladores de terminal com sistemas que rodam no Mainframe da empresa. Grande parte dos sistemas empresariais ainda roda no Mainframe. A prxima figura descreve, resumidamente, como funciona a criao de sees, usando um software emulador de terminal, para acessar sistemas no Mainframe. Nas estaes de trabalho da rede da empresa, instalado um programa emulador de terminal. Estes progrmas, na maioria das vezes, emulam terminais no padro TN23270. Este um padro da IBM muito utilizado para acesso aplicaes que esto no Mainframe. O programa emulador de terminal faz a conexo com o Mainframe, o usurio informa o seu logon e senha e, de acordo com as permisses atribudas ao logon do usurio, so disponibilizados um ou mais sistemas.

RDCP | MODELO OSI | Camada de Transporte


Exemplos de utilizao de portas
Quando o usurio vai criar uma sesso com o Mainframe, ele precisa informar o nome ou o nmero IP do Mainframe. Normalmente estas sees so feitas com base no servio de Telnet (Terminal Emulator Link Over Network), o qual baseado na porta de comunicao 23.

RDCP | MODELO OSI | Camada de Transporte


Exemplos de utilizao de portas
Na Figura a seguir, mostramos o uso de um software emulador de terminal, no momento em que est sendo configurada uma nova seo, a qual ser estabelecida via Telnet, utilizando a porta 23:

RDCP | MODELO OSI | Camada de Transporte


Exemplos de utilizao de portas
Estas so apenas trs situaes bastante comuns acessar a Internet, fazer download de arquivos a partir de um servidor FTP e criar uma sesso com o Mainframe, - utilizados diariamente por usurios das redes de empresas de todo o mundo, onde so utilizados, na prtica, o conceito de Portas de Comunicao, do TCP/IP. A seguir apresentaremos alguns comandos do Windows XP/2003, os quais exibem informaes sobre as portas de comunicao que esto sendo utilizadas no seu computador. Se voc no est conectado rede de uma empresa, poder utilizar estes comandos quando voc estiver conectado Internet, situao onde, certamente, estaro sendo utilizadas portas de comunicao.

RDCP | MODELO OSI | Camada de Transporte


O comando netstat exibindo informaes sobre portas
O comando netstat est disponvel no Windows XP e Windows Server 2003. Este comando exibe estatsticas do protocolo TCP/IP e as conexes atuais da rede TCP/IP. O comando netstat somente est disponvel se o protocolo TCP/IP estiver instalado. A seguir apresentamos alguns exemplos de utilizao do comando netstat e das opes de linha de comando disponveis. * netstat a: O comando netstat com a opo a Exibe todas as portas de conexes e de escuta. Conexes de servidor normalmente no so mostradas. Ou seja, o comando mostra as portas de comunicao que esto na escuta, isto , que esto aptas a se comunicar. Na listagem a seguir mostramos um exemplo do resultado da execuo do comando netstat a, em um computador com o nome micro01. O estado LISTENING significa, esperando, na escuta, ou seja, aceitando conexes na referida porta. O estado ESTABLISHED significa que existe uma conexo ativa na respectiva porta:

RDCP | MODELO OSI | Camada de Transporte


O comando netstat exibindo informaes sobre portas

RDCP | MODELO OSI | Camada de Transporte


O comando netstat exibindo informaes sobre portas
* netstat e: Esta opo exibe estatsticas sobre a interface Ethernet do computador. A interface Ethernet , normalmente, a placa de rede local, que conecta o computador a rede da empresa. Esta opo pode ser combinada com a opo s, que ser descrita mais adiante. A seguir um exemplo da execuo do comando netstat e:

RDCP | MODELO OSI | Camada de Transporte


O comando netstat exibindo informaes sobre portas
* netstat n: Exibe endereos e nmeros de porta em forma numrica (em vez de tentar pesquisar o nome). A seguir um exemplo da execuo do comando netstat n:

RDCP | MODELO OSI | Camada de Transporte


O comando netstat exibindo informaes sobre portas
* netstat s: Exibe estatstica por protocolo. Por padro, so mostradas estatsticas para TCP, UDP, ICMP (Internet Control Message Protocol, protocolo de acesso s mensagens de Internet) e IP. A opo -p pode ser utilizada para especificar um ou mais protocolos para os quais devem ser exibidas estatsticas. A seguir um exemplo da execuo do comando netstat n:

RDCP | MODELO OSI | Camada de Transporte


O comando netstat exibindo informaes sobre portas

RDCP | MODELO OSI | Camada de Transporte


O comando netstat exibindo informaes sobre portas
* netstat p: Mostra conexes para o protocolo especificado por protocolo, que pode ser tcp ou udp. Se utilizado com a opo -s para exibir estatsticas por protocolo, protocolo pode ser tcp, udp, icmp ou ip. . A seguir um exemplo da execuo do comando netstat p, onde so exibidas informaes somente sobre o protocolo ip: netstat s p ip:

RDCP | MODELO OSI | Camada de Transporte


O comando netstat exibindo informaes sobre portas
* netstat r: Exibe o contedo da tabela de roteamento do computador. Exibe os mesmos resultados do comando route print. * A opo intervalo: Voc pode definir um intervalo, dentro do qual as estatsticas geradas pelo comando netstat sero atualizadas. Por exemplo, voc pode definir que sejam exibidas as estatsticas do protocolo ICMP e que estas sejam atualizadas de cinco em cinco segundos. Ao especificar um intervalo, o comando ficar executando, indefinidamente e atualizando as estatsticas, dentro do intervalo definido. Para suspender a execuo do comando, basta pressionar Ctrl+C. O comando a seguir ir exibir as estatsticas do protocolo IP e ir atualiz-las a cada 10 segundos: netstat s p ip 10