Você está na página 1de 16

Leonam Bernardo de Lima

PRC Princpios de Redes de Computadores

Recife 2013
Nome: Leonam Bernardo de Lima

Turma: RC01NA Disciplina: PRC Professor: MARCOS ANTONIO ALVES GONDIM

Camada de Aplicao

Os protocolos da camada de aplicao so usados durante a comunicao entre dois dispositivos. Para que essa comunicao ocorra corretamente, necessrio que os protocolos estejam correspondendo tanto no host de origem quanto no host de destino. Devido a regras estabelecidas para efetuar a comunicao entre os hosts, servios e aplicaes conseguem interpretar as informaes transportadas, garantindo que os servios corretos sejam chamados e iniciados durante essa troca de dados. Os servidores utilizam uma numerao de portas prdefinidas, que tambm so conhecidas pelos hosts cliente. Durante a anlise dos protocolos da camada de aplicao, algumas dessas portas sero citadas e associadas aos seus servios. Abaixo teremos a descrio de alguns protocolos da camada de aplicao, que facilitara um melhor entendimento do que acontece por trs das aplicaes utilizadas por ns usurio.

DNS
Em redes de computadores, os dispositivos so identificados atravs de endereos numricos, nomeados de IP(Internet Protocol). O Domain Name System, foi criado para resolver nomes de domnios em endereos IP. Essa converso tornou muito mais fcil para recordar e reconhecer os endereos na internet. Embora no execute nenhuma tela para o usurio, esse protocolo no deixa de realizar a sua tarefa, trabalhando de forma silenciosa por trs de diversas aplicaes. O DNS considerado um servio de cliente/servidor, pois sempre que necessrio o mesmo entra em ao, dando apoio a uma gama de aplicaes. Para um servidor DNS entregar a resoluo de um nome, usa-se o NAMED. Esses servidores armazenam diferentes tipos de registros, que podem ser utilizados na resoluo dos nomes, alguns desses so: A Endereo do dispositivo final NS servidor de nome confivel CNAME Nome do domnio completo MX registro de troca de informaes Toda solicitao requisitada por um cliente pode percorre diversos servidores ate serem resolvidas, esse processo pode acarretar uma demora considervel e um consumo de banda. Para poupar o uso de recurso desnecessrio, existe o que conhecemos como Cache, que tratase de um armazenamento temporrio que auxilia nas consultas, tornando as mesmas cada vez mais rpidas e eficientes. O sistema de resoluo de nomes de domnios utiliza o modelo hierrquico para realizar toda a comunicao entre servidores. Como toda hierarquia existe nveis em sua organizao.
Figura 1 Hierarquia DNS

No topo da rvore esto os servidores raiz, que possuem o caminho de como chegar at os servidores de domnio de nvel superior. Os servidores de nvel superior encaminham aos servidores de nvel secundrio, que continua executando o encaminhamento at chegar ao servidor de destino. Domnios Genricos geralmente encontram-se no primeiro nvel da rvore e abaixo do domnio raiz, com rtulos que esto atrelados as organizaes pertencentes.
Tabela 1 Rotulo de domnios genricos

Rtulo aero biz com coop edu gov info Int mil museu m name net org pro

Descrio Linhas areas e empresas aeroespaciais Empresas ou firmas (semelhante a com) Organizaes comerciais Organizaes empresariais cooperativas Instituies Educativas Instituies Governamentais Provedores de Servios de Informao Organizaes Internacionais Grupos Militares Museus e outras organizaes sem fins lucrativos Nomes pessoais Centros de Suporte de Rede Organizaes sem fins lucrativos Organizaes individuais profissionais

Domnios de Pas utilizam a abreviao dos pases com dois caracteres. Um exemplo os EUA que utiliza abreviao dos estados junto a do pas (por exemplo ca.us)
Figura 1.1 Domnios de pas

Domnio Inverso utilizado para fazer a traduo de um endereo para um nome. Esse tipo de converso acontece sempre que um cliente envia uma solicitao para o servidor. Embora todo servidor DNS possua uma lista de endereos autorizados, somente os endereos IP ficam listados, por isso a necessidade de enviar uma solicitao ao resolvedor DNS. Esse tipo de consulta caracterizada como pesquisa inversa ou de ponteiro (PTR).

