Você está na página 1de 10

Protocolo TCP/IP

De uma forma simples, o TCP/IP o principal protocolo de envio e recebimento de dados, uma espcie de comunicador que fornece o endereo e o nome e permite a localizao do outro computador devido ao recebimento das mesmas informaes, sendo usado para estabelecer esta relao tanto na internet quanto em uma intranet. TCP significa Transmission Control Protocol (Protocolo de Controle de Transmisso) e o IP Internet Protocol (Protocolo de Internet), esses dois foram os primeiros a ser definidos. Entrando em termos um pouco mais tcnicos, este conjunto de protocolos tambm pode ser visto como um modelo de camadas, no qual cada uma delas responsvel pela execuo de uma quantidade ( grupo) de tarefas, e entregando um conjunto de atividades definidas para o protocolo da camada logo acima. Quanto mais alta a camada, mais prxima ao usurio ela se encontra e so aquelas que trabalham com dados mais abstratos (esta a chamada camada de aplicao) e para as camadas em nveis mais baixos restam funes com um nvel de abstrao menor. O TCP faz parte da camada de mais alto nvel do IP. Para entrar em detalhes ainda um pouco mais especficos, IP um protocolo responsvel pela entrega de pacotes para todos os outros protocolos TCP/IP e oferece um sistema de entrega de dados sem conexo. O TCP garante a entrega e garante o seqenciamento dos pacotes. No caso da rede perder ou corromper um pacote TCP/IP durante a transmisso, tarefa do TCP repassar estes dados.

Camada de Aplicao
A camada de aplicao um termo utilizado em redes de computadores para designar a stima camada do modelo OSI. responsvel por prover servios para aplicaes de modo a abstrair a existncia de comunicao em rede entre processos de diferentes computadores. Tambm a camada nmero cinco do modelo TCP/IP que engloba tambm as camadas de apresentao e sesso no modelo OSI. nessa camada que ocorre a interao micro-usurio. A camada de aplicao responsvel por identificar e estabelecer a disponibilidade da aplicao na mquina destinatria e disponibilizar os recursos para que tal comunicao acontea. ntroduo Muita gente j ouviu dizer que instalar um firewall uma boa maneira de proteger o PC, j que ele controla o uso das portas. Por outro lado, h pessoas que descobrem que necessrio liberar uma determinada porta em seu computador para que um dado programa funcione. Quando algum fala dessas portas, est se referindo s portas TCP

e UDP, que so meios utilizados por softwares e servios do sistema operacional para a comunicao em rede e, conseqentemente, na internet. O InfoWester apresenta a seguir explicaes que lhe ajudaro a entender melhor os conceitos e utilidades dessas portas. Para tanto, conveniente apresentar primeiro uma descrio dos protocolos TCP e UDP. O protocolo TCP A comunicao pela internet feita, basicamente, atravs de protocolos, sendo o TCP (Transmission Control Protocol) um dos mais importantes deles. Isso porque o TCP est includo no conjunto de protocolos que formam o TCP/IP, a base de comunicao via dados de toda a internet. De acordo com a definio dada por Jlio Battisti neste artigo, as principais caractersticas do TCP so: :: Garantir 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; :: Executar a segmentao e o reagrupamento de grandes blocos de dados enviados pelos programas, garantir o seqenciamento adequado e a entrega ordenada de dados segmentados: esta caracterstica refere-se ao recurso de dividir grandes arquivos em pacotes de dados 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. :: Verificar 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. :: Enviar 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 de dados, 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. :: Oferecer 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: o TCP muito mais confivel do que protocolos como o UDP (explicado adiante) e indicado para programas e servios que dependam de uma entrega confivel de dados. O funcionamento do TCP baseado em conexes. Assim, para um computador cliente iniciar uma "conversa" com um servidor, necessrio enviar um sinal denominado SYN

