Vous êtes sur la page 1sur 61

REDES DE COMPUTADORES 1

JANEIRO 2013

Sumrio
1. Introduo ........................................................................................................................................ 4 1.1 Evoluo dos Sistemas de Computao .................................................................................... 4 1.2 Usos das Redes de Computadores ............................................................................................. 5 1.2.1 Aplicaes Pessoais ........................................................................................................... 6 1.2.2 Modelo Cliente-Servidor ................................................................................................... 6 1.3 Tipos de Rede ............................................................................................................................ 6 1.3.1 Redes Locais ...................................................................................................................... 7 1.3.2 Redes Metropolitanas ........................................................................................................ 7 1.3.3 Redes Geograficamente Distribudas ................................................................................ 7 1.3.4 Inter-Redes......................................................................................................................... 8 1.4 Redes Sem Fio ........................................................................................................................... 8 1.5 Aplicaes Bsicas .................................................................................................................... 9 1.5.1 Servidor de Arquivos ......................................................................................................... 9 1.5.2 Servidor de Impresso ....................................................................................................... 9 1.5.3 Compartilhamento de Software ....................................................................................... 10 1.5.4 Correio Eletrnico ........................................................................................................... 10 1.5.5 Servidor de Banco de Dados ........................................................................................... 10 1.5.6 Gerenciamento Eletrnico de Documentos (GED) ......................................................... 10 1.6 Exerccios ................................................................................................................................ 10 2. Topologias ...................................................................................................................................... 12 2.1 Linhas de Comunicao .......................................................................................................... 12 2.2 Redes Geograficamente Distribudas ...................................................................................... 12 2.2.1 Topologia Totalmente Ligada ......................................................................................... 12 2.2.2 Topologia em Anel .......................................................................................................... 13 2.2.3 Topologia Parcialmente Ligada ....................................................................................... 13 2.3 Redes Locais e Metropolitanas ............................................................................................... 14 2.3.1 Topologia em Estrela ....................................................................................................... 14 2.3.2 Topologia em Anel .......................................................................................................... 14 2.3.3 Topologia em Barra ......................................................................................................... 16 2.4 Exerccios ................................................................................................................................ 16 3. Protocolos de Comunicao ........................................................................................................... 18 3.1 Software de Rede .................................................................................................................... 18 3.1.1 Hierarquias de Protocolo ................................................................................................. 18 3.1.2 Interfaces e Servios ........................................................................................................ 19 3.1.3 Servios Orientados Conexo e Servios sem Conexo ............................................... 19 3.1.4 Primitivas de Servio ....................................................................................................... 20 3.2 Modelos de referncia ............................................................................................................. 21 3.2.1 O Modelo de Referncia OSI .......................................................................................... 21 3.2.2 O Modelo de Referncia TCP/IP ..................................................................................... 24 3.2.3 Comparao entre os Modelos de Referncia OSI e TCP/IP .......................................... 26 3.3 Exerccios ................................................................................................................................ 27 4. Camada de Rede............................................................................................................................. 28 4.1 Necessidade da Camada de Rede ............................................................................................ 28 4.2 Comutao de pacotes store-and-forward ............................................................................... 28 4.3 Servios Oferecidos Camada de Transporte ......................................................................... 29 Redes de Computadores 1 ii

4.4 Organizao Interna da Camada de Rede................................................................................ 29 4.5 Endereamento no Nvel de Rede ........................................................................................... 29 4.6 Exerccios ................................................................................................................................ 30 5. Camada de Transporte ................................................................................................................... 31 5.1 O Servio de Transporte .......................................................................................................... 31 5.1.1 Servios Oferecidos s Camadas Superiores ................................................................... 31 5.1.2 Qualidade de Servio ....................................................................................................... 31 5.1.3 Primitivas de Servio de Transporte ................................................................................ 32 5.2 Protocolos de Transporte ......................................................................................................... 33 5.2.1 Endereamento ................................................................................................................ 33 5.2.2 Estabelecimento de uma Conexo ................................................................................... 34 5.2.3 Encerramento de uma Conexo ....................................................................................... 34 5.3 Exerccios ................................................................................................................................ 34 6. Protocolos para Internet ................................................................................................................. 36 6.1 O Protocolo IP ......................................................................................................................... 36 6.1.1 Endereos IP .................................................................................................................... 38 6.1.2 Sub-Redes ........................................................................................................................ 38 6.1.3 NAT ................................................................................................................................. 40 6.1.4 Protocolos de Controle da Internet .................................................................................. 40 6.1.5 Multicast IP...................................................................................................................... 44 6.2 Protocolos de Transporte da Internet ...................................................................................... 45 6.2.1 TCP (Transmission Control Protocol) ............................................................................. 45 6.2.2 UDP (User Datagram Protocol)....................................................................................... 49 6.2.3 Exemplos de Portas Conhecidas ...................................................................................... 49 6.3 Aplicaes ............................................................................................................................... 50 6.3.1 DNS (Domain Name System) ......................................................................................... 50 6.3.2 Telnet ............................................................................................................................... 51 6.3.3 FTP (File Transfer Protocol) ........................................................................................... 52 6.3.4 SSH (Secure Shell) .......................................................................................................... 52 6.3.5 Correio Eletrnico ........................................................................................................... 53 6.3.6 WWW (World Wide Web) .............................................................................................. 57 6.4 Exerccios ................................................................................................................................ 59 7. Bibliografia .................................................................................................................................... 61

Redes de Computadores 1

iii

1. Introduo
Inicialmente os sistemas de computao eram sistemas nicos, centralizados e de grande porte. A dcada de 50 ficou marcada pelo uso de mquinas complexas de grande porte operadas por pessoas altamente especializadas e o enfileiramento de usurios para submeter seus jobs (carto ou fita magntica). O processamento era todo realizado em batch, sem interao entre usurio e mquina, o que resultava em um longo perodo para obter alguma resposta do sobre o processamento. Na dcada de 60 comearam a aparecer os primeiros terminais interativos e os sistemas de tempo compartilhado (time-sharing) sistemas multitarefa. Na dcada de 70 o sistema centralizado comeou a ceder espao distribuio do processamento. Minicomputadores e microcomputadores com bom desempenho e requisitos menos rgidos de temperatura e umidade permitiram a instalao de uma grande base computacional. Mas equipamentos perifricos ainda eram caros e justificaram sua utilizao compartilhada. A necessidade de troca de informaes tambm foi razo importante para interconexo. Atualmente a busca por desempenho impulsiona novas arquiteturas.

1.1 Evoluo dos Sistemas de Computao


A arquitetura definida por Von Neumann onde as instrues so executadas sequencialmente, uma aps outra, era perfeita para as maneiras como os programas eram desenvolvidos. Os avanos da tecnologia de integrao de circuitos provocaram uma grande revoluo nos sistemas de computadores, principalmente no que se refere a custo. Vrias arquiteturas foram propostas (dentro das restries de tecnologias da poca) tentando contornar as limitaes de Von Neumann. Dentre tais propostas destacam-se: Sistemas com UCP com mltiplas unidades funcionais. Mquinas pipeline. Array Processors (processadores de matriz). Em outra alternativa contornando as restries centralizadas de controle da arquitetura de Von Neumann aparece a ideia de sequncias mltiplas e independentes de instrues em um sistema composto por vrios elementos de processamento compartilhando um espao comum de memria. Tais sistemas so conhecidos como sistemas multiprocessados fortemente acoplados e so compostos por 2 ou mais processadores com capacidade aproximadamente iguais, todos dividindo acesso comum memria e compartilhando canais de E/S e perifricos, sendo o sistema total controlado por um nico sistema operacional. Surgiram tambm os sistemas fracamente acoplados (sistemas de processamento distribudo), que so uma coleo de elementos de processamento interconectados, tanto lgica quanto fisicamente, para execuo cooperativa de programas de aplicao, com controle geral dos recursos descentralizado. Nos sistemas fracamente acoplados, o sistema fragmentado em partes que residem em diferentes processadores e memrias, com comunicao sujeita a retardos variveis e desconhecidos.

Redes de Computadores 1

Dentre as vantagens dos sistemas multiprocessados, pode-se destacar: Custo/desempenho: evoluo da tecnologia de sntese de CI tem levado a alto potencial de microprocessadores na relao custo/desempenho. Responsividade (tempo de resposta): apresentam grande potencial de processamento e responsividade. Modularidade: permite alterar a configurao de acordo com a tarefa a ser desempenhada (custo/desempenho) e facilidade de manuteno. Confiabilidade: garantida pela redundncia e mecanismos de reconfigurao. Concorrncia: para aplicaes que exigem alto desempenho. Dentre as desvantagens dos sistemas multiprocessados, pode-se destacar: Desenvolvimento de software mais complexo e mais caro. Decomposio de tarefas complexa. Dependente de tecnologia de comunicao devida a alta demanda de trfego de comunicao. Falha em um processador pode interferir em outro. Uma mquina de arquitetura distribuda composta por um conjunto de mdulos autnomos de processamento interconectados para formar um nico sistema. Ela necessita de um sistema operacional nico para gerenciar o processamento de seus mdulos e apresentar-se ao usurio como um sistema nico. As redes de computadores so formadas por um conjunto de mdulos autnomos de processamento interconectados, preservando a independncia dos vrios mdulos de processamento.

1.2 Usos das Redes de Computadores


Muitas empresas possuem uma grande quantidade de computadores. Em um determinado momento a empresa resolve conect-los para poder extrair e correlacionar informaes, ou seja, compartilhar recursos, tornando todos os programas, equipamentos e especialmente dados ao alcance de todas as pessoas na rede, independente da localizao fsica do recurso e do usurio. Porm, talvez mais importante do que compartilhar recursos fsicos seja compartilhar informaes. No caso de empresas pequenas comum que todos os computadores se encontrem em um nico escritrio ou em um nico edifcio; porm, no caso de empresas maiores, os computadores e funcionrios podem estar dispersos por escritrios e fbricas em muitos pases. Independente disso, um funcionrio em uma cidade s vezes pode ter a necessidade de acessar dados em outra cidade. Resumindo, o fato de um usurio estar a quilmetros de distncia de seus dados no deve impedi-lo de usar tais dados. Outro objetivo de uma rede de computadores est relacionado s pessoas. Uma rede de computadores pode oferecer um meio de comunicao eficiente entre funcionrios. Entre os meios de comunicao mais comuns podemos citar o correio eletrnico (e-mail), documentao on-line, videoconferncia e gerenciamento eletrnico de documentos. Outra atividade que surgiu com as redes de computadores foi a capacidade de realizar negcios eletronicamente com outras empresas, em especial fornecedores e clientes. A capacidade de emitir pedidos conforme a demanda reduz a necessidade de grandes estoques e aumenta a eficincia. Um uso mais recente das redes de computadores o comrcio eletrnico (e-commerce), ou seja, a capacidade de realizar negcios com consumidores pela Internet. Redes de Computadores 1 5

1.2.1 Aplicaes Pessoais


No incio as pessoas compravam computadores pessoais para processar textos e jogar. Nos ltimos anos surgiu uma nova motivao, o acesso Internet. Alguns dos usos mais populares da Internet para usurios domsticos so: Acesso a informaes remotas, em especial pela web (artes, negcios, governo, sade, jornais, revistas, diverso, etc). Comunicao entre pessoas, utilizando e-mail, grupos de notcias (newsgroups) e programas para troca de mensagens instantneas. Entretenimento interativo. Os melhores exemplos so vdeo sob demanda e jogos. Comrcio eletrnico, tanto o promovido por lojas quanto sites de leilo. A tabela abaixo mostra algumas abreviaes corriqueiras: Abreviao B2C B2B G2C C2C P2P Significado Business-to-consumer Business-to-business Government-to-consumer Consumer-to-consumer Peer-to-peer Exemplo Compras on-line Fabricante de solicitando peas a um fornecedor Transmisso da declarao de imposto de renda Leiles on-line de produtos usados Compartilhamento de arquivos

1.2.2 Modelo Cliente-Servidor


Podemos imaginar que o sistema de informaes de uma empresa consista em um ou mais bancos de dados e um nmero de funcionrios que precisam acess-los remotamente. Nesse modelo, os dados so armazenados em computadores chamados servidores e os funcionrios tm em suas mesas mquinas chamadas clientes, com as quais eles acessam dados remotos. As mquinas clientes e servidores so conectadas entre si por uma rede. Tal modelo conhecido como modelo cliente-servidor.

No modelo cliente-servidor h dois processos envolvidos, um na mquina cliente e um na mquina servidora. O processo cliente envia uma mensagem pela rede ao processo servidor. Ento, o processo cliente espera por uma mensagem de resposta. Quando o processo servidor recebe a solicitao, ele executa o trabalho solicitado e envia de volta uma resposta. Os sistemas operacionais atuais permitem a execuo de vrios processos simultaneamente (multiprogramao). Desta forma um sistema pode estar executando mais de um processo servidor simultaneamente, assim como pode estar executando mais de um processo cliente simultaneamente. Tambm possvel que um sistema possua simultaneamente processos clientes e processos servidores executando em um mesmo host.

1.3 Tipos de Rede


Uma Rede de Computadores formada por um conjunto de mdulos processadores capazes de trocar informaes e compartilhar recursos, interligados por um sistema de comunicao. O sistema de comunicao vai se constituir de um arranjo topolgico interligando os vrios mdulos processadores atravs de enlaces fsicos (meios de transmisso) e de um conjunto de regras Redes de Computadores 1 6

com o fim de organizar a comunicao (protocolos). Redes de computadores podem ser classificadas de vrias formas, mas duas dimenses se destacam: a escala e a tecnologia de transmisso. Generalizando, h dois tipos de tecnologia de transmisso: Redes de difuso Redes ponto a ponto As redes de difuso possuem apenas um canal de comunicao, compartilhado por todas as mquinas. As mensagens enviadas por uma das mquinas so recebidas por todas as demais, sendo o destinatrio especificado atravs de um campo de endereo dentro do pacote. Os sistemas de difuso tambm oferecem a possibilidade de endereamento de um pacote a todos os destinos por meio de um endereo especial. Quando um pacote com esse endereo transmitido, ele recebido e processado por todas as mquinas da rede. Esse modo de operao chamado de difuso (broadcast). Alguns sistemas de difuso tambm suportam transmisso para um subconjunto das mquinas, conhecido como multidifuso (multicasting). Por outro lado, as redes ponto a ponto consistem em conexes entre pares individuais de mquinas. Para ir da origem ao destino, talvez um pacote nesse tipo de rede tenha de visitar uma ou mais mquinas intermedirias. Os algoritmos de roteamento desempenham um importante papel nas redes ponto a ponto. Embora haja algumas excees, geralmente as redes menores tendem a usar os sistemas de difuso, e as maiores os sistemas ponto a ponto. As redes tambm podem ser classificadas por escala, sendo classificadas em redes locais, redes metropolitanas e redes geograficamente distribudas.

1.3.1 Redes Locais


Redes locais (local area networks LANs), so redes privadas contidas em um nico edifcio ou campus com at alguns quilmetros de extenso. So amplamente usadas para conectar computadores pessoais e estaes de trabalho em escritrios e instalaes industriais. Possuem um tamanho restrito, o que significa que o pior tempo de transmisso limitado e conhecido com antecedncia. So projetadas para permitir que recursos computacionais, como impressoras e discos, sejam compartilhados por computadores pessoais. As LANs tradicionais possuem taxas de transmisso que variam de 10 Mbps a 1000 Mbps, tm baixo retardo e possuem baixas taxas de erros (10-8 a 10-11). As LANs mais modernas operam em at 10 Gbps.

1.3.2 Redes Metropolitanas


Uma rede metropolitana (metropolitan area network MAN), uma verso ampliada de uma LAN, pois basicamente os dois tipos de rede utilizam tecnologias semelhantes. Uma MAN pode abranger uma cidade inteira e pode ser privada ou pblica. capaz de transportar dados e voz, podendo inclusive ser associado rede de televiso a cabo local. Normalmente so utilizadas para conectar clientes que necessitam de acesso Internet de alta velocidade e redes locais.

1.3.3 Redes Geograficamente Distribudas


Uma rede geograficamente distribuda (wide area network WAN), abrange uma ampla rea Redes de Computadores 1 7

geogrfica, com frequncia um pas ou continente. Na maioria das redes geograficamente distribudas, a sub-rede consiste em dois componentes distintos: linhas de transmisso e elementos de comutao. As linhas de transmisso transportam os bits entre as mquinas. Os elementos de comutao so equipamentos especializados que conectam trs ou mais linhas de transmisso. Quando os dados chegam a uma linha de entrada, o elemento de comutao deve escolher uma linha de sada para encaminh-los. Nesse modelo os hosts em geral esto conectados a uma LAN em que h um roteador, embora em alguns casos um host possa estar conectado diretamente a um roteador. O conjunto de linhas de comunicao e roteadores (sem os hosts) forma a sub-rede. Na maioria das WANs, a rede contm mais de uma linha de transmisso, todas conectadas a um par de roteadores. Se dois roteadores que no compartilham uma linha de transmisso desejarem se comunicar, eles s podero faz-lo indiretamente, atravs de outros roteadores.

1.3.4 Inter-Redes
Existem muitos padres de rede em utilizao e comum que pessoas conectadas a redes distintas precisem se comunicar. Para isso preciso que se estabeleam conexes entre redes, as vezes incompatveis, por meio de mquinas chamadas gateways. Um conjunto de redes interconectadas chamado inter-rede. Uma forma comum de inter-rede um conjunto de LANs conectadas por uma WAN. A Internet um exemplo de uma inter-rede.

1.4 Redes Sem Fio


Redes sem fio (wireless networks) podem ser divididas em trs categorias principais: Interconexo de sistemas. LANs sem fio. WANs sem fio. A interconexo de sistemas significa interconectar os componentes de um computador usando um rdio de alcance limitado. Algumas empresas se uniram para projetar uma rede sem fio de alcance limitado, chamada Bluetooth, a fim de conectar componentes sem a utilizao de fios. A rede Bluetooth tambm permite a conexo de cmeras digitais, fones de ouvido, scanners e outros dispositivos a um computador simplesmente trazendo-os para dentro do alcance da rede. Normalmente as redes de interconexo de sistemas utilizam o paradigma de mestre-escravo, onde o mestre informa aos escravos que endereos usar, quando eles podem transmitir, por quanto tempo podem transmitir, que frequncias podem usar e assim por diante. As LANs sem fio so sistemas em que todo computador tem um modem de rdio e uma antena por meio dos quais podem se comunicar com outros sistemas. Frequentemente existe uma antena central que permite a comunicao das mquinas, porm se os sistemas estiverem prximos o bastante, podero se comunicar diretamente um com o outro em uma configurao no hierrquica. WANs sem fio so usadas em sistemas geograficamente distribudos. A rede de rdio utilizada para telefonia celular um exemplo de sistema sem fio de baixa largura de banda. Alm dessas redes de baixa velocidade, existem tambm redes sem fio de alta largura de banda.

Redes de Computadores 1

