Protocolos

download Protocolos

of 53

Transcript of Protocolos

DISCIPLINA: REDES DE COMPUTADORES CURSO: TECNOLOGO EM REDES DE COMPUTADORES E ANALISE E DESENVOLVIMENTO DE SISTEMAS Professor: Manoel Pedro de Freitas Neto

O que um protocolo? Um protocolo um mtodo standard que permite a comunicao entre processos (que se executam eventualmente em diferentes mquinas), isto , um conjunto de regras e procedimentos a respeitar para emitir e receber dados numa rede. Existem vrios, de acordo com o que se espera da comunicao. Certos protocolos, por exemplo, sero especializados na troca de ficheiros (o FTP), outros podero servir para gerir simplesmente o estado da transmisso e os erros ( o caso do protocolo ICMP), Na Internet, os protocolos utilizados fazem parte de uma sequncia de protocolos, quer dizer, de um conjunto de protocolos. Esta sequncia de protocolos chama-se TCP/IP. Esta contm, designadamente, os seguintes protocolos :

HTTP FTP ARP ICMP IP TCP UDP SMTP Telnet NNTP

Protocolos orientados e no orientados para conexo Classificam-se geralmente os protocolos em duas categorias, de acordo com o nvel de controlo dos dados que se deseja:

Os protocolos orientados para a conexo : Trata-se dos protocolos que operam um controlo de transmisso dos dados durante uma comunicao estabelecida entre duas mquinas. Em tal esquema, a mquina receptora envia avisos de recepo aquando da comunicao, assim a mquina emissora fiadora da validade dos dados que envia. Os dados so assim enviados sob a forma de fluxo. O TCP um protocolo orientado para a conexo Os protocolos no orientados para a conexo : Trata-se de um modo de comunicao no qual a mquina emissora envia dados sem prevenir a mquina receptora, e a mquina receptora recebe os dados sem avisos de recepo Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

primeira. Os dados so assim enviados sob a forma de blocos (datagramas). O UDP um protocolo no orientado para a conexo Protocolo e aplicao Um protocolo define unicamente a maneira pela qual as mquinas devem comunicar, quer dizer, a forma e a sequncia dos dados a trocar. Um protocolo no define, em contrapartida, a maneira de programar um software de tal maneira a que seja compatvel com o protocolo. Chama-se assim implementao traduo de um protocolo em linguagem de programao. As especificaes dos protocolos nunca so exaustivas, assim habitual que as aplicaes sejam objecto de uma certa interpretao das especificaes, oque conduz s vezes s especificidades de certas aplicaes ou, pior ainda, incompatibilidades ou falhas de segurana! O protocolo HTTP

Introduo ao protocolo HTTP O protocolo HTTP (HyperText Transfer Protocol) o protocolo mais utilizado na Internet desde 1990. A verso 0.9 destinava-se unicamente a transferir dados na Internet (em especial pginas Web escritas em HTML). A verso 1.0 do protocolo (a mais utilizada) permite doravante transferir mensagens com cabealhos que descrevem o contedo da mensagem utilizando uma codificao de tipo MIMO. O objectivo do protocolo HTTP permitir uma transferncia de ficheiros (essencialmente no formato HTML) localizados graas a uma cadeia de caracteres chamada URL entre um navegador (o cliente) e um servidor Web (chamado de resto httpd nas mquinas UNIX). Comunicao entre navegador e servidor A comunicao entre o navegador e o servidor faz-se em dois tempos :

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

O navegador efectua um pedido HTTP O servidor trata o pedido e seguidamente envia uma resposta HTTP

Na realidade, a comunicao efectua-se em mais tempo se considerarmos o tratamento do pedido pelo servidor. Dado que nos interessamos unicamente pelo protocolo HTTP, o tratamento do lado de servidor no ser esclarecido no mbito deste artigo Se este assunto lhe interessar, consulte o artigo sobre o tratamento dos CGI. Pedido HTTP Um pedido HTTP um conjunto de linhas enviado ao servidor pelo navegador. Compreende:

Uma linha de pedido : A linha compreende trs elementos que devem ser separados por um espao: o O mtodo o O URL o A verso do protocolo utilizado pelo cliente (geralmente HTTP/1.0) Os campos de cabealho do pedido : trata-se de um conjunto de linhas facultativas que permitem dar informaes suplementares sobre o pedido e/ou o cliente (Navegador, sistema de explorao,). Cada um destas linhas composta por um nome que qualifica o tipo de cabealho, seguido de dois pontos (:) e do valor do cabealho O corpo do pedido : um conjunto de linhas opcionais que devem ser separadas das linhas precedentes por uma linha vazia e permitindo por exemplo um envio de dados por um comando POST aquando do envio de dados ao servidor por um formulrio

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

Um pedido HTTP tem por conseguinte a sintaxe seguinte ( significa regresso salto de linha): METHODE URL VERSION EN-TETE : Valeur . . . EN-TETE : Valeur Ligne vide CORPS DE LA REQUETE

Eis ento um exemplo de pedido HTTP: GET http://pt.kioskea.net HTTP/1.0 Accept : text/html If-Modified-Since : Saturday, 15-January-2000 14:37:11 GMT User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Comandos

Comando Descrio GET HEAD POST PUT DELETE Pedido do recurso situado na URL especificada Pedido do cabealho do recurso situado na URL especificada Envio de dados ao programa situado na URL especificada Envio de dados URL especificada Supresso do recurso situado na URL especificada

Rubricas

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

Nome rubrica Accept

da

Descrio Tipo de contedo aceite pelo motor de pesquisa (por exemplo text/HTML). Ver tipos MIMO

Accept-Charset Jogo de caracteres esperado pelo motor de pesquisa AcceptEncoding AcceptLanguage Authorization ContentEncoding ContentLanguage Codificao de dados aceite pelo motor de pesquisa

Linguagem esperada pelo motor de pesquisa (ingls, por defeito) Identificao do motor de pesquisa junto do servidor Tipo de codificao do corpo do pedido

Tipo de linguagem do corpo do pedido

Content-Length Comprimento do corpo do pedido Content-Type Date Forwarded From From Link Orig-URL Referer User-Agent Tipo de contedo do corpo do pedido (por exemplo text/HTML). Ver tipos MIMO Data de incio de transferncia dos dados Utilizado pelas mquinas intermdias entre o motor de pesquisa e o servidor Permite especificar o e-mail do cliente Permite especificar que o documento deve ser enviado se tiver sido alterado a partir de uma certa data Relao entre duas URL URL de origem do pedido URL da ligao a partir da qual o pedido foi efectuado Cadeia dando informaes sobre o cliente, como o nome e a verso do navegador, do sistema de exploraoEstcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

Resposta HTTP Uma resposta HTTP um conjunto de linhas enviadas ao navegador pelo servidor. Compreende:

Uma linha de estatuto : uma linha que precisa a verso do protocolo utilizado e o estado do tratamento do pedido atravs de um cdigo e de um texto explicativo. A linha compreende trs elementos que devem ser separados por um espao: o A verso do protocolo utilizado o O cdigo de estatuto o A significado do cdigo Os campos de rubrica da resposta : trata-se de um conjunto de linhas facultativas que permitem dar informaes suplementares sobre a resposta e/ou o servidor. Cada um destas linhas composta de um nome que qualifica o tipo de rubrica, seguido de dois pontos (:) e do valor da rubrica O corpo da resposta : contem o documento pedido

Uma resposta HTTP tem por conseguinte a sintaxe seguinte ( significa salto de linha) : VERSION-HTTP CODE EXPLICATION EN-TETE : Valeur . . . EN-TETE : Valeur Ligne vide CORPS DE LA REPONSE

Eis aqui um exemplo de resposta HTTP : HTTP/1.0 200 OK Date : Sat, 15 Jan 2000 14:37:12 GMT Server : Microsoft-IIS/2.0 Content-Type : text/HTML Content-Length : 1245 Last-Modified : Fri, 14 Jan 2000 08:25:13 GMT

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

CORPO DA RESPOSTA

Nome rubrica ContentEncoding ContentLanguage

da

Descrio

Tipo de codificao do corpo da resposta

Tipo de linguagem do corpo da resposta