para este ltimo. O servidor ento responde enviando um sinal SYN combinado com um sinal de nome ACK para confirmar a conexo. O cliente responde com outro sinal ACK, fazendo com que a conexo esteja estabelecida e pronta para a troca de dados. Por ser feita em trs transmisses, esse processo conhecimento como three-way handshake (algo como triplo aperto de mos).

Protocolo UDP O UDP (User Datagram Protocol) tido como um protocolo "irmo" do TCP, mas mais simples e tambm menos confivel. Isso acontece porque o funcionamento do TCP , como j dito, baseado em conexes, o que no ocorre com o UDP. Como conseqncia, no h procedimentos de verificao no envio e recebimento de dados (todavia, pode haver checagem de integridade) e se algum pacote no for recebido, o computador de destino no faz uma nova solicitao, como acontece com o TCP. Tudo isso faz do UDP um pouco mais rpido, porm inutilizvel em certas aplicaes. Por essas caractersticas, pode parecer que o UDP intil, mas no . H aplicaes em que prefervel entregar os dados o mais rapidamente possvel, mesmo que algumas informaes se percam no caminho. o caso, por exemplo, das transmisses de vdeo pela internet (streaming), onde a perda de um pacote de dados no interromper a transmisso. Por outro lado, se os pacotes no chegarem ou demorarem a chegar, haver congelamentos na imagem, causando irritao no usurio. Portas TCP e portas UDP Agora que voc j conhece algumas caractersticas dos protocolos TCP e UDP, j est apto a entender o conceito de portas. Para uma compreenso mais fcil, usaremos o seguinte exemplo: suponha que, neste momento, voc esteja usando um navegador de internet, um cliente de e-mail e um software de comunicao instantnea. Todas essas aplicaes fazem uso da sua conexo internet, mas como o computador faz para saber quais os dados que pertencem a cada programa? Simples, pelo nmero da porta que cada um utiliza. Por exemplo, se voc est usando um programa de FTP (File Transfer Protocol), a conexo internet feita pela porta TCP 21, que uma porta

convencionada a este protocolo. Se estiver baixando arquivos pelo BitTorrent, uma das portas que vo de 6881 6889 estar sendo utilizada para tal atividade. Compare seu computador a um prdio. Ao chegar uma correspondncia, necessrio saber a qual apartamento entreg-la. Se no envelope estiver escrito que o destino o apartamento nmero 123, onde reside Fulano, basta fazer a entrega. Em seu computador, o conceito o mesmo: basta substituir a correspondncia pelo pacote de dados, o apartamento pela porta e o Fulano pelo programa. No entanto, importante frisar que um aplicativo pode utilizar mais de uma porta.

Ao todo, possvel usar 65536 portas TCP e UDP, comeando em 1. Tanto no protocolo TCP como no UDP, comum o uso das portas de 1 a 1024, j que a aplicao destas padronizada pela IANA (Internet Assigned Numbers Authority). De acordo com essa entidade, eis algumas das portas TCP mais utilizadas: :: 21 - FTP; :: 23 - Telnet; :: 25 - SMTP; :: 80 - HTTP; :: 110 - POP3; :: 143 - IMAP; :: 443 - HTTPS. A IANA disponibiliza uma lista completa e atualizada da utilizao das portas TCP e UDP nesta pgina. Dependendo do caso, uma aplicao no precisa, necessariamente, estar restrita a um dado conjunto de portas. possvel utilizar outras, mas necessrio que isso seja especificado. por isso, por exemplo, que h determinados endereos na internet que so disponibilizados assim: http://www.site.com:abcd, onde abcd o nmero da porta. Neste caso, seu computador est sendo orientado a acessar o endereo pela porta abcd. Finalizando graas ao conceito de portas que voc consegue utilizar vrios servios ao mesmo tempo na internet. No entanto, isso tambm pode representar um perigo, razo pela qual importante ter controle sob o trfego de dados nas portas TCP e UDP. O uso de firewalls, por exemplo, ajuda a impedir que aplicaes maliciosas utilizem portas abertas no computador para atividades prejudiciais. Alm disso, um administrador de