1.5 Aplicaes Bsicas


Uma das aplicaes bsicas de uma rede local de computadores simplesmente permitir o compartilhamento de um perifrico mais caro entre diversos microcomputadores. Nesse caso a LAN conecta equipamentos usurios, ou seja, os microcomputadores que funcionam como estaes de trabalho e equipamentos servidores. Os servidores distinguem-se dos demais equipamentos da rede por disporem de hardware e/ou software especficos.

1.5.1 Servidor de Arquivos


O servidor de arquivos tem como tarefa oferecer aos hosts conectados rede um servio de armazenamento de informaes e compartilhamento de discos. As atribuies do servidor de arquivos incluem: gerenciar um sistema de arquivos que possa ser utilizado pelo usurio em substituio ou adio ao sistema de arquivos existente em sua prpria mquina; garantir a integridade dos dados, detectando e implementando uma poltica de proteo em casos de falha do sistema ou de acessos concorrentes; implementar uma poltica de proteo contra acesso no autorizado que impea a ao de usurios maliciosos. Um outro objetivo do servidor de arquivos que ele atenda simultaneamente requisitos de gerncia de arquivos de diferentes sistemas operacionais. O acesso do usurio ao servidor de arquivos pode ser implementado em trs modos distintos: O sistema operacional da mquina usuria alterado de modo que o servidor de arquivos seja visto como uma extenso do seu prprio sistema de arquivos, sendo totalmente transparente para o usurio final. Atravs de utilitrios que acessam arquivos residentes no servidor, tendo o usurio conhecimento da existncia do servidor mas no dos detalhes da sua utilizao. O usurio final usa o servidor atravs de primitivas para solicitar servios como: abrir arquivo, fechar arquivo, ler registro, etc. Nesse nvel o usurio precisa conhecer as primitivas, embora no precise conhecer os detalhes das regras de comunicao entre a mquina usuria e o servidor.

1.5.2 Servidor de Impresso


Tem como finalidade oferecer aos computadores conectados rede um servio de impresso. Desse modo, uma impressora pode ser compartilhada entre vrios usurios. A forma mais simples de implementao do servidor de impresso baseada na pr-alocao da impressora. Um computador que deseja utilizar a impressora envia uma mensagem ao servidor solicitando que a impressora lhe seja alocada. Se a impressora estiver livre o servidor de impresso responde, informando que ela pode ser utilizada e bloquear seu uso a outros computadores. Uma maneira mais eficiente de implementar o servidor de impresso utilizar a tcnica de spooling. Nesse caso o computador simplesmente envia o texto que deseja imprimir ao servidor de impresso que o armazenar at que a impressora esteja disponvel e o texto possa ser impresso. Um terceiro modo de implementar o servidor de impresso manter os arquivos de spooling no servidor de arquivos e apenas indicar esse fato ao servidor de impresso, que se encarregar de ler o arquivo e providenciar sua impresso.

Redes de Computadores 1

1.5.3 Compartilhamento de Software


Atualmente um dos fatores que mais pesa na manuteno de um sistema computacional a atualizao peridica das licenas de software. Com uma rede de computadores pode-se adquirir um nmero menor de licenas e instal-las em um servidor. Quando for necessrio utilizar o software basta buscar a licena no servidor e execut-lo. Desta forma ser necessrio adquirir somente o nmero estimado de licenas para uso simultneo, e no uma licena para cada computador.

1.5.4 Correio Eletrnico


A ideia do correio eletrnico permitir que os usurios se comuniquem uns com os outros, utilizando a rede como meio de transmisso. Sua implementao consiste basicamente em associar a cada usurio o endereo de uma caixa postal onde so depositadas as mensagens que lhe forem enviadas.

1.5.5 Servidor de Banco de Dados


Um servidor de banco de dados permite o compartilhamento das informaes de uma organizao de forma centralizada e eficiente, evitando a duplicidade e at mesmo a inconsistncia que poderia acontecer caso as informaes fossem armazenadas de forma distribuda. Sua principal diferena para um servidor de arquivos que ele capaz de processar consultas complexas sobre dados, trafegando pela rede somente as informaes que interessam. Isto leva a uma grande diminuio do trfego total na rede.

1.5.6 Gerenciamento Eletrnico de Documentos (GED)


uma tecnologia que prov um meio de facilmente gerar, controlar, armazenar, compartilhar e recuperar informaes existentes em documentos. Os sistemas GED permitem aos usurios acessar os documentos de forma gil e segura, normalmente via navegador Web por meio de uma intranet. Documentos formam a grande massa de conhecimentos de uma empresa. O GED permite preservar esse patrimnio e organizar eletronicamente a documentao para assegurar a informao necessria, na hora exata, para a pessoa certa.

1.6 Exerccios
1) O que diferencia um sistema multiprocessado fortemente acoplado de um sistema de processamento distribudo? 2) Cite uma vantagem e uma desvantagem de um sistema multiprocessado. 3) Qual a diferena entre uma rede de computadores e uma mquina com arquitetura distribuda? 4) Explique duas vantagens que as redes de computadores podem trazer para as empresas. 5) Explique duas vantagens que as redes de computadores podem trazer para as pessoas. 6) Explique como funciona o modelo cliente-servidor. 7) O que diferencia redes de difuso de redes ponto a ponto? 8) Defina: Rede local Rede metropolitana Rede geograficamente distribuda 9) O que diferencia uma rede local sem fio de uma rede sem fio para interconexo de sistemas?

Redes de Computadores 1

10

10) Explique 2 aplicaes para redes locais.

Redes de Computadores 1

11

2. Topologias
O sistema de comunicao constitui-se por um arranjo topolgico interligando os vrios mdulos processadores atravs de enlaces fsicos (meio de transmisso) e de um conjunto de regras (protocolos) a fim de organizar a comunicao. O termo topologia refere-se ao lay-out fsico e ao meio de conexo dos dispositivos da rede. Qual arranjo topolgico deve ser usado para uma rede em particular? O tipo da rede (LAN, MAN ou WAN) ir influenciar na escolha.

2.1 Linhas de Comunicao


As ligaes fsicas em um sistema de comunicao podem ser de dois tipos: ponto a ponto ou multiponto. As ligaes ponto a ponto fornecem um link dedicado entre dois dispositivos e caracterizam-se pela presena de apenas dois pontos de comunicao, um em cada extremidade do enlace. Nas ligaes multiponto observa-se a presena de trs ou mais dispositivos de comunicao com possibilidade de utilizao do mesmo enlace.
Ponto a ponto Multiponto

A forma de utilizao do meio fsico que conecta os hosts d origem seguinte classificao sobre a comunicao no enlace: Simplex: O enlace pode ser utilizado somente em um dos sentidos de transmisso, assim um dispositivo pode apenas transmitir e o outro pode apenas receber. Half-duplex: O enlace pode ser utilizado nos dois sentidos de transmisso, mas somente em um sentido por vez. Quando um dispositivo transmite o outro pode apenas receber, e vice-versa. Full-duplex: O enlace pode ser utilizado nos dois sentidos de transmisso simultaneamente, ou seja, os dispositivos podem transmitir e receber ao mesmo tempo.
Simplex Half-duplex Full-duplex

Enlaces como os classificados anteriormente sero utilizados pelas diferentes topologias, que iro variar de acordo com o tipo de rede utilizada.

2.2 Redes Geograficamente Distribudas


As redes geograficamente distribudas caracterizam-se por apresentar enlaces com ligaes ponto a ponto.

2.2.1 Topologia Totalmente Ligada


Uma primeira tentativa para a conexo de computadores em rede seria em uma topologia totalmente ligada. Nessa topologia, todas as estaes so interligadas duas a duas atravs de um caminho fsico dedicado com comunicao full-duplex. Embora essa topologia apresente maior grau de paralelismo de comunicao, ela quase sempre impraticvel, principalmente em redes com grande nmero de estaes e fisicamente Redes de Computadores 1 12

dispersas. Uma rede com N estaes necessita de N(N-1)/2 enlaces, elevando o custo do sistema.

Topologia totalmente ligada

2.2.2 Topologia em Anel


Na topologia em anel procura-se diminuir ao mximo o nmero de ligaes no sistema. Em geral utilizam-se ligaes ponto a ponto que operam num nico sentido de transmisso (ligaes simplex) fazendo com que o anel apresente uma orientao. Uma mensagem dever circular pelo anel at que chegue ao seu destino, sendo passada de estao em estao. Esta topologia representa ganho na economia dos enlaces, mas aumenta o nmero de estaes pela qual a mensagem tem que trafegar, o que pode ser drstico para uma WAN (alto retardo). Outra restrio que no tem caminhos alternativos, comprometendo a rede no caso de falha de uma estao ou enlace. Nesta topologia, a estao que coloca a mensagem no anel quem tem a funo de retir-la.

Topologia em anel

2.2.3 Topologia Parcialmente Ligada


Considerando as limitaes de velocidade e confiabilidade necessria a introduo de caminhos redundantes para um aumento tanto de confiabilidade quanto de desempenho atravs do paralelismo de comunicaes, sem, no entanto, recair na topologia totalmente ligada. Obtm-se assim uma topologia intermediria denominada topologia parcialmente ligada, tambm conhecida como topologia em grafo. Nesta topologia nem todos os enlaces entre pares de estaes existem diretamente, mas existem caminhos alternativos entre duas estaes quaisquer. No caso em que estaes sem conexo fsica direta desejem se comunicar, elas devero encaminhar suas mensagens para alguma outra estao que possa fazer a entrega da mensagem para a estao destino. Por causa da necessidade de procurar estes caminhos alternativos necessria a utilizao de roteamento nesta topologia.

Topologia parcialmente ligada

Redes de Computadores 1

13

A comunicao entre dois hosts pode ser realizada por chaveamento de circuitos, chaveamento de mensagens ou chaveamento de pacotes. Em sistemas por chaveamento de circuitos, um canal entre a origem e o destino estabelecido para uso exclusivo dessas estaes at que a conexo seja desfeita, de maneira idntica a uma chamada telefnica. O chaveamento de mensagem ou de pacote vai otimizar o uso dos meios de comunicao, evitando a monopolizao de todo o caminho durante uma conversao. Em sistemas por chaveamento de mensagem, a mensagem enviada por completo ao longo do caminho. Em cada n do caminho a mensagem primeiro armazenada e depois passada frente. Nos sistemas por chaveamento de pacote a mensagem quebrada em pacotes antes da transmisso ser efetuada. A transmisso de cada pacote pode ser feita por um nico caminho ou por caminhos diferentes, sendo a mensagem reagrupada quando chega ao destino. Tanto na comutao de pacotes quanto na comutao de mensagens no existe a alocao de um canal dedicado da origem ao destino.

2.3 Redes Locais e Metropolitanas


Em redes locais e metropolitanas, meios de transmisso de alta velocidade e baixa taxa de erros, baixo custo e privados podem ser usados. Topologias muitas vezes inviveis em ambientes geograficamente distribudos podem ser utilizadas.

2.3.1 Topologia em Estrela


Na topologia em estrela cada n interligado a um n central (mestre), atravs do qual todas as mensagens devem passar. Tal n age como centro de controle da rede, interligando os demais ns (escravos). Podem haver comunicaes simultneas, desde que as estaes envolvidas sejam diferentes. O n central tem a funo de gerenciamento das comunicaes e denominado de comutador ou switch.

Topologia em estrela

Redes em estrela podem atuar por difuso (broadcasting) ou no. Em redes por difuso todas as informaes so enviadas ao n central, que o responsvel por distribu-las a todos os ns da rede. Em redes que no operam por difuso, um n pode apenas se comunicar com outro n de cada vez, sempre sob controle do n central. Confiabilidade um problema nas redes em estrela. Falhas no n central podem ocasionar a parada total do sistema. Redundncias podem ser acrescentadas para diminuir o risco da ocorrncia de problemas com o n central. Outro problema da rede em estrela relativo modularidade. A configurao pode ser expandida at o limite imposto pelo n central. O desempenho da rede medido pela capacidade da estao central de chavear as mensagens.

2.3.2 Topologia em Anel


Por motivos de confiabilidade o anel no interliga os hosts diretamente, mas consiste em uma Redes de Computadores 1 14

srie de repetidores ligados por um meio fsico sendo cada host ligado a esses repetidores. Redes em anel so, teoricamente, capazes de transmitir e receber dados em qualquer direo. Porm as configuraes mais usuais so unidirecionais de forma a simplificar o projeto dos repetidores. Os repetidores so em geral projetados de forma a transmitir e receber dados simultaneamente, diminuindo assim o retardo de transmisso. Quando uma mensagem enviada por um n, ela entra no anel e circula at ser retirada pelo n de destino, ou ento at voltar ao n de origem, dependendo do protocolo empregado. Nas redes onde a mensagem retirada pelo n de origem possvel a utilizao de mensagens de difuso.

Topologia em anel

A topologia em anel requer que cada n seja capaz de remover seletivamente mensagens da rede ou pass-las frente para o prximo n. Isto requer um repetidor ativo em cada n. Uma quebra em qualquer dos enlaces entre os repetidores vai parar toda a rede at que o problema seja isolado e um novo cabo instalado. Falhas no repetidor ativo tambm podem causar a parada total do sistema. Uma soluo parcial para o problema de falha no repetidor consta em prover cada um deles de um rel que pode remov-lo mecanicamente da rede em caso de falha. Essa remoo pode ser impossvel se os repetidores imediatamente posterior e anterior ao repetidor com falha estiverem a uma distncia maior do que o limite exigido pelo meio de transmisso para a interconexo de dois ns devido ao problema da atenuao. Outras melhorias na topologia em anel foram propostas, como a introduo de caminhos alternativos, duplos anis, etc. Na prtica a topologia pode ser feita suficientemente confivel de forma que a possibilidade de falhas possa ser praticamente ignorada.

Anel de backup

Estao fora do anel

TCU

Anel principal

Redes de Computadores 1

15

2.3.3 Topologia em Barra


Na topologia em barra comum todos os hosts se ligam ao mesmo meio de transmisso. Ao contrrio das outras topologias discutidas at aqui, a topologia em barra tem uma configurao multiponto. Nas redes em barra comum cada host conectado barra pode ouvir todas as informaes transmitidas. Esta caracterstica facilita as aplicaes com mensagens do tipo difuso.
Topologia em barra

Existe uma variedade de mecanismos para o controle de acesso barra, que pode ser centralizado ou descentralizado. Em um controle centralizado, o direito de acesso determinado por uma estao especial da rede. Em um ambiente de controle descentralizado, a responsabilidade de acesso distribuda entre todos os hosts. Ao contrrio da topologia em anel, as topologias em barra podem empregar interfaces passivas, nas quais as falhas no causam a parada total do sistema. A ligao ao meio de transmisso um ponto crtico no projeto de uma rede local em barra comum. A ligao deve ser feita de forma a alterar o mnimo possvel as caractersticas eltricas do meio. O meio, por sua vez, deve terminar em seus dois extremos por uma carga igual a sua impedncia caracterstica, de forma a evitar reflexes que interfiram no sinal transmitido. A ligao das estaes ao meio de comunicao realizada atravs de um transceptor (transmissor/receptor), que tem como funes bsicas transmitir e receber sinais, bem como reconhecer a presena destes sinais no meio. O poder de crescimento, tanto no que diz respeito distncia mxima entre dois hosts da rede quanto ao nmero de ns que a rede pode suportar vai depender do meio de transmisso utilizado, da taxa de transmisso e da quantidade das ligaes ao meio. Conforme se queira chegar a distncias maiores, repetidores sero necessrios para assegurar a qualidade do sinal. Assim como em redes em anel, a utilizao de concentradores (hubs) ir facilitar a localizao e o isolamento de falhas, bem como permitir a insero de novas estaes na barra sem a parada do sistema. Deve-se ressaltar que com a utilizao de hubs haver uma diferena no que diz respeito s topologias lgica e fsica. Com hubs a topologia lgica da rede continua a ser a topologia em barra, porm a topologia fsica passa a ser uma topologia em estrela.

Topologia em barra com utilizao de hub

Hubs podem ser interconectados como forma de expanso do tamanho da rede.

2.4 Exerccios
1) Desenhe uma topologia com ligaes ponto a ponto e uma topologia com ligaes multiponto. 2) Quanto forma de utilizao do meio fsico, defina: Comunicao simplex Comunicao half-duplex Comunicao full-duplex Redes de Computadores 1 16

3) Qual o problema que impede a utilizao da topologia totalmente ligada em grandes redes? 4) Que problema pode ocorrer com a topologia em anel? 5) Explique uma tcnica que pode ser utilizada para aumentar a confiabilidade de redes em anel. 6) Qual a melhor topologia a ser utilizada para redes geograficamente distribudas? Explique. 7) O que diferencia uma topologia em estrela de uma topologia em barra? 8) Explique o problema que pode ocorrer na topologia em estrela. 9) Quando se faz uso de concentradores em redes com topologia em barra passa-se a diferenciar topologia fsica de topologia lgica. Explique.

Redes de Computadores 1

17

3. Protocolos de Comunicao
3.1 Software de Rede
Nas primeiras redes de computadores, o hardware foi colocado como prioridade e o software, em segundo plano. Atualmente, o software da rede est altamente estruturado. Neste tpico ser estudada a tcnica de estruturao dos softwares.

3.1.1 Hierarquias de Protocolo


Para reduzir a complexidade do projeto, a maioria das redes foi organizada como uma srie de camadas ou nveis, que so colocados um em cima do outro. O objetivo de cada camada oferecer determinados servios para as camadas superiores, ocultando detalhes da implementao desses servios. A camada n de uma mquina se comunica com a camada n da outra mquina. As regras usadas nesse dilogo so chamadas de protocolo da camada n. Basicamente, um protocolo um conjunto de regras sobre o modo como se dar a comunicao entre as partes envolvidas.

Host 1
Camada 4
Interface entre as camadas 3 e 4

Host 2
Protocolo da camada 4 Camada 4

Camada 3
Interface entre as camadas 2 e 3

Protocolo da camada 3
Protocolo da camada 2 Protocolo da camada 1

Camada 3
Camada 2

Camada 2
Interface entre as camadas 1 e 2

Camada 1

Camada 1

Meio Fsico
A figura acima mostra uma rede com camadas. As entidades que ocupam as mesmas camadas em diferentes mquinas so chamadas de pares (peers). So os pares que se comunicam usando o protocolo. Os dados no so diretamente transferidos da camada n de uma mquina para a camada n da outra. Cada camada transfere os dados e as informaes de controle para a camada imediatamente abaixo dela, at a ltima camada ser alcanada. Abaixo da camada 1 est o meio fsico, atravs do qual se d a comunicao propriamente dita. Uma das consideraes mais importantes a definio clara das interfaces entre as camadas. preciso que cada camada execute um conjunto de funes bem definido. Isto reduz o volume de informaes a ser passado de uma camada para outra e simplifica a substituio de uma camada por uma implementao diferente. Um conjunto de camadas de protocolos chamado de arquitetura de rede. A especificao de uma arquitetura deve conter informaes suficientes para permitir que um implementador desenvolva o software ou construa o hardware de cada camada de modo que ele transmita corretamente o protocolo adequado. No h, no entanto, a necessidade de que as interfaces de todas Redes de Computadores 1 18