FTP
O File Transfer Protocol foi criado para possibilitar a troca de arquivos entre uma aplicao cliente e servidor. Para realizar a transferncia de arquivos de forma correta, preciso estabelecer duas conexes, a primeira para realizar o envio de comandos e respostas e outra para envio dos dados. Por definio se utiliza duas portas, a porta 21 estabelece a conexo de controle com o servidor, por onde os comandos e respostas trafegam durante a troca de dados. Durante a troca dos comandos, o cliente aguarda a recepo sem atrasos excessivos. A porta 20 utilizada para a troca dos dados, onde quem dispara o inicio da comunicao o cliente, atravs do comando PORT. A conexo de controle aberta sempre que o usurio quer realizar uma transferncia, essa conexo permanece ativa durante toda a sesso FTP, dando a possibilidade que as conexes de dados sejam abertas e fechadas na medida que for necessrio para a troca dos dados. Aproveitando essa conexo como uma estratgia para se comunicar, o ftp utiliza o conjunto de caracteres ASCII NVT para a troca dos comandos e resposta.
Figura 2 Abrindo a conexo de controle

O exemplo a seguir mostra como criar uma conexo de dados: 1. Abertura passiva realizada pelo cliente, que o responsvel pela execuo dos comandos. 2. Enviar o nmero da porta pelo comando PORT 3. Servidor recebe o nmero de porta e realiza a abertura usando a porta 20 e o nmero da porta efmera recebida.
Figura 2.1 Criando a conexo de dados

Entre os comandos que realizam a troca de dados entre as duas pontas esto: GET, MGET, PUT e MPUT GET realizado do servidor para o cliente MGET utilizado em casos onde h envio de mais de um arquivo PUT realizado do cliente para o servidor MPUT - utilizado em casos onde h envio de mais de um arquivo Durante uma comunicao de dados FTP possvel enviar uma diversidade de arquivos sem haver a mistura das informaes, essa heterogeneidade resolvida atravs de 3 fatores: tipo de arquivo, estrutura de dados e modo de transmisso. Tipo de arquivo: ASCII o formato padro para transferir arquivos de texto. EBCDIC Quando utilizado por uma das partes, pode receber a codificao EBCDIC. Imagem Formato padro para o envio de arquivos binrios. Nesse formato no h interpretao ou codificao, pois o fluxo de bits continuo. Quando existe um dos tipos de codificao ASCII ou EBCDIC necessrio adicionar um outro atributo. No-impresso Com esse atributo, os arquivos no podem ser impressos sem um processamento adicional, pois no se faz necessrio a interpretao de caracteres.

TELNET Com esse atributo os arquivos podem ser impressos aps a transferncia, pois h caracteres verticais ASCII NVT do tipo LF(alimentao de linha), NL(mudana de linha) e VT(tabulao vertical).

Estrutura de dados: Arquivo Sem estrutura e fluxo continuo de bytes. Registro Divido em registros e s aceita arquivo de texto. Pgina Dividido em pginas numeradas com cabealho, que podem ser armazenadas e acessadas. Modo de Transmisso: Fluxo Modo padro, com fluxo continuo de bytes. O TCP se encarrega de cortar os dados em segmentos nos tamanhos apropriados. Bloco Dados enviados em blocos com um cabealho de 3 bytes. Compactado Quando muito grandes os arquivos recebem uma compactao. A codificao usa conhecida como run-length.