redes pode fazer configuraes manuais para que determinadas portas fiquem bloqueadas, impedindo a conexo de aplicativos que fazem uso destas.

CAMADA 1- REDE (HARDWARE)


Camada de abstrao de hardware, tem como principal funo a interface do modelo TCP/IP com os diversos tipos de redes (X.25, ATM, FDDI, Ethernet, Token Ring, Frame Relay, PPP e SLIP). Por causa da grande variedade de tecnologias de rede, ela no normatizada pelo modelo, o que prov a possibilidade de interconexo e interoperao de redes heterogneas

Transmission Control Protocol


O TCP (acrnimo para o ingls Transmission Control Protocol) um dos protocolos sob os quais assenta o ncleo da Internet. A versatilidade e robustez deste protocolo tornou-o adequado a redes globais, j que este verifica se os dados so enviados de forma correta, na sequncia apropriada e sem erros, pela rede. O TCP um protocolo de nvel da camada de transporte (camada 4) do Modelo OSI e sobre o qual que se assentam a maioria das aplicaes cibernticas, como o SSH, FTP, HTTP portanto, a World Wide Web

Caractersticas tcnicas
As caractersticas fundamentais do TCP so:

Orientado conexo - A aplicao envia um pedido de conexo para o destino e usa a "conexo" para transferir dados. Ponto a ponto - uma conexo TCP estabelecida entre dois pontos. Confiabilidade - O TCP usa vrias tcnicas para proporcionar uma entrega confivel dos pacotes de dados, que a grande vantagem que tem em relao ao UDP, e motivo do seu uso extensivo nas redes de computadores. O TCP permite a recuperao de pacotes perdidos, a eliminao de pacotes duplicados, a recuperao de dados corrompidos, e pode recuperar a ligao em caso de problemas no sistema e na rede. Full duplex - possvel a transferncia simultnea em ambas direes (cliente-servidor) durante toda a sesso. Handshake - Mecanismo de estabelecimento e finalizao de conexo a trs e quatro tempos, respectivamente, o que permite a autenticao e encerramento de uma sesso completa. O TCP garante que, no final da conexo, todos os pacotes foram bem recebidos. Entrega ordenada - A aplicao faz a entrega ao TCP de blocos de dados com um tamanho arbitrrio num fluxo (ou stream) de dados, tipicamente em octetos. O TCP parte estes dados em segmentos de tamanho especificado pelo valor MTU. Porm, a circulao dos pacotes ao longo da rede (utilizando um protocolo de encaminhamento, na camada inferior, como o IP) pode fazer com que os pacotes no cheguem ordenados. O TCP garante a reconstruo do stream no destinatrio mediante os nmeros de sequncia.

Controle de fluxo - O TCP usa o campo janela ou window para controlar o fluxo. O receptor, medida que recebe os dados, envia mensagens ACK (=Acknowledgement), confirmando a recepo de um segmento; como funcionalidade extra, estas mensagens podem especificar o tamanho mximo do buffer no campo (janela) do segmento TCP, determinando a quantidade mxima de bytes aceita pelo receptor. O transmissor pode transmitir segmentos com um nmero de bytes que dever estar confinado ao tamanho da janela permitido: o menor valor entre sua capacidade de envio e a capacidade informada pelo receptor.

Descrio do funcionamento
Fig. 1 - Neste exemplo considera-se o backlog preenchido para forar o timeout no cliente para que o pacote SYN seja reenviado. No entanto, o primeiro pacote podia ter-se perdido devido a erros na rede.

O protocolo TCP especifica trs fases durante uma conexo: estabelecimento da ligao, transferncia e trmino de ligao. O estabelecimento da ligao feito em trs passos, enquanto que o trmino feito em quatro. Durante a inicializao so inicializados alguns parmetros, como o Sequence Number (nmero de sequncia) para garantir a entrega ordenada e robustez durante a transferncia.
[editar] Estabelecimento da ligao