as mquinas de uma rede sejam iguais, desde que cada uma delas possa usar todos os protocolos. Uma lista de protocolos usados por um determinado sistema chamado de pilha de protocolos. Usando como exemplo uma rede com 5 camadas, uma mensagem M produzida por uma aplicao executando na camada 5 transmitida para a camada 4. A camada 4 coloca um cabealho na frente da mensagem para identific-la e envia o resultado camada 3. O cabealho inclui informaes de controle, como nmeros de sequncia para permitir que a camada 4 da mquina de destino repasse as mensagens na ordem correta, para o caso das camadas inferiores no conseguirem manter a sequencia. Algumas camadas no impem limite ao tamanho da mensagem transmitida, enquanto outras impem. Assim, as camadas que limitam o tamanho da mensagem que elas podem enviar devem dividir as mensagens em unidades menores, chamadas pacotes, anexando um cabealho de sua camada a cada pacote. A camada 3 divide ento as mensagens e transmite os pacotes camada 2. A camada 2 adiciona, alm de um cabealho, um fecho (trailer), e envia a unidade resultante camada 1, para que ela possa ser transmitida fisicamente. Na mquina receptora, a mensagem ser movida para cima de camada em camada, com os cabealhos sendo excludos durante o processo.
Camada 5
Camada 4 Camada 3 Camada 2
H4 H 3 H 4 M1 H 2 H 3 H 4 M1 T M M H3 H2 H3 M2 M2 T

Protocolo da camada 5
Protocolo da camada 4 Protocolo da camada 3 Protocolo da camada 2

M H4 H 3 H 4 M1 M H3 H2 H3 M2 M2 T

H 2 H 3 H 4 M1 T

Camada 1

3.1.2 Interfaces e Servios


Os elementos ativos em cada camada so chamados de entidades. Uma entidade pode ser uma entidade de software (como um processo) ou uma entidade de hardware. As entidades da mesma camada contidas em mquinas diferentes so chamadas de entidades pares (peer entity). As entidades da camada n implementam um servio usado pela camada n+1. Nesse caso, a camada n chamada provedora de servios e a camada n+1 chamada de usuria do servio. A camada n pode usar os servios da camada n-1 para oferecer seu servio. Ela pode, ainda, oferecer diversas classes diferentes de servios. Os servios esto disponveis em SAPs (Service Access Points Pontos de Acesso ao Servio). Os SAPs da camada n so os locais onde a camada n+1 pode acessar os servios oferecidos. Cada SAP tem um endereo exclusivo que o identifica.

3.1.3 Servios Orientados Conexo e Servios sem Conexo


As camadas podem oferecer dois tipos de servio diferentes para as camadas superiores: servios orientados conexo e servios sem conexo. No servio orientado conexo o usurio do servio antes estabelece uma conexo, usa a conexo e, em seguida, libera a conexo. Uma conexo funciona como um duto entre duas aplicaes, onde o emissor coloca os dados em uma extremidade do duto e o receptor recebe estes dados na outra extremidade. Redes de Computadores 1 19

No servio sem conexo cada mensagem carrega o endereo destino. Cada mensagem pode percorrer um caminho diferente das demais, ocasionando a possibilidade de uma mensagem enviada em determinado momento chegar depois de uma mensagem enviada depois dela. Alguns servios so confiveis no sentido de que os dados jamais sero perdidos. Geralmente um servio confivel implementado por meio da confirmao das mensagens que chegam ao receptor. O processo de confirmao introduz overhead e retardos, fazendo com que ele nem sempre seja desejvel. Uma situao tpica em que um servio orientado conexo confivel apropriado a transferncia de arquivos, enquanto uma situao em que o retardo introduzido pode ser pior do que a confiabilidade o trfego de voz. O servio orientado conexo confivel tem duas pequenas variaes: fluxo de mensagem e fluxo de bytes. No fluxo de mensagens os limites da mensagem so preservados. Quando duas mensagens so enviadas, elas chegam como duas mensagens distintas. No fluxo de bytes a conexo no preserva os limites da mensagem. Nem todas as aplicaes necessitam de conexo. Tudo o que necessrio enviar uma mensagem cuja probabilidade de chegada seja bastante alta, sem que haja uma garantia de entrega. O servio sem conexo no confivel (sem confirmao) conhecido como servio de datagrama. Em algumas situaes conveniente ter confiabilidade em um servio sem conexo. O servio de datagrama com confirmao pode ser oferecido para essas aplicaes.

3.1.4 Primitivas de Servio


Um servio um conjunto de primitivas (operaes) disponveis para que uma entidade possa acess-lo. Uma primitiva indica a execuo de alguma ao ou a gerao de um relatrio sobre uma ao executada por uma entidade par. As primitivas podem ser divididas em quatro classes: Primitiva Request Indication Response Confirm Significado Uma entidade solicita uma ao a outra Uma entidade informada sobre um evento Uma entidade responde a um evento Resposta a uma solicitao anterior da entidade

Para estabelecer uma conexo ente uma mquina A e uma mquina B, por exemplo, uma entidade na mquina A emite uma primitiva CONNECT.request, que faz com que um pacote seja enviado mquina B, que por sua vez recebe uma primitiva CONNECT.indication anunciando o pedido de conexo. A mquina B responde ao pedido pela primitiva CONNECT.response, que chega mquina A como a primitiva CONNECT.confirm.
Sistema A
CONNECT.request CONNECT.confirm

Sistema B
CONNECT.indication

CONNECT.response

No servios com confirmao as quatro primitivas so utilizadas, enquanto nos servios sem confirmao apenas as duas primeiras primitivas so utilizadas. Redes de Computadores 1 20

3.2 Modelos de referncia


Nesta seo sero analisadas duas importantes arquiteturas de rede: o modelo de referncia OSI e o modelo TCP/IP.

3.2.1 O Modelo de Referncia OSI


O RM-OSI (Reference Model for Open Systems Interconnection Modelo de Referncia para Interconexo de Sistemas Abertos) mostrado na figura abaixo. Ele um modelo de 7 camadas baseado em uma proposta desenvolvida pela ISO (International Organization for Standardization) como um primeiro passo na direo da padronizao internacional dos protocolos usados nas diversas camadas. O modelo OSI trata da interconexo de sistemas abertos, ou seja, sistemas que esto abertos comunicao com outros sistemas.
Camada 7 Camada 6 Camada 5 Camada 4

Aplicao Apresentao
Sesso Transporte Rede Enlace de dados Fsica Rede Enlace de dados Fsica Rede Enlace de dados Fsica

Aplicao Apresentao
Sesso Transporte Rede Enlace de dados Fsica

Camada 3
Camada 2 Camada 1

O modelo OSI em si no uma arquitetura de rede, pois no especifica os servios e os protocolos que devem ser usados em cada camada. Ele apenas informa o que cada camada deve fazer. No entanto, a ISO criou padres para todas as camadas, embora eles no pertenam ao modelo de referncia propriamente dito. 3.2.1.1 Camada Fsica A camada fsica trata da transmisso bruta de bits atravs de um canal de comunicao, sem se preocupar com o seu significado. O projeto da rede deve garantir que, quando um lado envia um bit, o outro lado o receba corretamente. As questes mais comuns so a quantidade de volts a ser usada para representar um bit 1 e um bit 0, a quantidade de tempo que um bit deve durar, o fato de a transmisso poder ser ou no realizada nas duas direes, a forma como a conexo inicial ser estabelecida e de que maneira ela ser encerrada, a quantidade de pinos que o conector da rede precisar e de que maneira eles sero utilizados, etc. As questes dizem respeito s interfaces mecnicas, eltricas e procedurais e ao meio de transmisso fsico, que fica abaixo da camada fsica. 3.2.1.2 Camada de Enlace de Dados A principal tarefa da camada de enlace de dados transformar um canal de transmisso de bits de dados bruto em uma linha que parea livre dos erros de transmisso no detectados na camada de rede. Para tal, a camada de enlace de dados divide os dados de entrada em quadros de dados (que em geral tm algumas centenas ou milhares de bytes), transmite-os sequencialmente e processa os quadros de reconhecimento transmitidos pelo receptor. Cabe camada de enlace de dados criar e reconhecer os limites do quadro. Para o reconhecimento dos limites podem ser utilizados quatro mtodos. Contagem de caracteres: o cabealho informa o tamanho do quadro. Redes de Computadores 1 21

Caracteres delimitadores e transparncia de caracteres: caracteres especiais so utilizados para indicar o incio e o fim do quadro. Para evitar confuso de aparecerem delimitadores nos dados so inseridos caracteres especiais. Sequncias especiais de bits: so utilizados flags para delimitar os quadros. Para evitar sequncia igual nos dados criado o bit stuffing. Violao de cdigo: utilizado em redes onde a codificao dos bits traz redundncias como, por exemplo, Manchester, que determina o bit pela direo da transio no meio do perodo do relgio. Rudos na linha podem destruir completamente um quadro. Nesse caso, a camada de enlace de dados da mquina de origem dever retransmitir o quadro. No entanto, vrias transmisses do mesmo quadro criam a possibilidade de existirem quadros repetidos, especialmente no caso de um quadro de reconhecimento enviado pelo receptor ao transmissor ser perdido. Cabe camada de enlace de dados resolver os problemas causados pelos quadros repetidos, perdidos e danificados. Ela pode, ainda, oferecer diferentes classes de servio para a camada de rede. Outra funo da camada de enlace de dados implementar algum mecanismo de controle de fluxo para impedir que um transmissor rpido seja dominado por um receptor lento. Nas redes de difuso a camada de enlace de dados precisa ainda controlar o acesso ao canal compartilhado. Esse problema resolvido por uma subcamada especial denominada subcamada de acesso ao meio. 3.2.1.3 Camada de Rede A camada de rede controla como os pacotes so roteados da origem para o destino. As rotas podem se basear em tabelas estticas que raramente so alteradas, podem ser determinadas no incio de cada conversao ou podem ser altamente dinmicas, sendo determinadas para cada pacote a fim de refletir a situao atual da rede. Se houver muitos pacotes na sub-rede eles utilizaro o mesmo caminho, provocando engarrafamentos. O controle de congestionamento pertence camada de rede. A camada de rede tambm responsvel pelo endereamento das mquinas. Em redes que trabalham com unidades de dados de diferentes tamanhos no nvel de enlace de dados pode ser necessrio realizar a fragmentao e a remontagem dos pacotes. A camada de rede a responsvel por esta tarefa. A camada de rede pode interligar redes com diferentes protocolos de enlace de dados. 3.2.1.4 Camada de Transporte A funo bsica da camada de transporte aceitar dados da camada superior, dividi-los em unidades menores (caso seja necessrio), pass-los para a camada de rede e garantir que todas as unidades cheguem corretamente outra extremidade. Ela deve isolar os nveis superiores de erros como chegada fora de ordem dos pacotes ou at mesmo a perda ou a duplicao de um pacote. A camada de transporte determina o tipo de servio que ser oferecido camada acima. O tipo de conexo de transporte mais comum o canal ponto a ponto sem erros, que libera mensagens ou bytes na ordem em que eles so enviados. Outros tipos possveis de servio de transporte so as mensagens isoladas sem garantia em relao ordem de entrega e difuso de mensagens para muitos destinos. O tipo de servio determinado quando a conexo estabelecida. A camada de transporte uma camada fim a fim, que liga a origem ao destino. Nas camadas inferiores os protocolos so trocados entre mquinas vizinhas. Muitos hosts so multiprogramados, possuindo vrias conexes com outros hosts. Desta Redes de Computadores 1 22

forma, preciso criar algum mecanismo que determine a qual conexo uma mensagem pertence. A multiplexao de vrias conexes deve ser feita de forma transparente pela camada de transporte para as camadas superiores. Alm da multiplexao, a camada de transporte pode realizar tambm o splitting, que o aumento da vazo distribuindo uma conexo de transporte por vrias conexes de rede simultaneamente. Tambm cabe camada de transporte estabelecer e encerrar conexes. 3.2.1.5 Camada de Sesso A camada de sesso permite que os usurios de diferentes mquinas estabeleam sesses entre eles. As sesses tm por finalidade manter a funcionalidade das aplicaes do host mesmo que hajam problemas nas camadas inferiores. Uma sesso pode, por exemplo, ser usada para permitir que um usurio estabelea um login com um sistema remoto ou transfira um arquivo entre dois hosts e no seja necessrio refazer o login ou reiniciar a transferncia por causa de uma eventual queda de conexo. Um dos servios de sesso o gerenciamento de token. Para alguns protocolos, necessrio que ambos os lados no executem a mesma operao ao mesmo tempo. A camada de sesso oferece tokens para serem trocados, fazendo com que determinadas operaes s possam ser executadas pelo lado que est mantendo o token. Outro servio que a camada de sesso oferece a sincronizao. So inseridos pontos de sincronizao no fluxo de dados de forma que se a conexo for perdida no seja necessrio retransmitir todos os dados novamente, mas apenas aqueles enviados aps o ltimo ponto de sincronizao. 3.2.1.6 Camada de Apresentao A camada de apresentao executa determinadas funes solicitadas com muita frequncia, oferecendo uma soluo geral para todas elas em vez de deixar tal responsabilidade a cargo de cada usurio. Ao contrrio das camadas inferiores, que esto interessadas em tornar confivel o processo de movimentao de bits de uma extremidade a outra, a camada de apresentao se preocupa com a sintaxe e a semntica das informaes transmitidas. Um exemplo tpico de um servio da camada de apresentao a codificao de dados conforme o padro estabelecido. Hosts tm diferentes cdigos para representar strings e valores numricos. Para permitir que hosts com diferentes representaes se comuniquem, as estruturas de dados trocadas podem ser definidas de uma forma abstrata, juntamente com a codificao padro a ser usada durante a conexo. A camada de apresentao gerencia essas estruturas de dados abstratas e converte a representao utilizada pelo host para a representao padro da rede, e vice-versa. Outros exemplos de servios que podem ser oferecidos pela camada de apresentao so a criptografia e a compresso de dados. 3.2.1.7 Camada de Aplicao a camada que oferece aos usurios acesso pilha de protocolos OSI. Ela contm uma srie de protocolos necessrios ao funcionamento de uma rede como, por exemplo, terminais virtuais, transferncia de arquivos, correio eletrnico, etc. na camada de aplicao que so executados os processos dos usurios. 3.2.1.8 Transmisso de Dados no Modelo OSI A figura abaixo mostra como os dados podem ser transmitidos atravs do modelo OSI. Um processo que deseja enviar dados para um receptor passa os dados para a camada de aplicao que, Redes de Computadores 1 23

em seguida, anexa o cabealho da aplicao e transmite o item resultante para a camada de apresentao.
Transmissor Aplicao Apresentao Sesso Transporte
Protocolo de aplicao Protocolo de apresentao Protocolo de sesso Protocolo de transporte

Dados
A Dados P S T Dados Dados Dados

Receptor Aplicao Apresentao Sesso Transporte

Rede
Enlace de dados Fsica

Protocolo de rede
Protocolo de enlace de dados

N
D

Dados
Dados Bits D

Rede
Enlace de dados Fsica

Caminho de transmisso de dados no modelo OSI

A camada de apresentao inclui um cabealho ao item a ser enviado e passa o resultado para a camada de sesso. A camada de apresentao no identifica qual trecho dos dados transmitidos a ela o cabealho da camada de aplicao e quais so os verdadeiros dados do usurio. O processo repetido at os dados alcanarem a camada fsica, onde eles so realmente transmitidos para o host de recepo. Na recepo, os diversos cabealhos so excludos um a um conforme a mensagem se propaga pelas camadas. Embora a transmisso de dados propriamente dita seja vertical, cada camada programada como se fosse horizontal. Quando a camada de transporte do transmissor, por exemplo, obtm uma mensagem da camada de sesso, ela anexa um cabealho de transporte e a envia camada de transporte do receptor.

3.2.2 O Modelo de Referncia TCP/IP


A ARPANET, antecessora da Internet, foi uma rede de pesquisa criada pelo Departamento de Defesa dos Estados Unidos. Aos poucos universidades e reparties pblicas foram sendo conectadas a ela. Quando foram criadas as redes de rdio e satlite, comearam a surgir problemas com os protocolos existentes, forando a criao de uma nova arquitetura de referncia com o objetivo de conectar vrias redes ao mesmo tempo. Essa arquitetura veio a ficar conhecida como Modelo de Referncia TCP/IP, graas a seus dois principais protocolos. Diante da preocupao do Pentgono de que seus hosts e roteadores fossem destrudos de uma hora para outra, definiu-se tambm que a rede deveria ser capaz de sobreviver perda de hardwares da sub-rede, impedindo que as conversas que estivessem ocorrendo fossem interrompidas. Em outras palavras, o Pentgono queria que as conexes permanecessem intactas enquanto as mquinas de origem e de destino estivessem funcionando, mesmo que algumas mquinas ou linhas de transmisso intermedirias deixassem de operar repentinamente.

Redes de Computadores 1

24

OSI
Aplicao Apresentao Sesso Transporte Rede Enlace de dados Fsica

TCP/IP
Aplicao
No est presente no modelo

Transporte Inter-redes

Host / Rede

3.2.2.1 A Camada Inter-redes A camada inter-redes a camada que integra toda a arquitetura. Sua tarefa permitir que os hosts injetem pacotes em qualquer rede e garantir que eles sejam transmitidos independentemente do destino (que pode ser outra rede). A camada inter-redes define um formato de pacote oficial e um protocolo chamado IP (Internet Protocol). A tarefa da camada inter-redes entregar pacotes IP onde eles so necessrios. O roteamento uma questo de grande importncia nessa camada, assim como evitar congestionamentos. A funo da camada inter-redes do modelo TCP/IP a mesma da camada de rede do modelo OSI. 3.2.2.2 A Camada de Transporte A finalidade da camada de transporte permitir que as entidades pares (peer entity) dos hosts de origem e de destino mantenham uma conversao exatamente como acontece na camada de transporte do modelo OSI. Dois protocolos fim a fim foram definidos. O primeiro deles, o TCP (Transmission Control Protocol), um protocolo orientado conexo confivel que permite a entrega sem erros de um fluxo de bytes originado de um determinado host para qualquer host da inter-rede. Esse protocolo fragmenta o fluxo de bytes de entrada em mensagens e passa cada uma delas para a camada inter-redes. No destino, o processo TCP remonta as mensagens recebidas. O TCP cuida tambm do controle de fluxo, impedindo que um transmissor rpido sobrecarregue um receptor lento com um volume de mensagens muito grande. O segundo protocolo dessa camada o UDP (User Datagram Protocol), um protocolo sem conexo, no confivel, para aplicaes que no necessitam nem de controle de fluxo, nem da manuteno da sequncia das mensagens enviadas. amplamente utilizado em aplicaes em que a entrega imediata mais importante do que a entrega precisa. 3.2.2.3 A Camada de Aplicao O modelo TCP/IP no tem as camadas de sesso e de apresentao. Acima da camada de transporte est a camada de aplicao. A camada de aplicao contm os protocolos de alto nvel. Dentre eles esto o protocolo de terminal virtual (Telnet), o protocolo de transferncia de arquivos (FTP) e o protocolo de correio eletrnico (SMTP). Muitos outros protocolos foram includos com o decorrer dos anos, como o DNS (Domain Name Service), que mapeia os nomes de host para seus respectivos endereos de rede, o NNTP, protocolo usado para mover artigos de notcias, e o HTTP, protocolo usado para buscar pginas na WWW (World Wide Web), entre outros. 3.2.2.4 A Camada Host/Rede Abaixo da camada inter-redes nada definido, exceto pelo fato de que o host tem de se Redes de Computadores 1 25