Content-Length Comprimento do corpo da resposta Content-Type Date Expires Forwarded Location Server Tipo de contedo do corpo da resposta (por exemplo text/HTML). Ver tipos MIMO Data de incio de transferncia dos dados Data limite de consumo dos dados Utilizado pelas mquinas intermdias entre o motor de pesquisa e o servidor Redireccionamento para uma nova URL associada ao documento Caractersticas do servidor que envia a resposta

Os cdigos de resposta So os cdigos que v quando o navegador no lhe consegue mostrar a pgina pedida. O cdigo de resposta constitudo por trs algarismos: o primeiro indica a classe de estatuto e seguintes a natureza exacta do erro.

Cdigo 10x

Mensagem Mensagem informao

Descrio de Estes cdigos no so utilizados na verso 1.0 do protocolo Estes cdigos indicam o bom desenrolar da

20x Sucesso

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

transaco 200 OK O pedido foi realizado correctamente

201

CREATED

202

ACCEPTED

Segue um comando POST, indica o sucesso, o corpo do resto do documento deve indicar a URL onde o documento recentemente criado deveria encontrarse. O pedido foi aceite, mas o procedimento seguinte no foi realizado Quando este cdigo recebido em resposta a um comando GET, isto indica que a resposta no est completa. O servidor recebeu o pedido mas no h informao a devolver O servidor indica ao navegador para suprimir o contedo dos campos de um formulrio

203

PARTIAL INFORMATION

204

NO RESPONSE

205

RESET CONTENT

206

Trata-se de uma resposta a um pedido que PARTIAL CONTENT comporta a rubrica range. O servidor deve indicar a rubrica content-range Redireco Estes cdigos indicam que o recurso j no est no lugar indicado Os dados pedidos foram transferidos para um novo endereo Os dados pedidos so de uma nova URL, contudo talvez tenham sido deslocados desde ento... Isto implica que o cliente deve tentar um novo endereo, tentando preferivelmente um outro mtodo alm do GET Se o cliente efectuar um comando GET condicional (perguntando se o documento foi alterado desde a ltima vez) e se o documento no tiver sido alterado, devolve este cdigo.

30x

301

MOVED

302

FOUND

303

METHOD

304

NOT MODIFIED

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

40x

Erro devido ao Estes cdigos indicam que o pedido est incorrecto cliente BAD REQUEST A sintaxe do pedido est mal formulada ou impossvel de satisfazer O parmetro da mensagem d as especificaes das formas de autorizao aceitveis. O cliente deve reformular o seu pedido com os bons dados de autorizao O cliente deve reformular o seu pedido com os bons dados de pagamento O acesso ao recurso simplesmente proibido Clssico! O servidor no encontrou nada no endereo indicado. Partiram sem deixar endereo:)

400

401

UNAUTHORIZED

402 403 404

PAYMENT REQUIRED FORBIDDEN NOT FOUND

50x

Erro devido ao Estes cdigos indicam que houve um erro interno servidor do servidor O servidor encontrou uma condio inesperada que INTERNAL ERROR o impediu de satisfazer o pedido (s vezes acontecem coisas aos servidores) NOT IMPLEMENTED O servidor no suporta o servio pedido (no podemos saber fazer tudo, no ?) O servidor recebeu uma resposta invlida por parte do servidor que tentava aceder agindo como uma ponte estreita ou um proxy O servidor no pode responder-lhe no momento presente, porque o trfego demasiado denso (todas as linhas do seu correspondente so ocupadas querero recordar ulteriormente) A resposta do servidor foi demasiado longa no que diz respeito ao tempo durante o qual a ponte estreita estava preparada para o esperar (o tempo que lhe estava destinado esgotou-se)

500

501

502

BAD GATEWAY

503

SERVICE UNAVAILABLE

504

GATEWAY TIMEOUT

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

Mais informaes Para mais informaes sobre o protocolo HTTP, melhor consultar oRFC 1945 que explica de maneira detalhada o protocolo :

RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0 (traduo francesa) RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0 (verso original) RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1 (verso original)

O protocolo TCP

As caractersticas do protocolo TCP O TCP (que significa Transmission Control Protocol, em portugus: Protocolo de Controlo de Transmisso) um dos principais protocolos da camada transporte do modelo TCP/IP. Permite, a nvel das aplicaes, gerir os dados em provenincia da (ou com destino ) camada inferior do modelo (quer dizer, o protocoloIP). Quando os dados so fornecidos ao protocolo IP, este encapsula-os em datagramas IP, fixando o campo protocolo em 6 (para saber que o protocolo ascendente TCP). O TCP um protocolo orientado para a conexo, quer dizer que permite, a duas mquinas comunicantes, controlar o estado da transmisso. As principais caractersticas do protocolo TCP so as seguintes:

TCP permite entregar ordenadamente os datagramas provenientes do protocolo IP TCP permite verificar a onda de dados para evitar uma saturao da rede TCP permite formatar os dados em segmentos de comprimento varivel a fim de os "entregar" ao protocolo IP TCP permite multiplexar os dados, quer dizer, fazer circular simultaneamente informaes que provm de fontes (aplicaes, por exemplo) distintas numa mesma linha TCP permite, por ltimo, o comeo e o fim de uma comunicao de maneira educada.Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

O objectivo do TCP Graas ao protocolo TCP, as aplicaes podem comunicar de forma segura (graas ao sistema de avisos de recepo do protocolo TCP), independentemente das camadas inferiores. Isto significa que routers (que trabalham na camada Internet) tm como nico papel o encaminhamento dos dados sob a forma de datagramas, sem se preocuparem com o controlo dos dados, porque este realizado pela camada transporte (mais concretamente pelo protocolo TCP). Aquando de uma comunicao atravs do protocolo TCP, as duas mquinas devem estabelecer uma conexo. A mquina emissora (a que pede a conexo) chama-se cliente, enquanto a mquina receptora se chama servidor. Diz-se ento que estamos num ambiente Cliente-Servidor. As mquinas em tal ambiente comunicam em modo ligado, quer dizer que a comunicao se faz nos dois sentidos. Para permitir o bom desenrolar da comunicao e de todos os controlos que a acompanham, os dados so encapsulados, isto , juntamos ao pacote de dados um cabealho que vai permitir sincronisar as transmisses e assegurar a sua recepo. Uma outra particularidade do TCP poder controlar o dbito dos dados graas sua capacidade para emitir mensagens de dimenso varivel: estas mensagens designamse "segmentos". A funo multiplexagem O TCP permite efetuar uma tarefa importante: multiplexagem/desmultiplexagem, quer dizer fazer transitar numa mesma linha dados que provm de aplicaes diversas ou, por outras palavras, pr em srie informaes que chegam em paralelo. [Image: http://static.commentcamarche.net/pt.kioskea.net/pictures/internet-imagesmux.gif|230px|] Estas operaes so realizadas graas ao conceito de portas(ou sockets), quer dizer, um nmero associado a um tipo de aplicao que, combinado com um endereo IP, permite determinar de maneira nica uma aplicao que funciona numa dada mquina. O formato dos dados em TCP Um segmento TCP constitudo do seguinte modo :

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

Porta Fonte Nmero de ordem

6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Porta destino

Nmero de aviso de recepo Desfasame reservad UR AC PS RS SY FI nto Janela a G K H T N N dados Soma de controlo Opes Dados Ponteiro de emergncia Enchimento

Significado dos diferentes campos:

Porta Fonte (16 bits): Porta relativa aplicao corrente na mquina fonte Porta Destino (16 bits): Porta relativa aplicao corrente na mquina de destino Nmero de ordem (32 bits): Quando a bandeira SYN 0, o nmero de ordem o da primeira palavra do segmento corrente.

Quando SYN 1, o nmero de ordem igual ao nmero de ordem inicial utilizado para sincronizar os nmeros de sequncia (ISN)

Nmero de aviso de recepo (32 bits): O nmero de aviso de recepo, igualmente chamado nmero de pagamento, corresponde ao nmero (de ordem) do prximo segmento esperado, e no o nmero do ltimo segmento recebido. Desfasamento dos dados (4 bits) : permite localizar o incio dos dados no pacote. O desfasamento aqui essencial, porque o campo de opes de dimenso varivel Reservadas(6 bits): Campo inutilizado actualmente, mas previsto para o futuro As bandeiras(flags) (6x1 bit): representam informaes suplementares: o URG: se esta bandeira for 1 o pacote deve ser tratado de maneira urgente. o ACK: se esta bandeira for 1 o pacote um aviso de recepo. o PSH (PUSH): se esta bandeira for 1, o pacote funciona de acordo com o mtodo PUSH. o RST: se esta bandeira for 1, a conexo reiniciada.

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

SYN: A Bandeira TCP SYN indica um pedido de estabelecimento de conexo. o FIN: se esta bandeira for 1, a conexo interrompe-se. Janela (16 bits): Campo permitindo conhecer o nmero de bytes que o receptor deseja receber sem aviso de recepo Soma de controlo : (Checksum ou CRC) : A soma de controlo realizada fazendo a soma dos campos de dados do cabealho, para poder verificar a integridade do cabealho Ponteiro de emergncia (16 bits): Indica o nmero de ordem a partir do qual a informao se torna urgente Opes (Dimenso varivel): Opes diversas Preencher : Preenche-se o espao que fica aps as opes com zeros, para ter um comprimento mltiplo de 32 bitso

Fiabilidade das transferncias O protocolo TCP permite assegurar a transferncia dos dados de maneira fivel, embora utilize o protocolo IP, que no integra nenhum controlo de entrega de datagrama. Na realidade, o protocolo TCP possui um sistema de aviso de recepo que permite ao cliente e ao servidor terem a certeza da recepo correcta e mtua dos dados. Aquando da emisso de um segmento, um nmero de ordem (chamado tambm nmero de sequncia) associado. Aquando da recepo de um segmento de dado, a mquina receptora vai devolver um segmento de dado cuja bandeira ACK 1 (para assinalar que se trata de um aviso de recepo), acompanhado de um nmero de aviso de recepo igual ao nmero de ordem precedente. [Image: http://static.commentcamarche.net/pt.kioskea.net/pictures/internet-imagesack1.gif|255px|]

Alm disso, graas a um cronmetro desencadeado a partir da recepo de um segmento a nvel da mquina emissora, o segmento reenviado assim que o tempo fixado esgotar, porque neste caso a mquina emissora considera que o segmento se perdeu [Image: http://static.commentcamarche.net/pt.kioskea.net/pictures/internet-imagesack2.gif|255px|]

Contudo, se o segmento no se perder e chegar mesmo assim ao destino, a mquina receptora saber, graas ao nmero de ordem, que se trata de uma cpia e conservar apenas o ltimo segmento a chegar ao destinoEstcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

Estabelecimento de uma ligao J que este processo de comunicao, que se faz graas a uma emisso de dados e a um aviso de recepo, se baseia num nmero de ordem (chamado geralmente nmero de sequncia), necessrio que as mquinas emissoras e receptoras (cliente e servidor) conheam o nmero de ordem inicial da outra mquina. O estabelecimento da ligao entre duas aplicaes faz-se frequentemente de acordo com o esquema seguinte:

As portas TCP devem estar abertas A aplicao no servidor passiva, quer dizer que a aplicao est escuta, espera de uma conexo A aplicao no cliente faz um pedido de conexo ao servidor cuja aplicao est em abertura passiva. Diz-se que a aplicao do cliente est em abertura activa

As duas mquinas devem ento sincronisar as suas sequncias graas a um mecanismo chamado habitualmente three ways handshake (aperto de mos em trs tempos), que encontramos tambm aquando do encerramento de sesso. Este dilogo permite iniciar a comunicao e desenrola-se em trs tempos, como a sua denominao o indica:

Inicialmente a mquina emissora (o cliente) transmite um segmento cuja bandeira SYN de 1 (para assinalar que trata-se de um segmento de sincronizao), com um nmero de ordem NO., que chama-se nmero de ordem inicial do cliente Subsequentemente a mquina receptora (o servidor) recebe o segmento inicial que provem do cliente, seguidamente envia-lhe um acusado de recepo, quer dizer um segmento cuja bandeira ACK de 1 e a bandeira SYN de 1 (porque trata-se l ainda de uma sincronizao). Este segmento contem o nmero de ordem desta mquina (do servidor) que o nmero de ordem inicial do cliente. O campo mais importante deste segmento o campo acusado de recepo que contem o nmero de ordem inicial do cliente, incrementado de 1 Por ltimo, o cliente transmite ao servidor um acusado de recepo, quer dizer um segmento cuja bandeira ACK de 1, cuja bandeira SYN zero (no se age mais de um segmento de sincronizao). O seu nmero de ordem incrementado e o nmero de acusado de recepo representa o nmero de ordem inicial do servidor incrementado de 1

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

[Image: http://static.commentcamarche.net/pt.kioskea.net/pictures/internet-images3way.gif|255px|three ways handshake - poigne de mains en trois temps]

Sequncia esta sequncia que comporta trs trocas as duas mquinas synchronises e a comunicao pode comear! Existe uma tcnica de pirataria, chamada spoofing IP, permitindo corromper esta relao de aprovao fins maliciosos! Mtodo da janela deslizando Numerosos em casos, possvel limitar o nmero de acusados de recepo, a fim de descongestionar a rede, fixando um nmero de sequncia extremidade do qual acusado de recepo um necessrio. Este nmero com efeito armazenado no campo janela da rubrica TCP/IP. Chama-se certamente este mtodo mtodo da janela que desliza porque ele definese em certa medida um garfo de sequncias que no tm necessidade de acusado de recepo, e esta desloca-se a medida que os acusados de recepo forem recebidos. [Image: http://static.commentcamarche.net/pt.kioskea.net/pictures/internet-imagesgliss.gif|151px|]

[Image:

http://static.commentcamarche.net/...|251px|]

De mais, a dimenso desta janela no fixa. Com efeito, o servidor pode incluir nos seus acusados de recepo armazenando no campo fenestra a dimenso da janela que lhe parece adaptado. Assim, quando o acusado de recepo indica um pedido de aumento da janela, o cliente vai deslocar o bordo direito da janela. [Image: http://static.commentcamarche.net/pt.kioskea.net/pictures/internet-imagesplus.gif|151px|]

Em contrapartida, no caso de uma diminuio, o cliente no vai deslocar o bordo direito da janela para a esquerda mas esperar que o bordo esquerdo avana (com a chegada dos acusados de recepo). [Image: http://static.commentcamarche.net/pt.kioskea.net/pictures/internet-imagesmoins.gif|151px|] Fim de uma conexo O cliente pode pedir a pr fim uma conexo assim como o servidor. O fim da conexo faz-se como segue ::Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

Uma das mquinas envia um segmento com a bandeira FIN 1, e a aplicao pe-se em estado de espera de fim, quer dizer que termina receber o segmento corrente e ignora os seguintes Aps recepo deste segmento, a outra mquina envia um acusado de recepo com a bandeira FIN 1 e continua expedir os segmentos correntes. Sequncia aquilo a mquina informa a aplicao que um segmento FIN foi recebido, seguidamente envia um segmento FIN outra mquina, que encerra a conexo

Mais informaes Para mais informaes sobre o protocolo TCP, melhor adiar-se ao RFC 793 que explica de maneira detalhada o protocolo :

RFC 793 traduzido em portugus RFC 793 originale

Protocolo ARP

O objectivo do protocolo ARP O protocolo ARP tem um papel fundamental entre os protocolos da camada Internet da sequncia TCP/IP, porque permite conhecer o endereo fsico de uma placa de rede que corresponde a um endereo IP; para isto que se chama Protocolo de resoluo de endereo (em ingls ARP significa Address Resolution Protocol). Cada mquina ligada rede possui um nmero de identificao de 48 bits. Este nmero um nmero nico que fixado a partir do fabrico da placa em fbrica. Contudo, a comunicao na Internet no se faz directamente a partir deste nmero (porque seria necessrio alterar o endereamento dos computadores cada vez que se alterasse uma placa de rede) mas a partir de um endereo dito lgico, atribudo por um organismo: o endereo IP. Assim, para fazer a correspondncia entre os endereos fsicos e os endereos lgicos, o protocolo ARP interroga as mquinas da rede para conhecer o seu endereo fsico, seguidamente cria uma tabela de correspondncia entre os endereos lgicos e os endereos fsicos numa memria secreta.Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

Quando uma mquina deve comunicar com outra, consulta a tabela de correspondncia. Se por acaso o endereo pedido no se encontra na tabela, o protocolo ARP emite um pedido na rede. O conjunto das mquinas da rede vai comparar este endereo lgico ao seu. Se uma dentre elas se identificar com esse endereo, a mquina vai responder ARP que vai armazenar o par de endereos na tabela de correspondncia e a comunicao vai ento poder ter lugar Protocolo RARP

O protocolo RARP (Reverse Address Resolution Protocol) muito menos utilizado e significa Protocolo ARP invertido, trata-se por conseguinte de uma espcie de anurio invertido dos endereos lgicos e fsicos. Na realidade, o protocolo RARP utilizado essencialmente para as estaes de trabalho que no tm disco duro e que desejam conhecer o seu endereo fsico O protocolo RARP permite a uma estao conhecer o seu endereo IP a partir de uma tabela de correspondncia entre endereo MAC (endereo fsico) e endereos IP alojados por uma ponte (gateway) situada na mesma rede local (LAN). Para tal, necessrio que o administrador defina os parmetros do gateway (switch) com a tabela de correspondncia dos endereos MAC/IP. Com efeito, ao contrrio do ARP, este protocolo esttico. necessrio, por isso, que a tabela de correspondncia esteja sempre actualizada para permitir a conexo de novas placas de rede. O RARP sofre de numerosas limitaes. Necessita muito tempo de administrao para manter tabelas importantes nos servidores. Isto ainda mais evidente quando a rede grande. Tal facto coloca o problema do recurso humano, necessrio para a manuteno das tabelas de correspondncia, e das capacidades dos materiais que alojam a parte servidor do protocolo RARP. Com efeito, o RARP permite a vrios servidores responder pedidos, embora no preveja mecanismos que garantam que todos os servidores so capazes de responder, nem mesmo que respondam de maneira idntica. Assim, neste tipo de arquitectura no se pode ter confiana num servidor RARP para saber se um endereo MAC poder ser vinculado a um endereo IP, porque outros servidores ARP podem ter uma resposta diferente. Uma outra limitao de RARP que um servidor pode servir apenas um LAN. Para paliar os dois primeiros problemas de administrao, o protocolo RARP pode ser substitudo pelo protocolo DRARP, que uma verso dinmica. Uma outra abordagem, consiste em utilizar um servidor DHCP, que lhe permite uma resoluo dinmica dos endereos. Alm disso, o DHCP compatvel com o protocolo BOOTP. Funciona apenas com IP.

Mais informaesEstcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

A principal documentao sobre o protocolo ARP e RARP constituda pelo RFCs:

RFC 826 - ARP (An Ethernet Address Resolution Protocol) RFC 903 - RARP (Reverse Address Resolution Protocol)

Protocolo ICMP

A gesto dos erros O protocolo ICMP (Internet Control Message Protocol) um protocolo que permite gerir as informaes relativas aos erros ns mquinas conectadas. Dado os poucos controlos que o protocolo IP realiza, permite no corrigir estes erros mas d-los a conhecer aos protocolos das camadas vizinhas. Assim, o protocolo ICMP utilizado por todos os switchs, que o utilizam para assinalar um erro (chamado Delivery Problem). As mensagens ICMP encapsuladas As mensagens de erro ICMP so transportadas na rede sob a forma de datagrama, como qualquer dado. Assim, as mensagens de erro podem elas mesmas estar sujeitas a erros. Contudo, no caso de erro num datagrama que transporta uma mensagem ICMP, nenhuma mensagem de erro emitida para evitar um efeito bola de neve no caso de incidente sobre a rede. Eis o aspecto de uma mensagem ICMP encapsulada num datagrama IP:

Rubrica

Mensagem ICMP Tipo Cdigo Checksum Mensagem (8 bits) (8 bits) (16 bits) (dimenso varivel)

Significado das mensagens ICMP

Tipo Cdigo Mensagem 8 0 Pedido de ECHO

Significado da mensagem Esta mensagem utilizada quando se utiliza o comando PING. Este comando, permitindo testar a rede, envia um datagrama a um destinatrio e pede-lhe que o restitua

Estcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

3 3 3 3 3 3 3 3 3 3 3 33 3 4

0 1 2 3 4 5 6 7 8 9 10 11 12 11 0

Destinatrio inacessvel Destinatrio inacessvel Destinatrio inacessvel Destinatrio inacessvel

5

0

5

1

5

2

5

3

11

0

11 12

1 0

A rede no est acessvel A mquina no est acessvel O protocolo no est acessvel O porto no est acessvel Fragmentao necessria mas impossvel devido Destinatrio inacessvel bandeira (flag) DF Destinatrio inacessvel O encaminhamento falhou Destinatrio inacessvel Rede desconhecida Destinatrio inacessvel Mquina desconhecida Destinatrio inacessvel Mquina no ligada rede (inutilizada) Destinatrio inacessvel Comunicao com a rede proibida Destinatrio inacessvel Comunicao com a mquina proibida Destinatrio inacessvel Rede inacessvel para este servio Destinatrio inacessvel Mquina inacessvel para este servio Destinatrio inacessvel Comunicao proibida (filtragem) O volume de dados enviado demasiado grande, o switch envia esta mensagem para prevenir que est a Source Quench saturar, a fim de pedir para reduzir a velocidade de transmisso O switch observa que a estrada de um computador no Redirecionamento para est boa e envia o endereo switch a acrescentar um hspede tabela de encaminhamento do computador O switch v que a estrada de um computador no Redirecionamento para boa para um servio dado e envia o endereo switch a um hspede e um acrescentar tabela de encaminhamento do servio dado computador O switch v que a estrada de uma rede inteira no Redirecionamento para boa e envia o endereo switch a acrescentar tabela uma rede de encaminhamento dos computadores da rede O switch v que a estrada de uma rede inteira no Redirecionamento para boa para um servio dado e envia o endereo switch a uma rede e um servio acrescentar tabela de encaminhamento dos dado computadores da rede Esta mensagem enviada quando o tempo de vida de um datagrama ultrapassado. A rubrica do datagrama Tempo ultrapassado devolvida de modo a que o utilizador saiba qual o datagrama que foi destrudo Tempo de remontagem Esta mensagem enviada quando o tempo de de fragmento remontagem dos fragmentos de um datagrama ultrapassado ultrapassado. Esta mensagem enviada quando o campo de uma Rubrica errada rubrica est errado. A posio do erro devolvidaEstcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

13 14 15 16 17 18 17

0 0 0 0 0 0 0

Timestamp request Timestamp reply

Uma mquina pede a outra a sua hora e a sua data sistema (universal) A mquina receptora d a sua hora e a sua data sistema para que a mquina emissora possa determinar o tempo de transferncia dos dados

Pedido de endereo Esta mensagem permite pedir rede um endereo IP rede Resposta de endereo Esta mensagem responde mensagem precedente Pedido de mscara de Esta mensagem permite pedir rede uma mscara de subrede subrede Resposta de mscara de Esta mensagem responde mensagem precedente subrede A mquina receptora d a sua hora e a sua data Timestamp reply sistema para que a mquina emissora possa determinar o tempo de transferncia dos dados

Mais informaes Para mais informaes sobre o protocolo ICMP, melhor consultar o RFC 792 que explica de maneira detalhada o protocolo :

RFC 792 traduzido em portugus RFC 792 original

Protoloco IP

O papel do protocolo IP O protocolo IP faz parte da camada Internet da sequncia de protocolos TCP/IP. um dos protocolos mais importantes da Internet, porque permite a elaborao e o transporte dos datagramas IP (os pacotes de dados), sem contudo assegurar a entrega. Na realidade, o protocolo IP trata os datagramas IP independentemente uns dos outro, definindo a sua representao, o seu encaminhamento e a sua expedio. O protocolo IP determina o destinatrio da mensagem graas a 3 campos:

O campo dirige IP : endereo da mquina O campo mscara de subrede: uma mscara de subrede permite ao protocolo IP determinar a parte do endereo IP que se refere rede O campo ponte estreita por defeito: Permite ao protocolo Internet saber a que mquina entregar o datagrama, se por acaso a mquina de destino no est na rede localEstcio Natal. Curso : Redes de Computadores e Analise e Desenvolvimento de Sistemas Material do Prof. Esp. Manoel Pedro

Os datagramas Os dados circulam na Internet sob a forma de datagramas (fala-se tambm de pacotes). Os datagramas so dados encapsulados, isto , so dados aos quais se acrescentaram cabealhos que correspondem a informaes sobre o seu transporte (como o endereo IP de destino). Os dados contidos nos datagramas so analisados (e eventualmente alterados) pelos switchs que permitem o seu trnsito. Eis o aspecto de um datagrama: 32 bits -->