Tipicamente, numa ligao TCP existe aquele designado de servidor (que abre um socket e espera passivamente por ligaes) num extremo, e o cliente no outro. O cliente inicia a ligao enviando um pacote TCP com a flag SYN activa e espera-se que o servidor aceite a ligao enviando um pacote SYN+ACK. Se, durante um determinado espao de tempo, esse pacote no for recebido ocorre um timeout e o pacote SYN reenviado. O estabelecimento da ligao concludo por parte do cliente, confirmando a aceitao do servidor respondendo-lhe com um pacote ACK. Durante estas trocas, so trocados nmeros de sequncia iniciais (ISN) entre os interlocutores que iro servir para identificar os dados ao longo do fluxo, bem como servir de contador de bytes transmitidos durante a fase de transferncia de dados (sesso). No final desta fase, o servidor inscreve o cliente como uma ligao estabelecida numa tabela prpria que contm um limite de conexes, o backlog. No caso do backlog ficar completamente preenchido a ligao rejeitada ignorando (silenciosamente) todos os subsequentes pacotes SYN.
[editar] Transferncia de dados (sesso)

Durante a fase de transferncia o TCP est equipado com vrios mecanismos que asseguram a confiabilidade e robustez: nmeros de sequncia que garantem a entrega ordenada, cdigo detector de erros (checksum) para deteco de falhas em segmentos especficos, confirmao de recepo e temporizadores que permitem o ajuste e contorno de eventuais atrasos e perdas de segmentos. Como se pode observar pelo cabealho TCP, existem permanentemente um par de nmeros de sequncia, doravante referidos como nmero de sequncia e nmero de

confirmao (ACKnowledgement). O emissor determina o seu prprio nmero de sequncia e o receptor confirma o segmento usando como nmero ACK o nmero de sequncia do emissor. Para manter a confiabilidade, o receptor confirma os segmentos indicando que recebeu um determinado nmero de bytes contguos. Uma das melhorias introduzidas no TCP foi a possibilidade do receptor confirmar blocos fora da ordem esperada. Esta caracterstica designa-se por selective ACK, ou apenas SACK. A remontagem ordenada dos segmentos feita usando os nmeros de sequncia, de 32 bit, que reiniciam a zero quando ultrapassam o valor mximo, 231-1, tomando o valor da diferena. Assim, a escolha do ISN torna-se vital para a robustez deste protocolo. O campo checksum permite assegurar a integridade do segmento. Este campo expresso em complemento para um consistindo na soma dos valores (em complemento para um) da trama. A escolha da operao de soma em complemento para um deve-se ao facto de esta poder ser calculada da mesma forma para mltiplos desse comprimento - 16 bit, 32 bit, 64 bit, etc - e o resultado, quando encapsulado, ser o mesmo. A verificao deste campo por parte do receptor feita com a recomputao da soma em complemento para um que dar -0 caso o pacote tenha sido recebido intacto. Esta tcnica (checksum), embora muito inferior a outros mtodos detectores, como o CRC, parcialmente compensada com a aplicao do CRC ou outros testes de integridade melhores ao nvel da camada 2, logo abaixo do TCP, como no caso do PPP e Ethernet. Contudo, isto no torna este campo redundante: com efeito, estudos de trfego revelam que a introduo de erro bastante frequente entre hops protegidos por CRC e que este campo detecta a maioria desses erros. As confirmaes de recepo (ACK) servem tambm ao emissor para determinar as condies da rede. Dotados de temporizadores, tanto os emissores como receptores podem alterar o fluxo dos dados, contornar eventuais problemas de congesto e, em alguns casos, prevenir o congestionamento da rede. O protocolo est dotado de mecanismos para obter o mximo de performance da rede sem a congestionar o envio de tramas por um emissor mais rpido que qualquer um dos intermedirios (hops) ou mesmo do receptor pode inutilizar a rede. So exemplo a janela deslizante, o algoritmo de incio-lento
Adequao de parmetros Neste simples exemplo s est a ser considerada a janela do servidor. O cliente tem a percepo do estado da janela do servidor a cada ACK recebido.