TELNET
O TELNET surgiu em meados dos anos 70, aps a necessidade de acessar remotamente sistemas computacionais da mesma forma que j se fazia presencialmente. Para realizar esse acesso o Telnet simula um terminal, baseado em texto na rede desejada. Baseado nessa simulao podemos nomear uma conexo Telnet de VTY(Terminal Virtual). Na grande maioria os sistemas operacionais trazem embutidos um cliente Telnet, mas podemos encontrar uma gama de aplicativos com a funcionalidade do protocolo. O Telnet um protocolo cliente/servidor que utiliza a porta TCP 23. Os comandos Telnet utilizam 2 bytes, o primeiro usado para efetuar a interpretao dos bytes seguintes. Para lidar com os sistemas heterogeneos o TELNET resolveu esse problema definindo uma interface universal, o Terminal Virtual de Rede(NVT). O procedimento de converso simples e garante a comunicao de plataformas diferentes, o cliente telnet local transforma os caracteres em para o modelo NVT e envia a rede. O servidor recebe os dados no formato NVT, e os converte de maneira que possa realizar a leitura dos dados. Conjunto de caracteres NVT O NVT utiliza dois conjuntos de caracteres, um para controle e outro para dados. Todos os dos conjuntos possui 8 bits. Caracteres de Dados: O NVT utiliza o chamado de ASCII NVT. Que nada mais que um padro para codificao de mensagens.Para compor o 8 bits, os 7 bits mas a direita so classificados de ordem baixa e compe o ASCII US, o bit mas a esquerda de ordem mais alta 0. Caracteres de Controle: Similar a explicao dos caracteres de dados, a nica mudana que define a comunicao de controle o bit de ordem mais alta esta setado como 1.
Tabela 2 Alguns caracteres de controle NVT

Caractere
EOF

Decimal 236

Binrio 11101100

Significativo Fim de arquivo

EOR SE NOP DM BRK IP AO AYT EC EL GA SB WILL WONT DO DONT IAC

239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

11101111 11110000 11110001 11110010 11110011 11110100 11110101 11110110 11110111 11111000 11111001 11111010 11111011 11111100 11111101 11111110 11111111

Fim de registro Fim de subopo Nenhuma operao Marca de dados Quebra Interromper processo Cancelar sada Voc esta ai? Apagar caractere Apagar linha Ir adiante Incio de subopo Consentimento em habilitar opo Recusa de habilitar opo Aprovao para pedido de opo Negao de pedido de opo Interpretar como controle

Como exemplo de alguns comandos podemos citar: Are You There(AYT) permite exibio de informaes na tela. Erase Line(EL) Apaga texto da linha atual. Interrupt Process - Suspende, interrompe, pausa ou encerra conexo Telnet estabelecida. Entre as principais desvantagens do Telnet, esta a ausncia de criptografia, o que abre possibilidades para interceptao e entendimento dos dados trafegados. Por esse motivo como alternativa os profissionais da rea escolhem o SSH, por proteger o login e outros servios de rede envolvido.

SSH
O SSH no somente um protocolo, mas tambm uma ferramenta muito utilizada quando se busca acessos seguros em redes de computadores. Por padro os dados enviados de um host a outro so criptografados e descriptografados, esse processo pode ser chamado de criptografia transparente. O SSH utiliza uma chave de segurana contendo 128 bits, que 19 quintilhes de vezes mais forte que uma chave de 64 bits utilizada pelo SSL, sendo assim a quebra de uma senha seria um processo muito demorado. Na sua arquitetura de cliente/servidor possvel implementar alguns recursos que permitem elevar a segurana de um servidor ao mximo, como

restringir hosts por ip, definir alguns ranges de acesso e at limitar um nico usurio para administra o servidor. Na comunicao cliente/servidor o SSH utiliza chaves de 512 bits, o que torna a quebra de senha praticamente impossvel. Como uma chave to complexa demandaria bastante processamento durante a comunicao, o SSH utiliza um algortimo mais simplificado logo aps a fase de autenticao. Por padro o SSH se comunica atravs da porta 22, essa porta pode ser alterada caso haja necessidade ou por questo de segurana. Esse protocolo j est disponvel na verso SSH2, mas ainda possvel realizar o acesso com a verso 1 normalmente. Por padro, o protocolo aguarda um tempo estabelecido para cada sesso de usurio com o servidor, e caso no haja uma atividade na rede ele desconectado. Esse parmetro pode ser alterado a qualquer momento caso se faa necessrio fazer uma maior utilizao com intervalos de inatividade, o que acarretaria vrias desconexes. Uma ferramente muito conhecida utilizada para Windows o Putty. Como esse protocolo possui uma segurana bastante diversificada, sua utilizao tornou-se bem comum entre profissionais da rea, o que fez com que alguns protocolos de menor segurana deixassem de ser utilizados, como exemplo temos o Telnet.