conectar com a rede utilizando um protocolo para que seja possvel enviar pacotes IP. Esse protocolo no definido e varia de host para host e de rede para rede.

3.2.3 Comparao entre os Modelos de Referncia OSI e TCP/IP


Os modelos de referncia OSI e TCP/IP tm muito em comum. Os dois se baseiam no conceito de uma pilha de protocolos independentes e as camadas tm praticamente as mesmas funes. Em ambos so oferecidos aos processos que desejam se comunicar um servio de transporte fim a fim independente do tipo de rede que est sendo usado. O modelo OSI tem trs conceitos fundamentais: Servios Interfaces Protocolos Cada camada executa alguns servios para a camada acima dela. A definio do servio informa o que a camada faz e no a forma como as entidades acima dela o acessam ou como a camada funciona. A interface de uma camada informa como os processos acima dela podem acess-la. A interface especifica quais so os parmetros e resultados a serem esperados. Ela tambm no revela o funcionamento interno da camada. Os protocolos utilizados em uma camada so de responsabilidade dessa camada. A camada pode usar os protocolos que quiser, desde que eles viabilizem a realizao do trabalho. Ela tambm pode alterar esses protocolos sem influenciar o software das camadas superiores. Originalmente, o modelo TCP/IP no distinguiu com clareza a diferena entre servio, interface e protocolo, embora as pessoas tenham tentado adapt-lo ao modelo OSI. Por essa razo, os protocolos do modelo OSI so mais bem encapsulados do que no modelo TCP/IP e podem ser substitudos com relativa facilidade. O modelo de referncia OSI foi concebido antes de os protocolos terem sido inventados. Consequentemente, o modelo no foi criado com base em um determinado conjunto de protocolos, o que o deixou bastante flexvel. No entanto, h o inconveniente de os projetistas no terem experincia com o assunto e no terem muita noo sobre a funcionalidade que deveria ter sido colocado em cada camada. Com o TCP/IP, aconteceu exatamente o contrrio. Como os protocolos vieram primeiro, o modelo foi criado com base neles. Os protocolos no tiveram problemas para se adaptarem ao modelo. O nico problema foi que o modelo no se adaptava s outras pilhas de protocolos. Assim ele no era de muita utilidade quando havia necessidade de se descrever redes que no faziam uso do protocolo TCP/IP. Uma das maiores diferenas entre os dois modelos est no nmero de camadas. O modelo OSI tem sete camadas e o TCP/IP quatro. Outra diferena est na rea da comunicao sem conexo e da comunicao orientada conexo. Na camada de rede o modelo OSI compatvel com a comunicao sem conexo e com a comunicao orientada conexo. No entanto, na camada de transporte, o modelo aceita apenas a comunicao orientada conexo. O modelo TCP/IP tem apenas um modo na camada de rede (sem conexo), mas aceita ambos os modelos na camada de transporte, oferecendo aos usurios uma opo de escolha. Essa escolha especialmente importante para os protocolos simples de solicitao/resposta.

Redes de Computadores 1

26

3.3 Exerccios
1) Por que o projeto de uma rede deve ser estruturado em camadas? 2) Como se d a comunicao entre entidades pares, diretamente ou utilizando servios de outras camadas? 3) Por que se acrescentam cabealhos a cada camada que a mensagem passa? 4) O que um SAP de uma camada? 5) Como se d a transferncia de dados em um servio orientado conexo? 6) Como se d a transferncia de dados em um servio de datagrama? 7) Qual a diferena entre fluxo de mensagens e fluxo de bytes para um servio orientado conexo? 8) Qual a diferena entre servio com confirmao e servio sem confirmao? 9) A que se propem o RM-OSI? 10) Qual o principal objetivo da camada: Fsica Enlace de dados Rede Transporte Sesso Apresentao Aplicao 11) Quais as diferenas entre os servios oferecidos pelo TCP e pelo UDP?

Redes de Computadores 1

27

4. Camada de Rede
A camada de rede cuida da transferncia de pacotes da origem para o destino. Para chegar ao destino, pode ser necessrio passar por vrios roteadores intermedirios ao longo do percurso, contrastando com a camada de enlace de dados, que apenas move quadros de uma extremidade a outra de um meio de transmisso. A camada de rede a camada mais baixa que lida com a transmisso fim a fim. Para atingir seus objetivos, a camada de rede deve: Conhecer a topologia da sub-rede de comunicaes. Ter o cuidado de escolher rotas que evitem sobrecarregar algumas das linhas de comunicao e roteadores deixando outras ociosas. Lidar com as diferenas da sub-rede e resolver os problemas que da resultam.

4.1 Necessidade da Camada de Rede


Em uma grande rede existe a necessidade de trafegar pacotes por vrias linhas. Para solucionar este problema foi desenvolvida a camada de rede, ficando ela responsvel por encaminhar os pacotes pelos roteadores. Na origem ela cria um pacote com dados provenientes da camada superior e acrescenta um cabealho com informaes de endereo origem e destino. Fica tambm responsvel por consultar suas tabelas de rotas para determinar por qual interface o pacote deve ser encaminhado e envi-lo por tal interface. Nos hosts intermedirios a camada de rede deve receber o pacote, consultar suas tabelas de roteamento e enviar o pacote pela interface de rede apropriada. No destino a camada de rede verifica o endereo do pacote e o entrega camada superior.

4.2 Comutao de pacotes store-and-forward


Considerando a figura abaixo, os principais componentes de um sistema so roteadores da concessionria de comunicaes conectados por linhas de transmisso (mostrados na elipse sombreada) e os equipamentos dos clientes (mostrado fora da elipse). O host H1 est diretamente conectado a um dos roteadores da concessionria (roteador A) por uma linha dedicada. J o host H2 est em uma LAN com um roteador F pertencente ao cliente e operado por ele. Esse roteador tambm tem uma linha dedicada para o equipamento da concessionria.
B H1 A C D E F H2

Um host com um pacote a enviar o transmite para o roteador mais prximo, seja em sua prpria LAN ou no. O pacote armazenado no roteador at chegar totalmente, de forma que possa ser conferido. Em seguida ele encaminhado para o prximo roteador ao longo do caminho at alcanar o host de destino, onde entregue. Esse mecanismo conhecido como comutao de pacotes store-and-forward.

Redes de Computadores 1

28

4.3 Servios Oferecidos Camada de Transporte


A camada de rede oferece servios camada de transporte na interface entre a camada de rede e a camada de transporte. Tais servios foram projetados tendo em vista os seguintes objetivos: Os servios devem ser independentes da tecnologia de sub-rede. A camada de transporte deve ser protegida contra a quantidade, o tipo e a topologia das sub-redes presentes. Os endereos de rede que se tornaram disponveis para a camada de transporte devem usar um plano de numerao uniforme, independente do tipo de rede. Tendo definido esses objetivos, os projetistas da camada de rede tm liberdade para escrever especificaes detalhadas dos servios a serem oferecidos camada de transporte. A discusso se concentra em oferecer um servio orientado conexo ou servio sem conexo.

4.4 Organizao Interna da Camada de Rede


H basicamente duas formas para a organizao da sub-rede, uma utilizando conexes e a outra trabalhando sem conexo. Internamente a uma sub-rede, uma conexo costuma ser chamada de circuito virtual, enquanto pacotes independentes sem conexo so chamados de datagramas. A ideia dos circuitos virtuais evitar a escolha de uma nova rota para cada pacote enviado, sendo por isso utilizado em sub-redes com servio orientado conexo. Na verdade, quando se estabelece uma conexo uma rota entre a mquina origem e a mquina destino escolhida como parte do estabelecimento da conexo. Essa rota utilizada por todo o trfego que flui pela conexo, exatamente como o sistema telefnico funciona. Quando a conexo liberada o circuito virtual deixa de existir. No caso de uma sub-rede de datagrama, nenhuma rota previamente definida, mesmo que o servio seja orientado conexo. Cada pacote enviado roteado independentemente de seus antecessores. Os sucessivos pacotes podem seguir diferentes rotas. Se os pacotes que fluem por um determinado circuito virtual sempre seguirem a mesma rota atravs da sub-rede, os roteadores devero lembrar para onde enviar os pacotes de cada um dos circuitos virtuais abertos que estiverem passando atravs deles. Cada pacote que percorre a sub-rede deve conter um campo de nmero de circuito virtual em seu cabealho.

4.5 Endereamento no Nvel de Rede


Alguns nveis de rede oferecem a comunicao entre estaes com um nico SAP (Service Access Point Ponto de Acesso ao Servio) de rede, ao passo que outros possibilitam a definio de vrios SAPs de rede por estao. Mas independentemente do tipo de rede, o endereamento dos SAPs de rede deve ser completamente independente do endereamento dos protocolos de outros nveis. Basicamente dois tipos de endereamento so possveis: o hierrquico e o horizontal. No endereamento hierrquico, o endereo de uma entidade constitudo de acordo com os endereos correspondentes aos vrios nveis da hierarquia de que ela faz parte. O endereo hierrquico o mtodo sugerido pelo ITU-T para interconexo de redes pblicas de pacotes. Nessa recomendao os endereos so nmeros decimais formados por trs campos: um cdigo do pas, um cdigo para a rede, e um campo para o endereamento dentro da rede. No endereamento horizontal, os endereos no tm relao alguma com o lugar onde esto as entidades dentro da rede. Um exemplo comum desse tipo de endereamento so os endereos globalmente administrados, constitudos pelo nmero de assinatura do usurio, como os utilizados pelo padro IEEE 802 (endereos MAC). Redes de Computadores 1 29

Consideraes sobre o roteamento parecem indicar vantagens na utilizao de endereamento hierrquico, uma vez que este contem informaes explcitas sobre o local onde se localizam as entidades. J o endereamento horizontal facilita os esquemas de reconfigurao por permitir uma mobilidade das entidades sem reconfigurao das mesmas. O mapeamento do endereo de nvel de rede em um endereo de nvel de enlace para o envio de pacotes uma tarefa a ser resolvida pelo nvel de rede. Existem duas tcnicas usuais para essa converso: resoluo atravs de mapeamento direto e resoluo atravs de vinculao dinmica. No mapeamento direto, a estao sabe como computar o endereo de enlace, atravs de uma funo que mapeia o endereo de rede no endereo de enlace. Por exemplo, o endereamento hierrquico onde o campo de endereo de estao corresponde exatamente ao endereo da estao no nvel de enlace. Converses mais complicadas podem ser realizadas atravs de tabelas de converso e tcnicas de acesso rpido a estas tabelas. Para evitar o uso de tabelas de converso, uma vinculao dinmica pode ser efetuada entre o endereo de rede e o endereo de enlace atravs da utilizao de algum protocolo de resoluo.

4.6 Exerccios
1) Qual o principal objetivo da camada de rede? 2) Como funciona a comutao de pacotes na camada de rede? 3) Qual a diferena entre circuito virtual e datagrama? 4) Qual a diferena entre endereamento hierrquico e endereamento horizontal?

Redes de Computadores 1

30

5. Camada de Transporte
Sua funo promover a confiabilidade na transferncia de dados entre a mquina origem e a mquina destino, independente da(s) rede(s) fsica(s) em uso no momento.

5.1 O Servio de Transporte


5.1.1 Servios Oferecidos s Camadas Superiores
O principal objetivo da camada de transporte oferecer um servio confivel e eficiente a seus usurios. Para atingir esse objetivo ela utiliza vrios servios oferecidos pela camada de rede. Assim como existem dois tipos de servio de rede (orientados conexo e sem conexo), tambm existem dois tipos de servio de transporte. O servio de transporte orientado conexo (servio confivel) muito semelhante ao servio de rede orientado conexo. Em ambos os casos as conexes tm trs fases: o estabelecimento, a transferncia de dados e o encerramento. Alm disso, o servio de transporte sem conexo (servio no confivel) semelhante ao servio de rede sem conexo. Se a aplicao requer um servio confivel ser necessrio utilizar o servio de transporte orientado conexo, o que implica em um servio mais lento e mais complexo. Por outro lado, se a aplicao no necessita de de confiabilidade no transporte dos dados, ela pode utilizar o servio de transporte sem conexo, que mais simples e mais rpido.

5.1.2 Qualidade de Servio


Outra forma de ver a camada de transporte considerar que sua principal funo seja melhorar a QoS (Quality of Service Qualidade de Servio) oferecida pela camada de rede. Ainda que primeira vista o conceito de qualidade de servio seja vago (fazer com que todos concordem sobre o que significa um servio bom no uma tarefa simples), a QoS pode ser definida por um nmero especfico de parmetros. O servio de transporte pode permitir ao usurio determinar os valores preferenciais, os valores aceitveis e os valores mnimos para vrios parmetros de servio no momento em que uma conexo estabelecida. Alguns parmetros tambm podem ser usados no transporte sem conexo. Esses parmetros so resumidos a seguir: Retardo no estabelecimento da conexo: tempo transcorrido entre a solicitao de uma conexo de transporte e o recebimento de sua confirmao. Probabilidade de falha no estabelecimento da conexo: possibilidade de a conexo no se estabelecer dentro de um perodo mximo estabelecido. Throughput: nmero de bytes de dados transmitidos durante um determinado intervalo de tempo. Retardo de trnsito: tempo transcorrido desde o envio de uma mensagem pelo usurio de transporte da mquina origem at seu recebimento pelo usurio de transporte da mquina destino. Taxa de erros residuais: nmero de mensagens perdidas ou corrompidas em uma porcentagem do total enviado. Proteo: forma do usurio de transporte especificar seu interesse no fato de a camada de transporte fornecer proteo contra leitura ou modificao de dados por parte de terceiros. Prioridade: modo de indicar que algumas conexes so mais importantes do que outras. Resilincia: probabilidade de finalizar uma conexo espontaneamente devido a problemas Redes de Computadores 1 31

internos ou a congestionamento. Os parmetros QoS so especificados pelo usurio de transporte quando uma conexo solicitada. s vezes alguns parmetros no podem ser alcanados. Nesse caso a camada de transporte informa ao usurio que a tentativa de conexo falhou sem sequer tentar contato com o destino.

5.1.3 Primitivas de Servio de Transporte


As primitivas de servio de transporte permitem que os usurios de transporte tenham acesso ao servio de transporte. Cada servio de transporte tem suas prprias primitivas de acesso. O servio de transporte semelhante ao servio de rede, mas existem diferenas importantes entre eles. A principal delas que o servio de rede representa o modelo oferecido pelas redes reais, com todos os atributos. Como as redes reais podem perder pacotes, o servio de rede, em geral, no confivel. O servio de transporte (orientado conexo), ao contrrio, confivel. funo da camada de transporte oferecer um servio confivel acima de uma rede no-confivel. A tabela abaixo mostra cinco primitivas de transporte. Essa interface de transporte uma estrutura bsica, mas mostra o que uma interface de transporte orientada conexo deve fazer. Primitiva TPDU enviada LISTEN CONNECT CONNECTION_REQ SEND DATA RECEIVE DISCONNECT DISCONNECTION_REQ Significado Bloquear at que algum processo tente se conectar Tentar estabelecer uma conexo Enviar informaes Bloquear at uma TPDU DATA chegar Este lado quer encerrar a conexo

Algumas consideraes sobre a terminologia se fazem necessrias. As TPDUs (Transport Protocol Data Unit Unidade de Dados do Protocolo de Transporte) so informaes trocadas pela camada de transporte e so enviadas dentro de pacotes (intercambiados pela camada de rede). Os pacotes, por sua vez, ficam contidos em quadros (intercambiados pela camada de enlace de dados). Quando um quadro chega, a camada de enlace de dados processa seu cabealho e transmite o contedo do campo de carga til do quadro para a entidade de rede. Em seguida, a entidade de rede processa o cabealho do pacote e envia o contedo da carga til do pacote entidade de transporte.
Cabealho do quadro
Cabealho do pacote

Cabealho da TPDU

Carga til da TPDU Carga til do quadro


Carga til do pacote

Considere uma aplicao com um servidor e clientes remotos. Primeiramente o servidor executa uma primitiva LISTEN que bloqueia o servidor at que um cliente aparea. Para se comunicar com o servidor, um cliente executa uma primitiva CONNECT, dando origem a uma TPDU CONNECTION REQUEST que enviada ao servidor. Quando a TPDU chega ao servidor, a entidade de transporte verifica se o servidor est bloqueado em LISTEN. Em seguida a TPDU desbloqueia o servidor e transmite uma TPDU CONNECTION ACCEPTED de volta ao cliente. Quando ela chega a seu destino, o cliente desbloqueado e a conexo estabelecida. A partir de ento os dados so trocados atravs das primitivas SEND e RECEIVE. O encerramento da conexo pode ser assimtrico ou simtrico. No encerramento assimtrico, qualquer um dos lados pode emitir uma primitiva DISCONNECT, fazendo com que uma TPDU Redes de Computadores 1 32

DISCONNECT seja enviada entidade de transporte remota. Quando essa TPDU chega a seu destino, a conexo encerrada. No encerramento simtrico, cada direo da comunicao encerrada em separado e de forma independente da outra. Quando uma das partes executa uma primitiva DISCONNECT, isso significa que no h mais dados para enviar, mas ainda possvel receber dados enviados pela outra parte. Nesse modelo, a conexo s encerrada quando os dois lados tiverem executado uma primitiva DISCONNECT.

5.2 Protocolos de Transporte


O servio de transporte implementado por um protocolo de transporte que usado entre duas entidades de transporte. Os protocolos de transporte, em alguns aspectos, lembram os protocolos de enlace de dados. Ambos tm de lidar com o controle de erros, com a definio de sequncias e com o controle de fluxo, entre outras coisas. Mas existem diferenas significativas entre eles. Na camada de enlace de dados, dois roteadores se comunicam diretamente atravs de um canal fsico, enquanto que na camada de transporte, esse canal fsico substitudo pela sub-rede. Na camada de enlace de dados o roteador no precisa especificar com que outro roteador deseja se comunicar enquanto na camada de transporte, necessrio explicitar os endereos de destino. O processo de estabelecimento de uma conexo atravs de um cabo simples, enquanto na camada de transporte o estabelecimento inicial da conexo mais complicado. Outra diferena a possvel existncia de capacidade de armazenamento na sub-rede. Se a sub-rede utilizar datagramas e um roteamento adaptativo, haver uma probabilidade significativa de que um pacote possa ficar armazenado por alguns segundos e ser entregue depois. As consequncias podem ser desastrosas e exigir o uso de protocolos especiais.