O cabealho TCP possui um parmetro que permite indicar o espao livre atual do receptor (emissor quando envia a indicao): a janela (ou window). Assim, o emissor fica a saber que s poder ter em trnsito aquela quantidade de informao at esperar pela confirmao (ACK) de um dos pacotes - que por sua vez trar, com certeza, uma atualizao da janela. Curiosamente, a pilha TCP no Windows foi concebida para se auto-ajustar na maioria dos ambientes e, nas verses atuais, o valor padro superior em comparao com verses mais antigas. Porm, devido ao tamanho do campo, que no pode ser expandido, os limites aparentes da janela variam entre 2 e 65535, o que bastante pouco em redes de alto dbito e hardware de alta performance. Para contornar essa limitao usado uma Opo

especial que permite obter mltiplos do valor da janela, chamado de escala da janela, ou TCP window scale; este valor indica quantas vezes o valor da janela, de 16 bit, deve ser operado por deslocamento de bits (para a esquerda) para obter os mltiplos, podendo variar entre 0 e 14. Assim, torna-se possvel obter janelas de 1 gigabyte. O parmetro de escala definido unicamente durante o estabelecimento da ligao.

Trmino de conexo.
A fase de encerramento da sesso TCP um processo de quatro fases, em que cada interlocutor responsabiliza-se pelo encerramento do seu lado da ligao. Quando um deles pretende finalizar a sesso, envia um pacote com a flag FIN ativa, ao qual dever receber uma resposta ACK. Por sua vez, o outro interlocutor ir proceder da mesma forma, enviando um FIN ao qual dever ser respondido um ACK. Pode ocorrer, no entanto, que um dos lados no encerre a sesso. Chama-se a este tipo de evento de conexo semi-aberta. O lado que no encerrou a sesso poder continuar a enviar informao pela conexo, mas o outro lado no.

Portas ou servios
O TCP introduz o conceito de porta tipicamente associado a um servio (camada aplicao)/ligao especfica. Assim, cada um dos intervenientes na conexo dispe de uma porta associada (um valor de 16 bit) que dificilmente ser o mesmo do interlocutor. Alguns servios (que fazem uso de protocolos especficos) so tipicamente acessveis em portas fixas, conhecidas como portas bem conhecidas, que so aqueles numerados do 1 ao 1023. Alm destas, existem ainda duas gamas de portas, registradas e privadas ou dinmicas. As portas bem conhecidas so atribudas pela Internet Assigned Numbers Authority (IANA) e so tipicamente utilizados por processos com direitos de sistema ou super-utilizador. Nestas portas encontram-se em escuta passiva os servios triviais, como HTTP, SSH, FTP, etc. Todos os protocolos da suite IP se encontram registrados dentro desta gama. A gama de portas privadas segue regras de atribuio especficas do sistema operativo e serve para abrir ligaes a outras mquinas, como surfar na rede, por exemplo

Mscara de rede
Os nmeros de rede e de host para as classes A, B e C a partir de seu IP.

Uma mscara de subrede tambm conhecida como subnet mask ou netmask um nmero de 32 bits usada para separar em um IP a parte correspondente rede pblica, subrede e aos hosts. Uma subrede uma diviso de uma rede de computadores - a faixa de endereos lgicos reservada para uma organizao. A diviso de uma rede grande em menores resulta num trfego de rede reduzido, administrao simplificada e melhor performance de rede. No IPv4 uma subrede identificada por seu endereo base e sua mscara de subrede