HTTP
Tudo comea atravs de um simples endereo web digitado no browser, que realiza a comunicao com um servidor web atravs do protocolo HTTP. O Hypertext Transfer Protocol ou simplesmente HTTP, utilizado pelos navegadores Web para que as pessoas possam acessar contedos espalhados nos mais diversos servidores web, por toda World Wide Web(WWW). Esses navegadores interpretam desde os textos simples ao Hypertext Markup Language(HTML), informaes adicionais que incrementam os sites so interpretadas atravs de plug-ins ou addnos. Inicialmente esse protocolo foi desenvolvido com o intuito de publicar e resgatar pgina, hoje utilizado tambm no desenvolvimento de sistemas distribudos e colaborativos. A comunicao entre o navegador cliente e um servidor web, tambm se baseia em mensagens, que so definidas pelo protocolo HTTP no ato dessa comunicao. Entre as mais comuns esto os trs tipos: GET, POST e PUT. GET uma solicitao do cliente. Essa solicitao parte do navegador, para requisitar pagina a um servidor web. Quando essas requisies so enviadas ao servidor o mesmo pode responder alm de uma linha de status, um arquivo solicitado, uma mensagem de erro ou qualquer outra informao. POST e PUT so usados no envio de mensagens que realizam upload de dados do servidor. O Post realiza a incluso de dados nas mensagens, enquanto o Put realiza o upload do contedo para o servidor web. Pela possibilidade de interceptao das mensagens enviadas pelo protocolo HTTP e pela no criptografia das informaes contidas nas paginas HTML, esse protocolo no um protocolo seguro. Para realizar essa comunicao de forma segura utiliza-se o HTTPS, que da possibilidade de autenticao e criptografia. A porta utilizada por esse protocolo a TCP 80.

HTTPS
Com um diferencial em relao ao HTTP, o HTTPS acrescenta uma camada de segurana que utiliza o protocolo SSL/TSL. Com essa camada extra, possvel criptografar os dados trafegados na comunicao entre o cliente e o servidor, alm de possibilitar verificao de autenticidade de ambas as partes atravs de certificado digital. Para realizar essa segurana o SSL(Secure

Sockets Layer) e o TSL(Transport Layer Security), garantem a integridade das informaes, realizando uma autenticao e uma codificao das informaes para transmisso no meio, evitando uma violao ou falsificao desses dados por interceptadores. Diferentemente do HTTP, o HTTPS utiliza a porta 443 como padro do protocolo.

SMTP
O protocolo SMTP responsvel por encaminhar os emails de sada, enviado do cliente para um servidor de email, assim como entre servidores de email. Quando nos usurios redigimos um email, normalmente utiliza-se uma aplicao chamada de MUA(Mail User Agent), que possibilita o envio desses emails e os coloca na caixa de entrada do destinatrio. J os servidores utilizam dois outros processos: o MTA(Mail Transfer Agent) e o MDA Mail Delivery Agent). O processo de utilizao bem simples, ambos so utilizados para encaminhar emails em situaes distintas. O MTA recebe sinalizaes de um MUA ou de outro MTA de um servidor externo. Se o email for enviado para um domnio pertencente a um mesmo servidor, ele ser encaminhado ao MDA, que entregara o email ao destinatrio, caso contrrio ser necessrio passar a informao para o MTA do servidor de destino que continuara o mesmo princpio, e assim a comunicao de email acontece.
Figura 3 Transferncia de mensagem

O SMTP utiliza por padro a porta TCP 25, e alguns comandos para realizar etapas durante de envio de email entre ciente e servidor. Alguns desses comandos so: HELO realiza a identificao de processos vindos do cliente para o servidor. EHLO verso mais nova do HELO MAIL FROM identificado do remetente RCPT TO identificador do destinatrio DATA contedo da mensagem

Camada de Transporte - TCP / UDP