5.2.1 Endereamento
Quando uma aplicao deseja se comunicar com uma aplicao remota, necessrio especificar a aplicao a ser contactada. O mtodo normalmente usado definir os endereos de transporte que os processos podem ouvir para receber solicitaes, chamados TSAPs.
Host 1
Camada de aplicao Camada de transporte Camada de rede

Host 2
TSAP NSAP Servidor

Aplicao
Incio da conexo de transporte

Camada de enlace
Camada fsica

Como a aplicao do host 1 sabe em que TSAP se encontra o servidor no host 2? Uma possibilidade que o servidor esteja associado ao TSAP h anos e que, aos poucos, todos os usurios da rede tenham se acostumado com isso. Nesse modelo, os servios tm endereos TSAP estveis que podem ser impressos e distribudos aos novos usurios quando eles se associam rede. Um esquema alternativo utilizar um processo especial denominado servidor de nomes (name server), ou, as vezes, servidor de diretrios (directory server). Para localizar o endereo Redes de Computadores 1 33

TSAP correspondente a um determinado nome de servio, uma aplicao estabelece uma conexo com o servidor de nomes (que est associado a um TSAP conhecido). Em seguida, o usurio envia uma mensagem especificando o nome do servio, e o servidor de nomes retorna o endereo TSAP. Depois disso, o usurio encerra a conexo com o servidor de nomes e estabelece uma nova conexo com o servio desejado.

5.2.2 Estabelecimento de uma Conexo


Estabelecer uma conexo um procedimento complicado. No basta uma entidade de transporte enviar uma TPDU CONNECTION REQUEST ao destino e aguardar uma resposta CONNECTION ACCEPTED. O problema que a rede pode perder, armazenar e duplicar pacotes, provocando duplicaes atrasadas. Tal problema pode ser combatido de vrias maneiras. Uma forma atribuir a cada conexo um identificador (um nmero de sequncia incrementado a cada conexo estabelecida) escolhido pelo lado que inicia a conexo e colocado em cada TPDU, inclusive na que solicitou a conexo. Outra forma no permitir que os pacotes permaneam na sub-rede eternamente, criando um mecanismo para destruir os pacotes velhos que ainda apaream nela. O tempo de vida de um pacote pode ser restringido atravs de uma das seguintes tcnicas: 1. Usando-se um contador de hops em cada pacote. 2. Usando-se um timestamp em cada pacote. O primeiro mtodo consiste em ter um contador de hops, incrementado a cada vez que o pacote passa por um n intermedirio da rede. Em seguida, o protocolo descarta qualquer pacote cujo contador de hops exceda um determinado valor. O segundo mtodo exige que cada pacote seja associado ao horrio em que foi criado, com a concordncia dos roteadores em descartar qualquer pacote anterior a um determinado horrio. Esse ltimo mtodo exige que os relgios dos roteadores estejam sincronizados, o que no uma tarefa fcil. Um bom mecanismo para estabelecimento de conexes conhecido por three way handshake, e ser estudado adiante, juntamente com o protocolo TCP.

5.2.3 Encerramento de uma Conexo


Encerrar uma conexo mais fcil do que estabelec-la. No entanto, problemas podem ocorrer. O encerramento assimtrico abrupto e pode resultar na perda de dados. Se durante uma conexo o host 1 envia uma TPDU, e o host 2 envia uma primitiva DISCONNECT antes da TPDU chegar, a conexo ser encerrada antes que os dados enviados pelo host 1 cheguem, provocando a perda de dados. Uma estratgia melhor adotar o encerramento simtrico, no qual cada direo da conexo liberada de forma independente. Nesse caso, um host pode continuar a transmitir dados mesmo depois de ter recebido uma TPDU DISCONNECT.

5.3 Exerccios
1) Qual a principal funo da camada de transporte? 2) Cite 3 parmetros que podem ser utilizados para medir a qualidade de servio? 3) Quando devem ser estabelecidos os parmetros de qualidade de servio? 4) Para que servem as primitivas de servio de transporte? Explique uma destas primitivas. 5) O que uma TPDU? Quais os encapsulamentos que ocorrem para que uma TPDU possa ser Redes de Computadores 1 34

enviada fisicamente pela rede? 6) Para a camada de transporte, qual a diferena entre encerramento simtrico e encerramento assimtrico? 7) Para que serve o endereamento no nvel de transporte? 8) Como o protocolo de transporte sabe para qual aplicao entregar uma TPDU recm chegada?

Redes de Computadores 1

35

6. Protocolos para Internet


Na camada de rede, a Internet pode ser vista como um conjunto de sub-redes ou sistemas autnomos conectados entre si. No existe uma estrutura real, mas diversos backbones principais. Conectadas aos backbones esto as redes regionais e, conectadas a essas redes regionais, esto as LANs.
Host 1 Aplicao Host 2 Aplicao Gateway Inter-Rede Interface de Rede Interface de Rede Transporte

Rede 1 G Rede 3

G
G G

Rede 2 G Rede 4

Transporte

Inter-Rede
Interface de Rede

Inter-Rede
Interface de Rede

Rede fsica 1

Rede fsica 2

O elemento que mantm a Internet unida o protocolo de camada de rede IP (Internet Protocol). A tarefa do IP fornecer a melhor forma de transportar datagramas da origem para o destino, independente de essas mquinas estarem na mesma rede ou em outras redes intermedirias. Na Internet, a comunicao funciona da forma descrita a seguir. A camada de transporte recebe os fluxos de dados e os divide em datagramas. Teoricamente, cada datagrama pode ter at 64 Kbytes. Cada datagrama transmitido pela Internet, sendo possivelmente fragmentado em unidades menores durante o percurso at o destino. Quando todos os pedaos chegam mquina destino, eles so remontados pela camada de rede obtendo o datagrama original. Em seguida, esse datagrama entregue camada de transporte, que o insere no fluxo de entrada do processo de recepo.

6.1 O Protocolo IP
Na Internet a camada de rede trata cada pacote de forma independente, no tendo qualquer relao com pacotes anteriores ou posteriores. Pacotes com mesma origem e destino podem, inclusive, passar por diferentes rotas. Datagramas so unidades bsicas de informaes que passam pela Internet. Dentro do datagrama est seu cabealho, que contm informaes sobre sua origem e seu destino, assim como informaes sobre para qual protocolo o IP dever passar os dados. Fragmentos so unidades de dados que foram quebrados em unidades menores. Como os dados precisam caber dentro da poro de dados da rede fsica, pode ser que seja necessrio fragmentar os dados da aplicao para que eles possam ser transportados pela rede. O tamanho do fragmento determinado pelo MTU (Maximum Transfer Unit) da interface de hardware da rede. O IPv4 especifica que a fragmentao ocorre em cada roteador baseado na MTU da interface pela qual o datagrama IP deve passar. Um datagrama IP consiste em duas partes: cabealho e dados. O cabealho tem uma parte fixa de 20 bytes e uma parte opcional de tamanho varivel. O campo Verso controla a verso do protocolo a que o datagrama pertence. O campo IHL informa o tamanho do cabealho em palavras de 32 bits. O valor mnimo 5 e o valor mximo 60.

Redes de Computadores 1

36

32 bits

Verso

IHL

Tipo de servio D M F F

Comprimento total Deslocamento do fragmento Soma de verificao do cabealho

Identificao Tempo de vida (TTL) Protocolo

Endereo origem Endereo destino Opes (0 ou mais palavras de 32 bits)

Dados