IPX/SPX
Este protocolo de rede, que foi desenvolvido pela Novell, para ser usado em seu Novell Netware. Como o Netware acabou tornando-se muito popular, outros sistemas operacionais de rede (incluindo o Windows), passaram a suportar este protocolo. O IPX/SPX to rpido quanto o TPC/IP (apesar de no ser to verstil) e suporta roteamento, o que permite seu uso em redes de mdio ou grande porte. As verses recentes do Novell Netware oferecem a opo de usar o IPX/SPX ou o TCP/IP, sendo o uso do TCP/IP mais comum, j que mais fcil interligar mquinas de vrias plataformas rede. No Netware, alm do mdulo principal (instalado no servidor), fornecido um mdulo cliente, que deve ser instalado em todas as estaes de trabalho. Alm da verso principal do Netware, existe a verso Personal, um sistema de rede ponto a ponto, que novamente roda sobre o sistema operacional. Esta verso do Netware bem fcil de usar, porm nunca foi muito popular, pois o Windows sozinho j permite a criao de redes ponto a ponto muito facilmente, desde o 3.11. Atualmente muito comum utilizar servidores Linux, rodando o Samba, substituindo servidores Windows NT, 2000 ou 2003 Server. No incio de 2003, a Novell comprou a SuSE, uma das maiores distribuies Linux na Europa e, em seguida, a Ximian, que entre outras coisas desenvolve solues de interoperabilidade entre servidores Linux e Windows. Isso mostra que as futuras solues da Novell devem ser baseadas em Linux. Mas, voltando ao assunto principal, possvel usar estaes Windows e Linux como clientes de um servidor Novell. No caso do Windows, necessrio ter instalado o protocolo IPX/SPX e tambm um cliente para redes Netware. No Windows XP, a compatibilidade com o IPX fornecida pelo protocolo " NWLink/IPX/SPX/NetBIOS", o mesmo que instalamos para ativar o suporte ao NetBEUI. Para instalar o protocolo IPX/SPX no Windows 95/98, abra o cone de configurao da rede e use a opo "Adicionar > Protocolo > Microsoft > Protocolo compatvel com IPX/SPX". Para instalar o cliente para redes Novell no Windows 98, clique em "Adicionar > Cliente > Microsoft > Cliente para redes NetWare". Apesar do cliente fornecido com o Windows 98 no ficar devendo muito em termos de recursos, prefervel usar o cliente da prpria Novell, que traz alguns recursos nicos, alm de ser mais rpido. O programa cliente da Novell acompanha o mdulo servidor, mas voc tambm pode baix-lo gratuitamente (12 MB) do site da Novell: http://www.novell.com.br. Aps baixar o arquivo, execute-o para que ele se descompacte automaticamente e, em seguida, execute o arquivo "setup.exe" para instalar o cliente. O programa de instalao adicionar o "Cliente NetWare da Novell" e o "Protocolo IPX de 32 Bits para o NetWare Client da Novell", que aparecero na janela de configurao da rede. O cliente ficar residente na forma de um cone ao lado do relgio, j que voc depende do programa para ter acesso ao servidor. Como no caso dos servidores NT, voc dever

criar uma conta de usurio no servidor Novell e logar-se na rede informando o nome de usurio e senha estabelecidos. Ao usar clientes Linux, voc pode utilizar o NovelClient (com um L s), que pode ser baixado no: http://novelclient.sourceforge.net/.

Montagem e Configurao da Rede O processo de montagem e confi gurao de uma rede um dos pontos mais esperados pelos alunos. Assim organize a aula deixando os equipamentos e ferramentas necessrias para que os alunos aprendam a como montar os cabos de redes. 7.2 - Materiais Empregados Mostre para os alunos os materiais que sero utilizados para a montagem da rede. Os tpicos abaixo no esto comentados, devido a serem uma lista de materiais que deveremos mostrar para os alunos e a explicao de cada material consta no Livro do Aluno. 7.1.1 - Cabo UTP (Unshilded Twisted Pair) - Par tranado 7.1.2 - Conector RJ45 7.1.3 - Alicate de Crimp para RJ 45 7.1.4 - Adaptador de Rede - NIC (Network Interface Card) 7.1.5 - Hub/Switch (Concentradores) Explique para os alunos as diferentes formas de montar o cabo de rede, e as diferentes aplicaes que os cabos podem ser utilizados.