A camada de Transporte do modelo OSI relata diversas funes, as de maior significncia so a recuperao de erros e o controle de fluxos. De forma bem parecida como so implementados no modelo OSI, os protocolos pertencentes a camada de transporte do TCP/IP, tambm se utiliza dos mesmos recursos. Na camada de transporte o TCP e UDP so os protocolos mais comuns entre a pilha de protocolos TCP/IP, um orientado a conexes e outro sem conexo. Uma das diferenas entre esses protocolos que o TCP fornece uma gama de servios para os aplicativos enquanto o UDP no realiza. Um exemplo bem conhecido que o TCP possibilita a retransmisso e ajuda a evitar congestionamentos, enquanto o UDP no disponibiliza tal recurso. Para no desvalorizar o protocolo UDP, e assim concluirmos que ele seja o pior, podemos citar como exemplo o tamanho do cabealho do UDP, que requer menos bytes, acarretando uma menor sobrecarga do meio. Alguns aplicativos de VOIP e Video sobre IP, no requer uma correo dos bytes transmitidos, por isso utilizam o UDP como protocolo padro de transmisso.

Protocolo de Controle de Transmisso(TCP)


O TCP depende do IP para o envio de dados da origem at o destino, podemos assim dizer que o TCP s realiza parte do processo de envio dos dados. Tanto o TCP quanto o UDP utiliza um conceito conhecido como Multiplexing. Esse conceito mostra como o computador pensa ao receber dados, pois atravs desse processo que o computador distingue a qual aplicativo enviar os dados recebidos. O Multiplexing depende de um outro conceito conhecido como Socket. O Socket composto por: Endereo IP, Protocolo de Transporte e Nmero da Porta. Exemplo de socket.: (10.1.1.10,TCP,porta 53). Os nmeros de portas so designadas de diversas formas, isso depende se uma solicitao ou resposta. Os processos de um servidor tem nmero de portas fixos designado a eles, j os clientes realizam uma busca dinamicamente para cada estabelecimento de sesso. Exemplo: Um servidor Web sempre utilizar por padro a porta 80 para se comunicar, j o cliente pode usar qualquer porta a partir da 1024. Existem trs categorias de portas: Portas Conhecidas (0 a 1023) Esses nmeros esto reservados para servios e aplicaes. Portas Registradas (1024 a 49151) Esses nmeros de portas so designados para processos e aplicaes de usurios. Portas Dinmicas e Privadas (49152 a 65535) Essas portas so designadas geralmente a aplicaes de clientes quando se estabelece uma comunicao
Tabela 3 Portas, Protocolos e Aplicativos.

Nmero da Porta 20 21 22 23 25 53 67,68

Protocolo TCP TCP TCP TCP TCP UDP,TCP UDP

Aplicativo Dados FTP Controle FTP SSH Telnet SMTP DNS DHCP

69 80 110 161 443

UDP TCP TCP UDP TCP

TFTP HTTP POP3 SNMP SSL

Recursos do TCP Sistema de numerao: Embora exista a monitorao dos segmentos no existe nenhum campo do tipo no cabealho TCP. Existem dois campos chamados de nmero de sequencia e nmero de reconhecimento. O TCP numera todos os bytes que so trocados em uma conexo. Essa numerao independente e gerada de forma aleatria entre 0 e 2 elevado a 32. Nmero de sequencia: Apos realizar a numerao dos bytes atribudo o nmero de sequencia. O nmero de sequencia de cada segmento o primeiro byte. Nmero de reconhecimento: O valor do campo de reconhecimento de um segmento define o nmero do prximo byte que uma parte aguarda receber. Esse nmero cumulativo. Controle de Fluxo: Para no sobrecarregar o remetente, feito um controle de fluxo, que limita o volume de dados enviados. a numerao de bytes que permite o melhor controle do fluxo. Controle de Erro: Embora o TCP interprete os segmentos como unidades de dados na deteco de erros, o controle dos erros orientado a bytes. Controle de Congestionamento: Ao contrario do UDP levado em conta o congestionamento gerado na rede. O volume de dados enviado para o remetente no somente controlado pelo receptor, mas controlado conforme determinao do congestionamento da rede.