O campo Tipo de servio permite que o host informe sub-rede o tipo de rede que deseja. So possveis vrias combinaes de confiabilidade e velocidade. O campo contm (da esquerda para a direita) um campo Precedence de trs bits, trs flags, D, T e R e 2 bits que no so utilizados. O campo Precedence tem uma prioridade de 0 (normal) a 7 (pacote de controle de rede). Os trs flags permitem que o host especifique o que mais importante no conjunto retardo, taxa de transferncia, confiabilidade. O campo Comprimento total informa o tamanho total do datagrama (cabealho e dados). O tamanho mximo de 65.535 bytes. O campo Identificao necessrio para permitir que o host de destino determine a qual datagrama pertence um fragmento recm-chegado. Todos os fragmentos de um datagrama contm o mesmo valor de Identificao. Em seguida, h um bit no utilizado e dois campos de 1 bit: DF e MF. DF (Don't Fragment No Fragmente) informa aos roteadores para no fragmentarem o datagrama. O campo MF (More Fragments - Mais Fragmentos) indica que ainda existem mais fragmentos do datagrama. Todos os fragmentos, exceto o ltimo, tm esse bit marcado. O campo Deslocamento do fragmento informa a que ponto do datagrama atual o fragmento pertence. Todos os fragmentos de um datagrama, com exceo do ltimo, devem ser mltiplos de 8 bytes. Como o campo tem 13 bits, existe um mximo de 8.192 fragmentos por datagrama, resultando em um tamanho mximo de datagrama de 65.536 bytes (um a mais do que o campo Comprimento total). O campo Tempo de vida um contador usado para limitar a vida til do pacote. Esse campo decrementado a cada roteador que passa, permitindo uma vida til mxima de 255. Ele evita que os datagramas fiquem vagando indefinidamente, algo que poderia acontecer se as tabelas de roteamento fossem danificadas. O campo Protocolo informa para qual processo de transporte o datagrama dever ser entregue. O campo Soma de verificao do cabealho confere o cabealho para determinar se ocorreram erros durante sua transmisso. Este campo deve ser recalculado a cada hop, pois o campo Time to live alterado em cada um deles. Os campos Endereo origem e Endereo destino indicam o endereo IP de origem e destino do datagrama. O campo Opes utilizado para permitir que sejam inseridas opes ao protocolo IP que no

Redes de Computadores 1

37

esto contidas no projeto original. O campo Dados carrega os dados destinados mquina destino.

6.1.1 Endereos IP
Na Internet, cada host tem um endereo IP que codifica seu nmero de rede e nmero de host. A combinao exclusiva, duas mquinas nunca tm o mesmo endereo IP. Todos os endereos IP tm 32 bits divididos em 4 campos com 8 bits cada. Cada campo representado por um nmero decimal entre 0 e 255, separados por pontos. Cada endereo IP identifica uma rede e um host nesta rede. Os endereos so divididos em classes, e o nmero total de redes e hosts para cada classe : Classe A: 126 redes com aproximadamente 16 milhes de hosts cada Classe B: 16.384 redes com at 64K hosts cada Classe C: cerca de 2 milhes de redes com at 254 hosts cada Classe D: cerca de 268 milhes de grupos multicast
32 bits Classe Faixa de endereos Rede Rede Rede Host Rede Rede Host Host Rede Host Host Host
1.0.0.0 a 127.255.255.255 128.0.0.0 a 191.255.255.255 192.0.0.0 a 223.255.255.255 224.0.0.0 a 239.255.255.255 240.0.0.0 a 247.255.255.255

A B C D E

Endereo de multicast Reservado para uso futuro

A distribuio de endereos IP controlada pela ICANN (Internet Corporation for Assigned Names and Numbers). O endereo de difuso (broadcast) o endereo utilizado para representar uma difuso por toda a rede, ou seja, que o datagrama enviado simultaneamente para todos os hosts da rede. O endereo de difuso de uma rede IP o endereo cujo campo host representado por todos os bits contendo o valor 1. O endereo de rede o endereo que identifica a rede da qual os hosts fazem parte. O endereo de rede o endereo cujo campo host representado por todos os bits contendo o valor 0. Em uma dada sub-rede, os endereos de rede e difuso no podem ser atribudos a hosts. Qual a classe e os endereos de rede, host e difuso dos endereos IP 10.2.1.1, 128.63.2.100, 201.222.5.64, 192.6.141.2, 130.113.64.16 e 120.241.256.8?

6.1.2 Sub-Redes
O mundo exterior a uma organizao enxerga sua rede como uma rede nica, e nenhuma informao sobre sua estrutura interna necessria. Porm, sem a utilizao de sub-redes, o espao de endereamento pode se tornar muito ineficiente. A fim de tornar mais eficiente a utilizao da rede, comum sua diviso em vrias sub-redes. O mecanismo que permite tal diviso conhecido como mscara de rede. Assim como um endereo IP, uma mscara de rede possui 32 bits dividido em 4 campos com Redes de Computadores 1 38

8 bits cada, seguindo o padro: bits da rede bit 1 bits da sub-rede bit 1 bits do host bit 0 Os bits da sub-rede so utilizados para especificar quais bits no campo do host so usados para especificar as sub-redes de uma rede. A mscara default para cada classe dada por: Classe A B C Decimal 255.0.0.0 255.255.0.0 255.255.255.0 Hexadecimal FF:00:00:00 FF:FF:00:00 FF:FF:FF:00 Binrio 11111111 00000000 00000000 00000000 11111111 11111111 00000000 00000000 11111111 11111111 11111111 00000000
Rede Host

Exemplo:
Endereo IP 168
Rede

23

0
Host

Mscara de rede default

255
Rede

255

0
Sub-rede

0
Host

Mscara de sub-rede de 8 bits

255

255

255

Ao se dividir uma rede em sub-redes deve-se alocar os bits para a sub-rede a partir dos bits de mais alta ordem (bits mais esquerda) do campo do host. A tabela abaixo mostra os valores usados no campo do host quando se divide uma rede em sub-redes. 128 1 1 1 1 1 1 1 1 64 0 1 1 1 1 1 1 1 32 0 0 1 1 1 1 1 1 16 0 0 0 1 1 1 1 1 8 0 0 0 0 1 1 1 1 4 0 0 0 0 0 1 1 1 2 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 128 192 224 240 248 252 254 255

O nmero de uma rede calculado usando o operador lgico E na associao do endereo com sua mscara de rede. Por exemplo: qual o nmero da rede do endereo 175.14.63.9 com mscara 255.255.0.0? E com mscara 255.255.224.0? E com mscara 255.255.255.0? Uma rede pode ser dividida em diversas partes para uso interno, continuando a ser vista como uma nica rede externamente. Essas partes so as sub-redes. Existem diversas razes para se dividir uma rede em sub-redes. Algumas destas razes so: Isolar o trfego de uma sub-rede, reduzindo assim o trfego total da rede. Proteger ou limitar o acesso a uma sub-rede (ser preciso usar um firewall para uma proteo mais eficaz). Permitir a associao de uma sub-rede com um departamento ou espao geogrfico especfico. Adicionando mais um nvel hierrquico estrutura de endereamento IP, possvel a definio de sub-redes. A figura abaixo ilustra tal ideia. Redes de Computadores 1 39

32 bits

10

Rede

Sub-rede

Host

Mscara 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

Suponha que uma organizao receba o endereo classe C 210.150.8.0 e precise de 5 sub-redes com 22 hosts cada. Qual mscara de rede deve ser utilizada?

6.1.3 NAT
Endereos IP so escassos. Uma organizao poderia receber uma rede classe B ou at mesmo classe A, mas nem sempre isto possvel. Esgotar os endereos IP no um problema terico que pode ocorrer em algum momento no futuro distante, ele j est acontecendo. A soluo atual para este problema o NAT (Network Address Translation Traduo de Endereo de Rede), descrito na RFC 3022. A ideia bsica do NAT atribuir a cada organizao uma pequena quantidade de endereos IP para trfego na Internet. Dentro da organizao todo computador obtm um endereo IP exclusivo, usado para roteamento do trfego Interno e, quando um pacote sai da organizao e vai para a Internet, ocorre uma converso do endereo. Para tornar esse esquema possvel, trs intervalos de endereos IP foram declarados como privativos (endereos reservados). As organizaes podem utiliz-los internamente e a nica regra que nenhum pacote contendo esses endereos pode aparecer na prpria Internet. Os trs intervalos reservados so: Faixa 10.0.0.0 a 10.255.255.255 172.16.0.0 a 172.31.255.255 192.168.0.0 a 192.168.255.255 Mscara 255.0.0.0 255.255.0.0 255.255.255.0 Classe A B C

Dentro da organizao toda mquina tem um endereo exclusivo que no vlido na Internet. Quando um pacote deixa a organizao, ele passa por uma caixa NAT que converte o endereo de origem no endereo IP verdadeiro da organizao. Desta forma o pacote poder transitar sem problemas pela Internet. Porm, quando a resposta do pacote voltar, ela voltar para o endereo IP verdadeiro da organizao, no para a mquina que fez tal requisio. Por isso a caixa NAT dever manter uma tabela na qual poder mapear que mquina enviou qual requisio para Internet de forma que quando a resposta voltar ela possa mapear a resposta para a mquina correta.

6.1.4 Protocolos de Controle da Internet


Alm do IP, que usado para a transferncia de dados, a Internet tem diversos protocolos de controle usados na camada de rede, incluindo ICMP, ARP, RARP e BOOTP. 6.1.4.1 ICMP (Internet Control Message Protocol) O ICMP permite aos roteadores enviar mensagens de controle e erros para outros roteadores ou hosts. Quando um erro ocorre na transmisso de um datagrama, o ICMP reporta o erro ao sistema que gerou o datagrama. O ICMP tambm inclui um mecanismo de envio e resposta (echo) para testar quando um destino alcanvel ou no. O comando ping utiliza este protocolo. As mensagens ICMP mais importantes so listadas na tabela abaixo. Cada tipo de mensagem ICMP encapsulada em um pacote IP. O ICMP definido na RFC 792. A mensagem destination unreachable usada quando a sub-rede ou um roteador no pode

Redes de Computadores 1

40

localizar o destino, ou um pacote com o bit DF no pode ser entregue porque h uma rede de pacotes pequenos no caminho. A mensagem time exceeded enviada quando um pacote descartado porque seu contador chegou a zero. Esse evento um sintoma de que os pacotes esto entrando em loop, de que h congestionamento ou de que esto sendo definidos valores muito baixos para o temporizador. A mensagem parameter problem indica que um valor invlido foi detectado em um campo de cabealho. Essa mensagem indica existncia de um problema no software IP do host transmissor ou no software de um roteador pelo qual o pacote transitou. A mensagem source quench era usada para ajustar os hosts que estivessem enviando pacotes demais. Atualmente o controle de congestionamento da Internet feito, em grande parte, na camada de transporte. A mensagem redirect usada quando um roteador percebe que o pacote pode ter sido incorretamente roteado. Ela usada pelo roteador para informar ao host transmissor a respeito do provvel erro. As mensagens echo request e echo reply so usadas para verificar se um determinado destino est ativo e pode ser ativado. Ao receber a mensagem echo request, o destino deve enviar de volta uma mensagem echo reply. As mensagens timestamp request e timestamp reply so semelhantes ao echo request e ao echo reply, exceto pelo fato de o tempo de chegada da mensagem e o tempo de partida da resposta serem registrados na mensagem de resposta. Esse recurso usado para medir o desempenho da rede. Tipo de mensagem Destination unreachable Time exceeded Parameter problem Source quench Redirect Echo request Echo reply Timestamp request Timestamp reply Descrio Pacote no pode ser entregue Campo time to live chegou a zero Campo de cabealho invlido Pacote regulador Ensinar geografia a um roteador Perguntar a uma mquina se ela est ativa Confirmao de que a mquina est ativa Mesmo que Echo request, mas com timestamp Mesmo que Echo reply, mas com timestamp

6.1.4.2 ARP (Address Resolution Protocol) Embora na Internet cada mquina tenha um ou mais endereos IP, na verdade eles no podem ser usados diretamente para o envio de pacotes, pois o hardware da camada de enlace de dados no entende os endereos Internet. Quando o host 1 necessita enviar uma mensagem ao host 2, o software da camada superior do host 1 constri um pacote com o IP do host 2 no campo destination address e o fornece para o software IP que dever transmiti-lo. O software IP poder examinar o endereo e constatar que o destino est em sua prpria rede, mas ele precisa de uma forma de encontrar o endereo de enlace da mquina de destino. Ter uma tabela com a associao de todos os endereos IP com seus respectivos endereos de enlace resolveria o problema, mas seria uma tarefa difcil manter tal tabela atualizada em todos os hosts. Uma soluo melhor o host 1 enviar um pacote de difuso perguntando: A quem pertence o endereo IP A.B.C.D?. Ento o host 2 responder com seu endereo de enlace. O protocolo que faz essa pergunta e obtm a resposta chamado de ARP (Address Resolution Protocol). Ele Redes de Computadores 1 41

definido na RFC 826. Nesse ponto, o software IP do host 1 constri um quadro de enlace endereado ao host 2, coloca o pacote IP no campo de carga til e o envia. A placa de rede do host 2 detecta esse quadro, reconhece-o como um quadro destinado a ela, recolhe-o e causa uma interrupo. O software de enlace extrai o pacote IP da carga til e o passa para o software IP, que verifica se ele est corretamente endereado e o processa. So possveis vrias otimizaes para tornar o ARP mais eficaz. Em primeiro lugar, depois que uma mquina executa o ARP, ela armazena o resultado em um cache. Em muitos casos, o host 2 precisar enviar uma resposta, o que forar tambm a execuo do ARP para determinar o endereo de enlace do transmissor. Essa difuso do ARP pode ser evitada fazendo-se com que o host 1 inclua seu IP no mapeamento de enlace do pacote ARP. Quando a difuso do ARP chega no host 2, seu endereo inserido no cache ARP do host 2 para um uso futuro. Na realidade, todas as mquinas podem inserir esse mapeamento em seus caches ARP. Outra otimizao fazer com que cada mquina difunda seu mapeamento ao ser reinicializada. Essa difuso , em geral, feita quando um ARP procura seu prprio endereo IP. No dever haver uma resposta, mas um efeito colateral da difuso em que so feitas entradas no cache ARP de todas as mquinas. Se uma resposta chegar, significa que o mesmo endereo IP foi atribudo a duas mquinas. A nova mquina deve informar esse fato ao gerenciador do sistema e no poder ser reinicializada. Se o host 1 deseja enviar um pacote para o host 3, que se encontra em uma outra rede, o uso do ARP apresentar problemas. A soluo fazer com que o host 1 veja que o destino est em uma rede remota e envie todo o trfego para um endereo de enlace padro que trate do trfego remoto (endereo do roteador). O host 1 coloca o pacote IP (com o endereo IP do host 3) no campo de carga til de um quadro de enlace endereado ao roteador. Quando obtm o quadro de enlace, o roteador remove o pacote IP do campo de carga til e procura o endereo IP nas tabelas de roteamento. 6.1.4.3 RARP (Reverse Address Resolution Protocol) O ARP resolve o problema de encontrar um endereo de enlace que corresponda a um determinado endereo IP. s vezes, necessrio resolver o problema inverso. Isso ocorre especificamente quando uma estao de trabalho sem disco reinicializada. O RARP permite que um host recm inicializado transmita seu endereo de enlace por difuso e pergunte qual o seu endereo IP. O servidor RARP detecta essa solicitao e envia de volta o endereo IP correspondente. 6.1.4.4 BOOTP (BOOTstrap Protocol) Uma desvantagem do RARP que as difuses no so encaminhadas pelos roteadores. Portanto, necessrio um servidor RARP em cada rede. Para resolver esse problema, foi inventado um protocolo alternativo chamado BOOTP. Ao contrrio do RARP, o BOOTP usa mensagens UDP, que so enviadas pelos roteadores. O BOOTP tambm fornece informaes adicionais para as estaes de trabalho sem disco, tais como o endereo IP do servidor de arquivos que mantm a imagem da memria, o endereo IP do roteador padro e a mscara de sub-rede a ser utilizada. Para um computador enviar o BOOTP em um datagrama IP antes de saber seu endereo IP ele utiliza como endereo de destino o endereo IP 255.255.255.255, especificando uma difuso limitada. Um programa aplicativo pode utilizar o endereo IP de difuso limitada para obrigar o IP a difundir um datagrama na rede local, antes que o IP descubra seu endereo IP da rede local ou do equipamento. Redes de Computadores 1 42

Para o servidor BOOTP enviar uma resposta ele precisa utilizar o endereo de difuso limitada, mesmo sabendo o endereo IP de A. Se servidor BOOTP tentasse enviar um datagrama utilizando o endereo IP do solicitante ele deveria mapear o endereo IP para um endereo correspondente de hardware utilizando o ARP. Entretanto, por no ter ainda recebido a resposta, o solicitante no tem como confirmar seu endereo IP. O BOOTP delega ao cliente toda a responsabilidade por uma comunicao segura. Para solucionar o problema de perda de datagrama, o BOOTP utiliza uma tcnica convencional de timeout e retransmisso. Quando o cliente transmite uma solicitao, aciona um temporizador. No chegando qualquer resposta antes de o temporizador expirar, o cliente deve retransmitir a solicitao. Para evitar colises, a especificao do BOOTP recomenda o uso de uma espera aleatria. 6.1.4.5 DHCP (Dynamic Host Configuration Protocol) Assim como o RARP, o BOOTP foi projetado para um ambiente relativamente esttico onde cada host possui uma conexo de rede permanente. Um gerenciador cria um arquivo de configuraes para cada host. O arquivo no se altera com frequncia, pois a configurao continua estvel, e geralmente ela permanece assim durante semanas. A atribuio do parmetro esttico funciona bem se os computadores permanecerem em locais fixos e um gerenciador possuir uma quantidade suficiente de endereos IP para atribuir um nico endereo IP a cada computador. Entretanto, no caso dos computadores que so frequentemente deslocados, ou quando o nmero de computadores fsicos exceder o nmero de endereos IP disponveis, a atribuio esttica provoca um overhead excessivo. Para administrar a atribuio de endereos automatizada, a IETF desenvolveu um novo protocolo, conhecido como DHCP. Para utilizar o mecanismo de alocao de endereos dinmico do DHCP o administrador do sistema deve configurar um servidor DHCP fornecendo um grupo de endereos IP. Sempre que um novo computador se conecta rede, entra em contato com o servidor e solicita um endereo. O servidor opta por um dos endereos especificados pelo administrador e aloca tal endereo para o computador. De modo geral, o DHCP permite trs tipos de atribuio de endereos: Configurao manual, em que o administrador pode configurar determinado endereo para determinado computador. Configurao automtica, na qual o administrador permite que um servidor DHCP atribua um endereo permanente quando um computador se conectar pela primeira vez rede. Configurao dinmica em que um servidor empresta um endereo a um computador, por um tempo limitado. Suponha que um usurio conecte um computador a uma rede e utilize o DHCP para adquirir um endereo IP para ler o correio eletrnico. O DHCP define a durao do perodo mnimo de alocao. Se aps obter um endereo IP o usurio descobrir que nenhuma mensagem de correio eletrnico est aguardando leitura, ele poder optar por desligar o computador. Quando no precisa mais da alocao, o DHCP permite que um cliente a encerre sem esperar que o prazo da validade termine. O trmino precoce importante sobretudo se o nmero de endereos IP disponveis for bastante inferior ao nmero de computadores conectados rede. Se cada cliente encerrar a alocao to logo o endereo IP deixe de ser necessrio, o servidor poder atribuir o endereo a outro cliente. Ao adquirir um endereo, um cliente DHCP configura trs temporizadores que controlam a renovao, a revinculao e o fim da alocao. Um servidor DHCP pode especificar os valores explcitos para os temporizadores quando aloca um endereo a um cliente, caso contrrio o cliente utiliza o default (o valor default para o primeiro temporizador a metade do valor do tempo total da Redes de Computadores 1 43

alocao). Quando o temporizador ultrapassar o tempo determinado pela primeira vez, o cliente dever tentar renovar a alocao.

6.1.5 Multicast IP
Normalmente, as comunicaes IP so feitas entre um transmissor e um receptor. Entretanto, para algumas aplicaes interessante que um processo seja capaz de transmitir dados para um grande nmero de receptores simultaneamente. O multicast IP permite a transmisso de um datagrama IP a um conjunto de hosts que formam um nico grupo de multicast. possvel que os membros de um grupo sejam dispersados atravs de redes fsicas separadas. O multicast IP usa a mesma transmisso utilizada por outra transmisso de datagrama IP, o que significa que os datagramas multicast podem ser perdidos, retardados, duplicados ou entregues com defeito. A participao em um grupo multicast IP dinmica. Um host pode se juntar ou deixar um grupo a qualquer momento, podendo ser um membro de um nmero arbitrrio de grupos multicast. Um host pode enviar datagramas a um grupo multicast sem ser um membro. Cada grupo multicast tem um nico endereo multicast (classe D). Alguns endereos multicast IP so permanentes e correspondem a grupos que sempre existem, ainda que atualmente no possuam membros. Outros endereos multicast esto disponveis para uso temporrio (criados quando necessrios e descartados quando o nmero de membros chegar a zero). Roteadores multicast especiais enviam datagramas multicast. Entretanto os hosts no precisam conhecer claramente o roteador. O host transmite datagramas multicast usando a capacidade de multicast da rede local. Se um roteador multicast estiver presente, ele receber o datagrama e o remeter s outras redes, quando necessrio. O multicast IP usa o endereo de destino do datagrama para especificar a entrega multicast, usando endereos classe D (figura abaixo). 1110 Identificao de grupo 239.255.255.255
224.0.0.0 a

Os primeiros quatro bits contm 1110 e identificam o endereo como um multicast. Os 28 bits restantes especificam determinado grupo multicast, podendo haver mais de 250 milhes de grupos. No h qualquer estrutura adicional nos bits de grupo. O campo de grupo no identifica a origem de grupo nem contm um endereo de rede, como os endereos de classe A, B e C. O endereo 224.0.0.0 reservado (no pode ser atribudo a nenhum grupo). O endereo 224.0.0.1 permanentemente atribudo ao grupo todos os hosts, que inclui todos os hosts e roteadores participantes de multicast IP. Em geral o endereo de grupo de todos os hosts usado para atingir todas as mquinas que participam do multicast IP de uma rede local. No existe endereo multicast IP que se refira a todos os hosts da interligao em redes. Os endereos multicast IP podem ser usados apenas como endereos de destino. No podem jamais aparecer no campo de endereo de origem de um datagrama. Para permitir que uma mquina envie multicast o software IP deve permitir ao programa aplicativo especificar um endereo multicast como um endereo IP de destino, e o software de interface de rede deve ser capaz de mapear o endereo multicast IP no endereo multicast de hardware correspondente (ou usar difuso se o hardware no aceitar multicast). Para estender o software de host para receber datagramas multicast IP, o software IP do host deve ter uma interface que permita que um programa aplicativo declare que o host deseja se juntar ou deixar determinado grupo multicast. Se diversos programas aplicativos se juntarem ao mesmo Redes de Computadores 1 44

grupo, o software IP dever passar a cada um deles uma cpia dos datagramas que chegaram destinados quele grupo. Se todos os programas aplicativos deixarem o grupo o host no participar mais do grupo. Antes que um roteador multicast possa propagar informaes de participao de multicast, deve determinar se um ou mais hosts da rede local decidiram se juntar a um grupo multicast. Para que isso acontea, roteadores e hosts que implementam o multicast devem usar o IGMP (Internet Group Management Protocol) para transmitir informaes de participao de grupo. O IGMP tem duas fases: 1. Quando um host junta-se a um novo grupo multicast, envia uma mensagem IGMP para o endereo multicast todos os hosts declarando sua participao. Os roteadores multicast locais recebem a mensagem e estabelecem o roteamento necessrio, difundindo as informaes de participao no grupo a outros roteadores multicast, atravs de toda a interligao em redes. 2. Visto que a participao dinmica, os roteadores multicast locais periodicamente buscam os hosts na rede local para determinar quais permanecem membros de quais grupos. Se nenhum host relata sua participao em um grupo aps diversas buscas, o roteador multicast admite que nenhum host da rede permanece naquele grupo e deixa de comunicar a participao de grupo a outros roteadores multicast. O padro no especifica exatamente como so atribudos a grupos de mquinas os endereos multicast, mas sugere diversas possibilidades. Por exemplo, se o sistema operacional local atribui um identificador inteiro a um conjunto de processos ou a um conjunto de aplicativos, aquele identificador pode ser usado para formar um endereo multicast IP. Naturalmente, possvel que um administrador de rede atribua endereos manualmente. Uma outra possibilidade permitir que uma mquina forme aleatoriamente endereos multicast, at que descubra um que no esteja em uso. O roteamento multicast feito com base em uma spanning tree. Cada roteador troca informaes com seus vizinhos usando um protocolo de vetor de distncia, construindo uma spanning tree que abrange todos os membros de um grupo.

6.2 Protocolos de Transporte da Internet


O objetivo da camada de transporte transportar dados entre aplicaes, oferecendo uma comunicao fim a fim confivel. A camada de transporte prov um servio de transporte definido pela aplicao. Seu cabealho inclui um nmero de porta destino que identifica uma aplicao na mquina destino e um nmero de porta origem que identifica uma aplicao na mquina origem. A camada de transporte divide o fluxo de dados a ser transmitido em partes menores e passa estas partes para a camada de rede, que as envia camada de transporte destino a fim de que o fluxo de dados seja remontado. A camada de transporte tambm lida com problemas de deteco e recuperao de erros. A Internet tem dois protocolos principais na camada de transporte, um operando no modo orientado conexo (TCP) e outro sem conexo (UDP). O UDP basicamente o IP com um pequeno cabealho.

6.2.1 TCP (Transmission Control Protocol)


O TCP um protocolo orientado a conexo indicado para aplicaes que trocam grande quantidade de dados atravs de mltiplos roteadores. Redes de Computadores 1 45

O TCP foi projetado para oferecer um fluxo de bytes fim a fim confivel em uma inter-rede no confivel. As partes de uma inter-rede podem ter topologias, larguras de banda, retardos, tamanhos de pacote e outros parmetros diferentes. O TCP foi projetado para se adaptar dinamicamente s propriedades da inter-rede e para ser robusto diante dos muitos tipos de falhas que podem ocorrer. Cada mquina compatvel com o TCP tem uma entidade de transporte que gerencia fluxos e interfaces TCP para a camada IP. Uma entidade TCP aceita fluxos de dados do usurio, divide-os em partes de no mximo 64 Kbytes e envia cada parte em um datagrama IP distinto. Quando os datagramas IP que contm dados TCP chegam a uma mquina, eles so enviados entidade TCP, que restaura os fluxos originais. A camada IP no oferece qualquer garantia de que os datagramas sero entregues da forma apropriada. Portanto, cabe ao TCP administrar os temporizadores e retransmiti-los sempre que necessrio. Os datagramas tambm podem chegar fora de ordem, cabendo ao TCP reorganiz-los em mensagens na sequncia correta. O TCP deve fornecer a confiabilidade que o IP no oferece. 6.2.1.1 O Modelo de Servio TCP O servio TCP obtido quando tanto o transmissor quanto o receptor criam pontos terminais, denominados portas. Porta o nome de um nmero de 16 bits usado pelo TCP para um TSAP. Para que o servio TCP funcione, necessrio que uma conexo seja explicitamente estabelecida entre uma mquina transmissora e uma mquina receptora. As portas com nmeros abaixo de 1024 so denominadas portas conhecidas e so reservadas para servios padro. A RFC 3232 define um repositrio on-line onde podem ser consultadas as portas conhecidas. Todas as conexes TCP so full-duplex e ponto a ponto. Do ponto de vista da aplicao a conexo consiste em 2 fluxos independentes de direes opostas. Uma conexo TCP um fluxo de dados e no um fluxo de mensagens. As fronteiras das mensagens no so preservadas de uma extremidade outra. Quando uma aplicao passa dados para a entidade TCP, ela pode envi-los imediatamente ou armazen-los em um de buffer de acordo com suas necessidades (para aguardar outros dados e enviar um volume maior de uma s vez, por exemplo). Quando a aplicao necessita que os dados sejam enviados imediatamente, existem formas de program-las de forma a descarregar o buffer no momento apropriado. 6.2.1.2 O protocolo TCP As entidades TCP transmissoras e receptoras trocam dados na forma de segmentos. Um segmento consiste em um cabealho fixo de 20 bytes mais uma parte opcional, seguido de zero ou mais bytes de dados. O software TCP decide qual deve ser o tamanho dos segmentos, podendo acumular dados de vrias escritas em um nico segmento ou dividir os dados de uma nica escrita em vrios segmentos. Cada segmento deve caber na carga til do IP. Ainda, cada rede tem uma MTU (Maximum Transfer Unit), e cada segmento deve caber nesta MTU. O protocolo bsico utilizado pelas entidades TCP o protocolo de janela deslizante. Quando envia um segmento, o transmissor dispara um temporizador. Quando o segmento chega ao destino, a entidade TCP receptora retorna um segmento (com ou sem dados, de acordo com as circunstncias) com um nmero de confirmao igual ao prximo nmero de sequncia que espera receber. Se o temporizador do transmissor expirar antes de a confirmao ser recebida, o segmento ser retransmitido.

Redes de Computadores 1

46

6.2.1.3 O Cabealho de Segmento TCP A figura abaixo mostra um exemplo de segmento TCP. Cada segmento comea com um cabealho de formato fixo de 20 bytes. O cabealho fixo pode ser seguido por opes de cabealho. Depois das opes pode haver 65.515 bytes de dados. Os segmentos sem dados so vlidos e em geral so utilizados para confirmaes e mensagens de controle.

Os campos porta origem e porta destino identificam os pontos terminais locais da conexo, ou seja, uma aplicao. Uma porta e o endereo IP do host formam um TSAP nico de 48 bits. O campo nmero de sequncia indica o nmero de sequncia do segmento. Ele indica em que posio (byte) dos dados o segmento deve ser colocado. O campo nmero de confirmao especifica o prximo byte aguardado. O canpo HLEN (header length tamanho do cabealho) informa quantas palavras de 32 bits existem no cabealho TCP. Segue a ele um campo de 6 bits que no utilizado. O TCP tem seis flags de 1 bit. O flag URG (urgent pointer ponteiro urgente) usado para indicar dados urgentes. O flag ACK usado para indicar que nmero de confirmao contm uma confirmao. O flag PSH uma solicitao ao receptor para entregar os dados aplicao mediante sua chegada, em vez de armazen-los em um buffer. O flag RST utilizado para reinicializar uma conexo que tenha ficado confusa devido a uma falha. Ele tambm usado para rejeitar um segmento invlido ou para recusar uma tentativa de conexo. O flag SYN usado para estabelecer conexes. A solicitao de conexo tem SYN = 1 e ACK = 0. A resposta contm uma confirmao (SYN = 1 e ACK = 1). O flag FIN utilizado para encerrar uma conexo. O controle de fluxo no TCP gerenciado por meio de uma janela deslizante de tamanho varivel. O campo tamanho da janela indica quantos bytes podem ser enviados a partir do byte confirmado. O campo soma de verificao utilizado para aumentar a confiabilidade. Ele confere a soma de verificao tanto do cabealho quanto dos dados. O campo opes foi projetado como uma forma de oferecer recursos extras, ou seja, recursos que no foram previstos pelo cabealho comum. 6.2.1.4 Gerenciamento de Conexo TCP As conexes estabelecidas no TCP utilizam o three way handshake. Para estabelecer uma conexo, um lado aguarda passivamente. O outro lado solicita uma conexo especificando o endereo IP e a porta a que deseja se conectar. enviado um segmento TCP com o bit SYN ativado e o bit ACK desativado. Quando esse segmento chega ao destino, a entidade TCP do destino verifica se existe um Redes de Computadores 1 47

processo aguardando na porta destino. Se no existir, ela enviar uma resposta com o bit RST ativado para rejeitar a conexo. Se algum processo estiver na escuta da porta a ele ser entregue o segmento TCP recebido. Em seguida ele poder aceitar ou rejeitar a conexo. Se o processo aceitar, um segmento de confirmao ser retornado. A figura abaixo ilustra a conexo entre dois hosts.
Host 1
SYN (s eq=x) +1) ack=x eq=y, SYN (s (seq=x +1, ac k=y+1 )

Host 2

Host 1
SYN (s eq=x) eq=y) SYN (s

Host 2

+1) ack=x eq=y, SYN (s SYN (s eq=x+ 1, ack =y+1)

Para encerrar uma conexo, qualquer dos lados pode enviar um segmento com o bit FIN ativado, o que significa que no h mais dados a serem transmitidos. Quando o FIN confirmado, aquela direo da conexo desativada. No entanto, os dados podem continuar a fluir na outra direo. Quando as duas direes da conexo estiverem desativadas, a conexo ser encerrada. 6.2.1.5 Poltica de Transmisso TCP O gerenciamento de janelas no TCP no diretamente ligado s confirmaes. Supondo que o receptor tenha um buffer de 4.096 bytes e que o transmissor envie um segmento de 1.024 bytes, que recebido corretamente, o receptor ir confirmar o segmento. Como agora ele s tem 3.072 bytes de espao disponvel em seu buffer, o receptor anunciar uma janela de 3.072 bytes. Se o transmissor enviar outros 3.072 bytes, e se nenhum aplicativo retirou os dados anteriores do buffer o, segmento confirmado e a janela anunciada 0. O transmissor dever parar de enviar at o processo de aplicao no host receptor remover alguns dados do buffer, quando ento poder ser anunciada uma janela maior.
Transmissor
Aplicao escreve 1KB

Receptor
Buffer do receptor
0
0

VAZIO

4k
4k

1K

Aplicao escreve 4KB Transmissor impedido de transmitir

CHEIO

4k

Transmissor pode enviar at 2KB

2K 2K 1K

4k 4k

Aplicao l 2KB

Quando a janela anunciada como 0, o transmissor no pode enviar segmentos da forma como o faria sob condies normais, mas h duas excees. Na primeira, os dados urgentes podem ser enviados para, por exemplo, permitir que o usurio elimine o processo executado na mquina remota. Na segunda, o transmissor pode enviar um segmento de 1 byte para fazer com que o receptor anuncie novamente o prximo byte aguardado e o tamanho da janela. O TCP oferece essa opo de forma explcita para evitar um impasse no caso de um anncio de janela se perder. Os transmissores no so obrigados a enviar os dados assim que os recebem das aplicaes. Nem os receptores tm a obrigao de enviar as confirmaes imediatamente. Essa liberdade pode Redes de Computadores 1 48

ser explorada para melhorar o desempenho das conexes, evitando o envio de pacotes muito pequenos. Mas esta funcionalidade no muito boa para aplicaes que requerem grande interatividade como, por exemplo, uma conexo Telnet. Uma abordagem usada para otimizar essa situao retardar as confirmaes e atualizaes da janela durante 500 ms na esperana de encontrar algum dado que lhes d uma carona. Assumindo que o editor ecoe dentro de 500 ms, apenas um pacote precisar ser retomado ao usurio remoto, diminuindo a carga na rede. Embora essa regra reduza a carga imposta rede pelo receptor, o transmissor ainda estar operando de modo ineficaz. Uma forma de reduzir esse uso conhecido como o algoritmo de Nagle. Quando os dados chegam ao transmissor em um byte por vez, ele envia somente o primeiro byte e armazena todos os outros at que o byte pendente tenha sido confirmado. Em seguida, envia todos os dados armazenados em nico segmento TCP e comea a armazenar outra vez. O algoritmo permite ainda que um novo pacote seja enviado se houver dados suficientes para preencher metade da janela ou um segmento mximo. Outro problema para o receptor o que fazer com os segmentos fora de ordem. Eles podem ser mantidos ou descartados, a critrio do receptor. As confirmaes s podem ser enviadas quando todos os dados at o byte confirmado tenham sido recebidos. Se o receptor receber os segmentos 0, 1, 2, 4, 5, 6 e 7, ele poder confirmar tudo at o ltimo byte do segmento 2, inclusive. Quando o transmissor sofrer um timeout, ele retransmitir o segmento 3. Se o receptor tiver armazenado os segmentos 4 a 7, ele poder, quando receber o segmento 3, confirmar todos os bytes at o fim do segmento 7.

6.2.2 UDP (User Datagram Protocol)


O UDP oferece uma forma para aplicaes enviarem datagramas IP sem que seja necessrio estabelecer uma conexo. um protocolo sem estado e no orientado conexo, projetado para pequenas transmisses de dados e para dados que no necessitam de um mecanismo de transporte confivel. O UDP descrito na RFC 768. No UDP os pacotes podem se perder, serem duplicados ou entregues fora de ordem. A aplicao que usa o UDP deve ser responsvel pela confiabilidade e pelo controle de fluxo. Um segmento UDP consiste em um cabealho de 8 bytes seguido dos dados. O cabealho mostrado na figura abaixo. Os campos Source port e Destination port tm a mesma funo no TCP: identificar os pontos finais nas mquinas de origem e destino. O campo UDP length especifica o tamanho do segmento, incluindo o cabealho. UDP checksum tm a mesma funo que o campo de checksum do TCP. O UDP d aplicao acesso direto camada IP, definindo apenas os nmeros de porta origem e destino.
32 bits

Source port UDP length

Destination port UDP checksum

6.2.3 Exemplos de Portas Conhecidas


Uma aplicao TCP ou UDP identificada pelo seu endereo de nvel de transporte, ou seja, pela sua porta (um nmero inteiro de 16 bits). Para que um pacote chegue aplicao de destino necessrio que o transmissor saiba, de alguma forma, em que porta a aplicao est esperando a chegada do pacote. Para facilitar o Redes de Computadores 1 49

trabalho do transmissor, algumas aplicaes esperam seus pacotes sempre em uma mesma porta, conhecida por porta conhecida da aplicao. Porta 7 20 21 22 23 25 53 69 70 79 80 88 110 119 161 162 443 Aplicao echo ftp-data ftp ssh telnet smtp domain tftp gopher finger http kerberos pop-3 nntp snmp snmp-trap https

6.3 Aplicaes
6.3.1 DNS (Domain Name System)
Raramente os programas fazem referncia a hosts utilizando seus endereos binrios de rede. Em vez de nmeros, eles utilizam nomes. Todavia, a rede em si s compreende endereos binrios. Portanto, necessrio algum tipo de mecanismo para converter nomes em endereos de rede. A essncia do DNS a atribuio de nomes de forma hierrquica, baseada em domnios. Para mapear um nome em um endereo IP, um programa aplicativo chama um procedimento de biblioteca denominado resolver e passa o nome para ele como um parmetro. O resolver envia um pacote UDP para um servidor DNS local, que procura o nome e retorna o endereo IP para o resolver. Em seguida, o resolver retorna o endereo IP para o aplicativo que fez a chamada. 6.3.1.1 Espao de Nomes do DNS A Internet dividida em domnios de primeiro nvel. Os domnios so particionados em subdomnios, que tambm so particionados, e assim por diante. Todos esses domnios podem ser representados por uma rvore, como mostra a figura abaixo. As folhas da rvore representam domnios que no tm subdomnios (contm apenas mquinas).
Genrico Pases

int com sun

edu yale

gov

mil

org

net

jp ac co

us

nl

...

acm ieee jack jill

oce vu cs flits fluit

eng cs eng ai robot linda

keio nec cs csl pc24

Os domnios de primeiro nvel tm dois tipos: genricos e de pases. Os domnios genricos so com (comercial), edu (instituies educacionais), gov (governo federal norte-americano), int Redes de Computadores 1 50

(algumas organizaes internacionais), net (provedores de rede), mil (foras armadas dos Estados Unidos) e org (organizaes sem fins lucrativos). Os domnios de pases incluem uma entrada para cada pas. Cada domnio tem seu nome definido pelo caminho entre ele e a raiz. Esses componentes so separados por pontos. Dessa forma, o departamento de engenharia da Sun Microsystems poderia ser eng.sun.com. Os nomes de domnio no fazem distino entre letras maisculas e minsculas. EDU e edu so a mesma coisa. Os nomes de componentes podem ter at 63 caracteres e os nomes de caminhos completos no podem exceder 255 caracteres. Cada domnio controla como sero alocados todos os domnios que esto abaixo dele. Para que um novo domnio seja criado, necessria a permisso do domnio no qual ele ser includo. Dessa forma, os conflitos de nomes so evitados e cada domnio pode controlar seus subdomnios. Uma vez que um novo domnio tenha sido criado e registrado, ele poder criar subdomnios, sem que seja necessrio ter permisso de algum que esteja em um nvel mais alto da rvore. A atribuio de nomes leva em considerao as fronteiras organizacionais, e no as redes fsicas. 6.3.1.2 Servidores de Nomes Para evitar os problemas associados presena de uma nica fonte de informaes, o espao de nomes do DNS dividido em zonas independentes. Normalmente, uma zona ter um servidor de nomes principal, que obtm suas informaes a partir de um arquivo contido em sua unidade de disco e um ou mais servidores de nomes secundrios, que obtm suas informaes a partir do servidor de nomes principal. A localizao das fronteiras de uma zona fica a cargo de seu administrador. Quando um resolver tem uma consulta sobre um nome de domnio, ele a envia para um dos servidores de nomes locais. Se o domnio que estiver sendo procurado estiver sob a jurisdio do servidor de nomes, sero retornados os registros de recurso oficiais. Um registro oficial aquele que fornecido pela autoridade que gerencia o registro. Os registros mantidos em cache, ao contrrio dos registros oficiais, podem estar desatualizados. Se, no entanto, o domnio for remoto e localmente no houver informaes disponveis sobre ele, o servidor de nomes enviar uma mensagem de consulta para o servidor de nomes de primeiro nvel, fazendo perguntas sobre o domnio solicitado. Esta pergunta segue de servidor em servidor at que uma resposta seja obtida. O mtodo de consulta descrito conhecido como uma consulta recursiva, pois cada servidor que no tiver as informaes solicitadas poder encontr-las em algum lugar e informar o que encontrou. O servidor DNS aguarda conexes escutando a porta 53.

6.3.2 Telnet
O Telnet um protocolo simples de terminal remoto que permite que um usurio em determinado site estabelea uma conexo TCP com um servidor situado em outro site. O Telnet transmite os toques no teclado do usurio diretamente ao computador remoto, como se estivessem sendo digitados no teclado conectado mquina remota. Esse terminal tambm retorna a sada da mquina remota at a tela do usurio. O servio faz com que o teclado e o monitor do usurio paream estar conectados diretamente mquina remota. O Telnet define um terminal virtual padro para sistemas remotos. Os programas clientes no

Redes de Computadores 1

51

precisam entender os detalhes de todos os sistemas remotos possveis; eles so projetados para usar a interface padro. O Telnet trata ambas as pontas da conexo de forma simtrica. Em particular, o Telnet no obriga a entrada do cliente via teclado, nem obriga o cliente a ter a sada indicada na tela. Dessa forma, o Telnet permite que um programa arbitrrio torne-se um cliente. O servidor Telnet aguarda conexes escutando a porta 23.

6.3.3 FTP (File Transfer Protocol)


Com um protocolo de transporte fim a fim confivel, como o TCP, a transferncia de arquivos pode parecer trivial. No entanto os detalhes da autorizao, denominao e representao entre mquinas heterogneas fazem com que o protocolo se torne complexo. Alm disso, o FTP oferece muitas vantagens alm da funo de transferncia propriamente dita: Acesso interativo: Apesar do TCP ser projetado para uso por programas, muitas implementaes fornecem uma interface interativa que permite que as pessoas interajam facilmente com servidores remotos. Especificao de formato (representao): O FTP permite que o cliente especifique o tipo e o formato dos dados armazenados. Por exemplo, o usurio pode determinar se um arquivo contm texto ou nmeros inteiros binrios e se os arquivos de textos usam os conjuntos de caracteres ASCII ou EBCDIC. Controle de autenticao: O FTP requer que os clientes se identifiquem enviando um nome de login e a senha ao servidor antes de requisitar a transferncia de arquivos. A maioria das implementaes de servidor FTP permite o acesso simultneo de vrios clientes. Os clientes usam o TCP para se conectar a um processo servidor nico que aguarda conexes e cria um processo escravo para tratar cada conexo. O processo escravo no realiza toda a computao necessria. Ao contrrio, o escravo aceita e trata a conexo de controle do cliente, mas usa um processo ou processos adicionais para tratar uma conexo de transferncia de dados parte. A conexo de controle transporta comandos que informam ao servidor qual arquivo transferir. A conexo de transferncia de dados, que tambm usa o TCP como protocolo de transferncia, transporta todas as transferncias de dados. As conexes de transferncia de dados e os processos de transferncia de dados que as utilizam podem ser criados dinamicamente, quando necessrio, mas a conexo de controle persiste atravs de uma sesso. Uma vez que a conexo de controle desaparece, a sesso finalizada e o software de ambas as extremidades encerra todos os processos de transferncia de dados. Quando um cliente forma uma conexo inicial com um servidor, o cliente usa um nmero de porta aleatrio atribudo localmente, mas que contata o servidor pela porta 21. Para uma transferncia de dados o cliente obtm uma porta no utilizada em sua mquina e a usa para conectar o processo de transferncia de dados da mquina do servidor. Esse processo usa a porta 20, reservada para a transferncia de dados FTP. O FTP usa o protocolo Telnet para a conexo de controle.

6.3.4 SSH (Secure Shell)


O SSH um protocolo que permite a conexo com outro computador na rede, de forma a executar comandos de uma unidade remota. Possui as mesmas funcionalidades do Telnet e do FTP com a vantagem da conexo entre o cliente e o servidor ser criptografada. Tambm muito utilizado para a criao de tneis a fim de redirecionar pacotes de dados entre aplicaes. Tal tcnica conhecida como tunneling.

Redes de Computadores 1

52

6.3.5 Correio Eletrnico


Os primeiros sistemas de correio eletrnico, ou e-mail, eram simplesmente formados por protocolos de transferncia de arquivos, com a conveno de que a primeira linha de cada mensagem (arquivo) contivesse o endereo do destinatrio. Com o passar do tempo, as limitaes dessa estratgia se tornaram mais bvias: O envio de uma mensagem para um grupo de pessoas no era conveniente. As mensagens no tinham estrutura interna, dificultando seu processamento. O remetente nunca sabia se uma mensagem havia chegado ou no. No era possvel enviar mensagens com mistura de texto com multimdia.

Em 1982, as propostas de sistemas de correio eletrnico da ARPANET foram publicadas como a RFC 821 (protocolo de transmisso) e a RFC 822 (formato de mensagem). Desde ento, essas RFCs se tornaram os padres na Internet. 6.3.5.1 Arquitetura e Servios Os sistemas de correio eletrnico costumam ser divididos em dois subsistemas: os agentes usurios (user agents), que permitem que usurios leiam e enviem mensagens, e os agentes de transferncia de mensagens (message transfer agents), que deslocam as mensagens da origem para o destino. Os agentes usurios so programas locais que permitem a interao com o sistema de correio eletrnico. Normalmente, os agentes de transferncia de mensagens so processos executados em segundo plano e que transportam mensagens de correio eletrnico atravs do sistema. Uma ideia chave em todos os sistemas de correio eletrnico a distino entre o envelope e seu contedo. O envelope encapsula a mensagem, contendo todas as informaes necessrias para o seu transporte. A mensagem dentro do envelope contm duas partes: o cabealho e o corpo. O cabealho contm informaes de controle para os agentes usurios, enquanto o corpo da mensagem interessa somente ao destinatrio. 6.3.5.2 Formatos de Mensagem As mensagens consistem em um envelope primitivo (descrito na RFC 821), em alguns campos de cabealho, em uma linha em branco e no corpo da mensagem. Cada campo de cabealho consiste em uma nica linha de texto ASCII contendo o nome do campo, um sinal de dois pontos e um valor. Os principais campos de cabealho relacionados ao transporte de mensagens, assim como seu significado, so listados na tabela abaixo. Cabealho To: Cc: Bcc: From: Sender: Received: Return-Path: Significado Endereo(s) de correio eletrnico do(s) destinatrio(s) principal(is) Endereo(s) de correio eletrnico do(s) destinatrio(s) secundrio(s) Endereo(s) de correio eletrnico para cpias carbono cegas Pessoa(s) que criou(aram) a mensagem Endereo de correio eletrnico do remetente A linha que includa por cada agente de transferncia durante o percurso Pode ser usada para identificar um caminho de volta ao remetente

Alm dos campos da tabela acima, as mensagens da RFC 822 tambm podem conter uma variedade de campos de cabealho utilizado pelos agentes usurios ou destinatrios. Os mais comuns so listados na tabela abaixo. Redes de Computadores 1 53

Cabealho Date: Reply-To: Message-Id: In-Reply-To: References: Keyword: Subject:

Significado Data e hora em que a mensagem foi enviada Endereo de correio eletrnico para onde as respostas devem ser enviadas O nmero exclusivo que ser usado para referncia posterior Id da mensagem a que essa resposta ser enviada Outras Ids de mensagem relevantes Palavras chave do usurio Assunto das mensagens que apresentado em apenas uma linha

A RFC 822 permite que os usurios inventem novos cabealhos para seu prprio uso, contanto que esses cabealhos comecem com o string X-. Depois dos cabealhos vem o corpo da mensagem, que carregam qualquer coisa que os usurios queiram enviar. No incio da ARPANET, o correio eletrnico consistia em mensagens texto expressas em cdigo ASCII. Para esse ambiente, a RFC 822 definiu tudo o que era preciso. Hoje em dia, na Internet, essa estratgia deixou de ser adequada. Os problemas incluem o envio e o recebimento de mensagens: em idiomas com acentos em alfabetos no latinos (por exemplo, hebraico e russo) em idiomas sem alfabetos (por exemplo, chins e japons) que no contm textos (por exemplo, udio e vdeo)

Uma soluo foi proposta na RFC 1341 e atualizada na RFC 1521. Essa soluo, denominada MIME (Multipurpose Internet Mail Extensions), est sendo amplamente utilizada. A ideia bsica do MIME continuar a usar o formato da RFC 822, mas incluir uma estrutura para o corpo da mensagem e definir regras para mensagens no ASCII. Ao manterem o formato da RFC 822, as mensagens no padro MIME podem ser enviadas atravs da utilizao dos protocolos e programas de correio eletrnico existentes no mercado. S necessrio alterar os programas de envio e recebimento, o que os prprios usurios podem fazer. O MIME define cinco novos cabealhos de mensagem, mostrados na tabela abaixo. Cabealho MIME-Version: Content-Description: Content-Id: Content-Transfer-Encoding: Content-Type: Significado Identifica a verso do MIME String que identifica o contedo da mensagem Identificador exclusivo Como o corpo da mensagem est codificado para transmisso Natureza da mensagem

O campo MIME-Version informa ao agente usurio no s que ele est lidando com uma mensagem MIME, mas tambm a verso que est sendo usada. Qualquer mensagem que no contenha um cabealho MIME-Version uma mensagem em texto simples. O cabealho Content-Description uma string que informa o contedo da mensagem. O cabealho Content-Id identifica o contedo. Ele utiliza o mesmo formato que o cabealho Message-Id padro. Content-Transfer-Encoding informa como o corpo da mensagem est codificado para transmisso atravs de uma rede que possa fazer alguma objeo a caracteres que no sejam letras, nmeros e outros sinais de pontuao. So fornecidos cinco esquemas e uma sada para novos esquemas. O esquema mais simples formado apenas por texto em cdigo. Redes de Computadores 1 54

A maneira de codificar mensagens binrias utilizar a codificao base 64, s vezes chamada de armadura ASCII. Nesse esquema, grupos de 24 bits so divididos em at quatro unidades de 6 bits, com cada unidade sendo enviada como um caractere ASCII vlido. A codificao A para 0, B para 1, e assim por diante, seguida das 26 letras minsculas, dos dez dgitos e finalmente + e / para 62 e 63 respectivamente. As sequncias = = e = so usadas para indicar que o ltimo grupo continha apenas 8 ou 16 bits, respectivamente. as quebras de linha so ignoradas, portanto podem ser inseridos vontade para manter as linhas curtas. Para as mensagens quase que totalmente em ASCII, mas com alguns caracteres no ASCII, a codificao base 64 se mostra um tanto ineficiente. Em seu lugar utilizado um mtodo conhecido como codificao quoted printable. Trata-se apenas de um cdigo ASCII de 7 bits, com todos os caracteres acima de 127 codificados como um sinal de igual seguido do valor do caractere (dois dgitos hexadecimais). Subtipo Plain Text Richtext Gif Image Jpeg Audio Basic Video Mpeg Octet-stream Application PostScript Rfc822 Message Partial External-body Mixed Alternative Multipart Parallel Digest Tipo Descrio Texto sem formatao Texto incluindo comandos simples de formatao Fotografia no formato GIF Fotografia no formato JPEG Som audvel Filme no formato MPEG Uma sequncia de bytes no interpretada Um documento que pode ser impresso em PostScript Uma mensagem no formato MIME RFC 822 A mensagem foi dividida para transmisso A mensagem deve ser obtida atravs da rede Partes independentes na ordem especificada A mesma mensagem em diferentes formatos As partes devem ser vistas simultaneamente Cada parte uma mensagem RFC 822 completa

O cabealho Content-Type especifica a natureza do corpo da mensagem. So definidos sete tipos na RFC 1521, sendo que cada um deles tem mais um ou subtipos (tabela acima). 6.3.5.3 Transferncia de Mensagens Na Internet, as mensagens de correio eletrnico so entregues quando a mquina origem estabelece uma conexo TCP com a porta 25 da mquina destino. Um processo de correio eletrnico que implementa o SMTP (Simple Mail Transfer Protocol) permanece escutando essa porta. Esse processo aceita as conexes recebidas e copia as mensagens nelas contidas para as mailboxes apropriadas. Se uma mensagem no puder ser entregue, um relatrio de erros contendo a primeira parte da mensagem no entregue ser retornada ao remetente. Aps estabelecer a conexo, a mquina de transmisso (cliente) espera que a mquina de recepo (servidor) comunique-se primeiro. O servidor comea por enviar uma linha de texto informando sua identidade e indicando se est ou no preparado para receber mensagens. Caso no esteja, o cliente encerrar a conexo e tentar outra vez mais tarde. Se o servidor estiver pronto para receber mensagens, o cliente anunciar de quem veio a mensagem e para quem ela est indo. Se esse destinatrio existir no destino, o servidor sinalizar para o cliente enviar a mensagem. Em seguida, o cliente enviar a mensagem e o servidor vai confirm-la. Quando todas as mensagens tiverem sido trocadas, a conexo ser encerrada. Segue abaixo um exemplo de conexo para transferncia de uma mensagem de correio Redes de Computadores 1 55

eletrnico simulada atravs de uma conexo Telnet:


telnet smtp.destino.com.br 25 220 Protegido SMTP server helo rayra.inventado.com.br 250 Hello rayra.inventado.com.br, pleased to meet you mail from: <fulano@inventado.com.br> 250 <fulano@inventado.com.br>... Sender ok rcpt to: <fabio@destino.com.br> 250 <cfabio@destino.com.br>... Recipient ok data 354 Please start mail input. subject: Teste de email Primeira linha da mensagem de teste. Segunda linha. Quarta linha. . 250 Mail queued for delivery.

Para a transferncia acima, a seguinte mensagem seria recebida:


Return-Path: <fulano@inventado.com.br> Received: from servidor (root@localhost [127.0.0.1]) by smtp.destino.com.br (8.12.4/8.9.3) with SMTP id i6RDVM1U008056 for <fabio@destino.com.br>; Tue, 27 Jul 2004 10:31:25 -0300 Date: Tue, 27 Jul 2004 10:31:22 -0300 From: fulano@pop.com.br Message-Id: <200407271331.i6RDVM1U008056@smtp.destino.com.br> Received: from 192.168.1.1 ([192.168.1.1] helo=fwall.destino.com.br) by servidor ; 27 Jul 04 13:31:22 -0000 X-Assp-Spam-Prob: 0.00000 subject: Teste de email De: fulano@inventado.com.br Para: fabio@destino.com.br Assunto: Teste de email 3 Data: 27/07/04 13:31 Primeira linha da mensagem de teste. Segunda linha. Quarta linha.

6.3.5.4 Entrega Final Com o advento das pessoas acessando a Internet o modelo proposto pelo SMTP falha, pois provavelmente o receptor da mensagem no estar com seu computador ligado. A soluo fazer um agente de transferncia de mensagens em uma mquina servidora aceitar mensagens de correio eletrnico para seus usurios e armazen-las nas respectivas caixas de correio. Assim as mensagens de correio eletrnico podem ser trocadas a qualquer momento. Para que um usurio possa receber suas mensagens de correio eletrnico foi necessrio criar outro protocolo que permita aos agentes usurios buscarem as mensagens no servidor. A seguir so descritas as principais formas desenvolvidas com esta finalidade. Redes de Computadores 1 56

POP3 O POP3 (Post Office Protocol Version 3) descrito pela RFC 1939. Para o seu funcionamento, ele estabelece uma conexo TCP com o servidor na porta 110. Depois que a conexo estabelecida o protocolo passa por trs estados em sequncia: 1. Autorizao 2. Transaes 3. Atualizao O estado de autorizao lida com o login do usurio. O estado de transao lida com a coleta de mensagens e com a marcao das mensagens para excluso. O estado de atualizao faz com que as mensagens marcadas para excluso sejam efetivamente excludas. Com o POP3 pode-se baixar mensagens especficas e tambm eliminar apenas as mensagens que no se deseja mais, embora o mais comum seja o programa do cliente baixar e eliminar do servidor todas as mensagens. IMAP Para um usurio com uma conta de correio eletrnico que sempre acessada a partir de um nico computador o POP3 funciona bem. Porm muitas pessoas tm alguma conta de correio eletrnico que querem acessar a partir de mais de um local. Embora o POP3 torne isso possvel, o resultado que as mensagens do usurio ficaro espalhado por vrias mquinas. Para resolver esta situao foi criado o IMAP (Internet Message Access Protocol), definido na RFC 3501. O IMAP pressupe que todas as mensagens permanecero no servidor e fornece mecanismos para leitura de mensagens ou mesmo partes de mensagens. O IMAP tambm fornece mecanismos para criar, destruir e manipular vrias caixas de correio no servidor. Ao contrrio do POP3, o IMAP no copia as mensagens para a mquina pessoal do usurio. O servidor IMAP espera por conexes de clientes na porta 143 do TCP. Webmail Um webmail no um protocolo, mas uma forma que alguns sites da Web oferecem para que os usurios possam ler suas mensagens de correio eletrnico. Para usar o sistema o usurio abre uma pgina na qual ele entra com uma identificao e uma senha. A partir da ele tem acesso imediato s suas mensagens, de forma parecida a um cliente IMAP. 6.3.5.5 Privacidade de Correio Eletrnico Quando uma mensagem de correio eletrnico enviada entre dois sites distantes, geralmente ela transita por vrias mquinas at chegar a seu destino. Qualquer uma dessas mquinas pode ler e armazenar a mensagem para us-la posteriormente. A nica forma de se obter privacidade com correio eletrnico criptografar a mensagem utilizando algum software de criptografia dentre os vrios disponveis na Internet. Os mais conhecidos so o PGP (Pretty Good Privacy), o PEM (Privacy Enhanced Mail) e o GPG (GNU Privacy Guard).

6.3.6 WWW (World Wide Web)


A Web a estrutura que permite o acesso a documentos vinculados espalhados por milhares de mquinas na Internet. Em poucos anos ela deixou de ser um meio para distribuir dados tcnicos para se tornar a aplicao que milhes de pessoas consideram ser A Internet. A Web comeou em 1989 no CERN, o centro europeu para pesquisa nuclear. Ela nasceu da Redes de Computadores 1 57

necessidade de se fazer com que um grupos de cientistas de diferentes nacionalidades pudessem colaborar uns com os outros atravs da troca de relatrios, plantas, desenhos, fotos e outros documentos. A proposta inicial para uma teia de documentos surgiu em maro de 1989. O primeiro prottipo (no modo texto) j era operacional um ano e meio depois. Em dezembro de 1991, foi realizada uma demonstrao pblica na conferncia Hypertext'91. Seu desenvolvimento prosseguiu e em fevereiro de 1993 houve o lanamento da primeira interface grfica, o Mosaic. 6.3.6.1 Servidores Web Todos os sites da Web tm servidores escutando a porta 80 do TCP, aguardando conexes dos clientes, que geralmente esto utilizando algum browser (software cliente para Web). Depois de estabelecida a conexo, o cliente envia uma solicitao e o servidor envia uma resposta. A conexo , ento, liberada. O protocolo que define as solicitaes e respostas vlidas chamado de HTTP (HyperText Transfer Protocol). 6.3.6.2 HTTP (HyperText Transfer Protocol) O HTTP o protocolo de transferncia padro da Web, e cada interao consiste em uma solicitao ASCII, seguida de uma resposta RFC 822 do tipo fornecido pelo MIME. Embora o uso do TCP para a conexo de transporte seja mais comum, no uma exigncia formal do padro. O HTTP est em constante evoluo. H vrias verses em uso, assim como outras em desenvolvimento. O protocolo consiste em dois itens distintos: um conjunto de solicitaes dos browsers aos servidores e um conjunto de respostas que retornam. Todas as novas verses do HTTP aceitam dois tipos de solicitaes: simples e completas. Uma solicitao simples apenas uma linha GET que identifica a pgina desejada, sem a verso do protocolo. A resposta formada apenas pela pgina, sem cabealhos, sem MIME e sem cdigos. A pgina ser retornada sem nenhuma indicao de seu tipo de contedo. Esse mecanismo necessrio para a compatibilidade com browsers antigos. As solicitaes completas so indicadas pela presena da verso do protocolo na linha de solicitao GET. As solicitaes podem consistir em vrias linhas, seguidas de uma linha em branco para indicar o fim da solicitao. A primeira linha de uma solicitao completa contm o comando (onde GET apenas uma das possibilidades), a pgina desejada, e o protocolo/verso. As linhas subsequentes contm cabealhos RFC 822. Apesar de ter sido projetado para utilizao na Web, o HTTP foi criado para ser mais genrico do que o necessrio, com vistas a futuras aplicaes. Por esse motivo, a primeira palavra na linha da solicitao completa o nome do comando a ser executado na pgina Web. Os comandos so listados na tabela abaixo. Os nomes fazem distino entre maisculas e minsculas. Mtodo GET HEAD PUT POST DELETE LINK UNLINK Descrio Solicita a leitura de uma pgina da Web Solicita a leitura de um cabealho de pgina Web Solicita o armazenamento de uma pgina da Web Acrescenta a um recurso (por exemplo, uma pgina da Web) Remove a pgina da Web Conecta dois recursos existentes Desfaz uma conexo entre dois recursos

O mtodo GET solicita ao servidor que envie a pgina, codificada no MIME. Entretanto, se a solicitao GET for seguida de um cabealho If-Modified-Since, o servidor s enviar os dados se eles tiverem sido alterados desde a data fornecida. Com esse mecanismo, um browser pode, ao receber a solicitao de uma pgina armazenada no cache, enviar uma solicitao condicional ao Redes de Computadores 1 58

servidor, associando a data da alterao pgina.

6.4 Exerccios
1) Qual o objetivo do protocolo IP? 2) O que um datagrama IP? 3) Como o protocolo IP faz para enviar datagramas cujo tamanho maior que a unidade mxima de transferncia do nvel de enlace de dados? Por exemplo, enviar um datagrama de 20 Kbytes por uma rede ethernet, na qual o quadro tem tamanho mximo de aproximadamente 1500 bytes. 4) Qual o mecanismo utilizado pelo protocolo IP para evitar que um datagrama mal formado circule indefinidamente? 5) O que um endereo de difuso? 6) Qual a classe e os endereos de rede e host dos endereos IP 10.2.1.1, 128.63.2.100, 201.222.5.64, 192.6.141.2, 130.113.64.16 e 120.241.256.8? 7) Qual o nmero da rede do endereo 175.14.63.9 com mscara 255.255.0.0? E com mscara 255.255.224.0? E com mscara 255.255.255.0? 8) Cite uma razo para se dividir uma rede em sub-redes. Qual mecanismo utilizado para realizar tal diviso? 9) Suponha que uma organizao receba o endereo classe C 210.150.8.0 e precise no mximo de 5 sub-redes com 22 hosts cada. Qual mscara de rede deve ser utilizada? 10) Para que servem endereos IP falsos? 11) Quando se utiliza a tcnica de NAT? 12) Como funciona o NAT? 13) Para que serve o protocolo ICMP? Ele transportado por qual protocolo? 14) Para que foi criado o protocolo ARP? Como ele funciona? 15) Para que serve o protocolo RARP? 16) Para que serve o protocolo BOOTP? 17) Cite uma vantagem em se utilizar o protocolo DHCP em vez do BOOTP. 18) Qual a vantagem em se utilizar multicast em vez de se enviar vrios pacotes individualmente, um para cada destino? 19) Qual o principal objetivo do protocolo TCP? 20) Como o TCP faz para enviar dados grandes (maiores que 64 Kbytes) para um host em outra mquina? 21) Como o TCP pode garantir a entrega confivel dos dados se ele utiliza o IP, um protocolo no confivel? 22) Como o TCP faz para garantir que o transmissor no envie mais dados que o receptor tem condies de armazenar em seu buffer? 23) Cite duas diferenas entre o TCP e o UDP. 24) O que o UDP faz com um pacote cujo campo checksum no confere? 25) Como uma aplicao faz para enderear uma outra aplicao em uma mquina remota? Redes de Computadores 1 59