Cabealho TCP
Figura 4 Cabealho TCP

Source Port(Porta de Origem): Sesso TCP no dispositivo que abriu uma conexo, normalmente um valor aleatrio acima 1023. Destination Port(Nmero da Porta de Destino): Identifica o protocolo de camada superior ou aplicao em local remoto. Sequence Number(Nmero de Sequncia): Especifica o nmero do ltimo octeto em um segmento. Acknowledgement Number(Nmero de Reconhecimento): Especifica o octeto seguinte esperado pelo receptor. H. Length(Comprimento do cabealho): especifica o comprimento do cabealho do segmento em bytes. Flags: URG, ACK, PSH, RST, SYN e FIN so usados no gerenciamento de sesso e no tratamento de segmentos. Window(Tamanho da Janela): o valor da janela dinmica, ou seja, quantos octetos podem ser enviados antes da espera do reconhecimento. Checksum: Usado para verificao de erro no cabealho e dados. Urgent Pointer: Usado somente com um sinalizador URG(Urgente) flag. Options(Opes): Informaes opcionais. Data(Dados): Dados da aplicao.

Protocolo de Datagrama do Usurio(UDP)


O protocolo UDP fornece algumas funes bsicas da camada de transporte. Por possuir um processamento em excesso(overhead) bem abaixo do TCP, ele no possui retransmisso, sequenciamento e controle de fluxo. O fato de algumas aplicaes utilizarem UDP no quer dizer que elas sejam menos confiveis, isso significa que as funes no implementadas pelo protocolo na camada de transporte, podem ser alocadas em outros locais caso haja uma necessidade. O UDP oferece algumas tarefas desempenhadas pelo TCP, como a troca de dados e o mutiplexing de dados, as vantagens so a menor utilizao de bytes de sobrecarga e um menor processamento. A utilizao do protocolo UDP em uma rede convencional tem uma importncia significativa, entre os protocolos que utilizam o mesmo esto: DNS, SNMP, DHCP, RIP, TFTP e etc. Por no ser orientado a conexo, podemos dizer que o UDP no precisa saber se algo foi estabelecido com o destino, quando se quer transferir algum dado, simplesmente ele o transfere. Esse protocolo faz a utilizao de datagramas, que conhecido como a PDU da camada de Transporte. Quando vrios datagramas so enviados a um mesmo destino eles podem se perder ao longo do caminho ou chegar de forma incorreta. Por no ter como identificar e no possuir uma tcnica de reordenao, o UDP s reagrupa os dados e deixa a tarefa de identificao para a aplicao, caso seja necessrio.

Cabealho UDP
Figura 5 Cabealho UDP

Source Port( Porta de Origem) / Destination Port(Porta de Destino): Recebe os nmeros de porta, com 16 bits cada, e so utilizados para entregar a PDU do protocolo ao receptor. Uma observao a se fazer, que a porta de origem opcional, sendo assim o campo pode vir zerado caso no seja informada. Length(Comprimento): o comprimento do datagrama. Contem os octetos da PDU, cabealho e informaes do usurio. Checksum: Embora seja opcional, ele verifica se o datagrama est correto. Essa verificao realizada s garante a recepo dos dados e se os mesmos podem ser utilizados. Application Data: Dados da aplicao.

Referncias
CCNA ICND2 Wendell Odom, CCIE / Editora Alta Books CCN 4.1 Guia Completo de Estudo / Editora Visual Books Redes de Computadores e a Internet - James F. Kurose e Keith W. Rossa Protocolo TCP/IP - Behrouz A. Forouzan

Materiais Especiais
Figura 1 wiki.sj.ifsc.edu.br Figura 1.1 - http://blogs.estadao.com.br/renato-cruz/files/2008/12/verisign_01.JPG Figura 2 Livro Forouzan, pag 521 Figura 2.1 Livro Forouzan, pag 522 Figura 3 Livro Forouzan, pag 567 Figura 4 - http://condor.depaul.edu/jkristof/technotes/tcp-segment-format.jpg Figura 5 - www.ni.com

Você também pode gostar