26) O que so portas conhecidas? 27) Qual a finalidade do DNS? 28) Cite um exemplo de um nome de mquina em um domnio genrico e um exemplo de mquina em um domnio de pas. 29) Para que serve o protocolo Telnet? 30) Qual a finalidade do protocolo FTP? O que o diferencia do TFTP? 31) Que tipo de problema o MIME procura resolver em mensagens de correio eletrnico na Internet? 32) Diferencie os protocolos SMTP, POP3 e IMAP. 33) Os protocolos de correio eletrnico oferecem algum tipo de privacidade ou necessria a utilizao de mtodos externos? 34) Como um browser faz para obter uma pgina na Web? O que faz um servidor HTTP ao receber a solicitao do browser? 35) Como o browser faz para saber se a pgina que est em sua cache est desatualizada ou no?

Redes de Computadores 1

60

7. Bibliografia
Comer, D. E., Interligao em Rede com TCP/IP Volume 1, 3a ed, Ed. Campus, 1998. Tanenbaum, A. S., Redes de Computadores, 4a ed, Ed. Campus, 2003. Kurose, J. F. & Ross, K. W., "Redes de Computadores e a Internet: Uma abordagem top-down", 3a ed, Ed. Pearson, 2006. Forouzan, B. A., "Comunicao de Dados e Redes de Computadores", 4 ed, Ed. McGraw-Hill Interamericana, 2008. Soares, L. F. G. et alii, Redes de Computadores - Das LANs, MANs e WANs s Redes ATM, 2a ed, Ed. Campus, 1995. Oppenheimer, P., Projeto de redes Top-Down, Ed. Campus, 1999. Wesley, D. & Wesleym, J., Developing Real-World Intranets, The Coriolis Group, 1996. Giozza, W. F. et alii, Redes Locais de Computadores - Tecnologia e Aplicaes, Ed. McGraw-Hill, 1986. Giozza, W. F. et alii, Redes Locais de Computadores - Tecnologia e Aplicaes, Ed. McGraw-Hill, 1986.

Redes de Computadores 1

61

Vous aimerez peut-être aussi