Este documento apresenta um capítulo introdutório sobre redes de computadores. Ele discute a importância crescente das redes na era digital e como elas permitiram a comunicação entre computadores geograficamente dispersos. O capítulo também explica a diferença entre redes de telefonia e redes de computadores, e como essas redes estão convergindo com o uso de aplicações como o Skype. Por fim, apresenta exemplos de como as redes permitem a comunicação em aplicações como jogos online e ambientes virtuais de aprendizagem.
1. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO (UFRPE)
COORDENAÇÃO GERAL DE EDUCAÇÃO A DISTÂNCIA (EAD/UFRPE)
Redes de Computadores
Juliana Regueira Basto Diniz
Fernando Antonio Aires Lins
Obionor de Oliveira Nóbrega
Volume 1
Recife, 2011
2. Universidade Federal Rural de Pernambuco
Reitor: Prof. Valmar Corrêa de Andrade
Vice-Reitor: Prof. Reginaldo Barros
Pró-Reitor de Administração: Prof. Francisco Fernando Ramos Carvalho
Pró-Reitor de Atividades de Extensão: Prof. Delson Laranjeira
Pró-Reitora de Ensino de Graduação: Profª. Maria José de Sena
Pró-Reitora de Pesquisa e Pós-Graduação: Profª Antonia Sherlânea Chaves Véras
Pró-Reitor de Planejamento: Prof. Romildo Morant de Holanda
Pró-Reitor de Gestão Estudantil: Prof. Valberes Bernardo do Nascimento
Coordenação Geral de Ensino a Distância: Profª Marizete Silva Santos
Produção Gráfica e Editorial
Capa e Editoração: Rafael Lira, Italo Amorim e Arlinda Torres
Revisão Ortográfica: Rita Barros
Ilustrações: Moisés de Souza
Coordenação de Produção: Marizete Silva Santos
3. Sumário
Apresentação. ................................................................................................................ 4
.
Conhecendo o Volume 1................................................................................................. 5
Capítulo 1 – Introdução a Redes de Computadores......................................................... 6
1.1 Introdução..................................................................................................................6
1.2 Visão Geral de Redes..................................................................................................9
1.3 Tipos de Redes..........................................................................................................13
Capítulo 2 – TCP/IP e OSI: uma visão comparativa......................................................... 24
2.1 Modelo de Referência OSI........................................................................................26
2.2 Modelo de Referência TCP/IP...................................................................................30
2.3 OSI versus TCP/IP......................................................................................................33
.
Capítulo 3 – Camada de Aplicação. ............................................................................... 36
3.1 Conceitos Gerais.......................................................................................................36
3.2 Entendendo o Transporte de Dados na Internet......................................................40
3.3 Principais Protocolos da camada de aplicação.........................................................42
Considerações Finais..................................................................................................... 58
Conheça os Autores...................................................................................................... 59
4. Apresentação
Caro(a) aluno(a),
Seja bem-vindo(a) ao curso de Redes de Computadores. Este curso é composto por 4 volumes. Neste
primeiro volume, vamos estudar os conceitos introdutórios e os principais modelos de referência na área Redes de
Computadores. Também estudaremos, neste volume, as principais aplicações utilizadas em ambiente de Internet
(por exemplo, navegação na Web, correio eletrônico, telefonia via Internet, dentre outros).
No segundo volume, serão abordados os protocolos que fazem transporte de informações em uma rede.
Um outro assunto que será abordado é a identificação e localização de computadores em um ambiente de Rede.
No terceiro volume, você aprenderá sobre como os dados são enviados através dos meios físicos de comunicação
com e sem fio. Por fim, o quarto e último volume abordará tópicos de gerenciamento e segurança de redes de
computadores. Concluindo a nossa disciplina, apresentaremos conceitos sobre a Próxima Geração de Redes de
Computadores.
Bons estudos!
Juliana R. Basto Diniz, Fernando A. Aires Lins e Obionor O. Nóbrega
Professores Autores
4
5. Redes de Computadores
Conhecendo o Volume 1
Módulo 1 – Introdução a Redes de Computadores e Aplicações
Carga Horária: 15 h/aula
Objetivo: Introduzir os conceitos das redes de computadores, seus modelos,
arquiteturas e protocolos. Conhecer com detalhes os protocolos das aplicações utilizadas na
Internet e nas redes atuais.
Conteúdo Programático
» Introdução a Redes de Computadores;
» TCP/IP e OSI: Uma visão comparativa;
» Camada de Aplicação.
5
6. Redes de Computadores
Capítulo 1 – Introdução a Redes de
Computadores
Vamos conversar sobre o assunto?
Caro(a) aluno(a),
Estamos, neste momento, iniciando um dos assuntos mais atuais e desafiadores
da área de computação: Redes de Computadores. Talvez você, até este momento, não
tenha parado para imaginar como somos dependentes atuais desta tecnologia. Você
consegue imaginar a sua vida, nos dias atuais, sem o uso desse importante recurso de
comunicação? Sem as redes, como você realizaria pesquisas sobre temas mais exóticos e
que geralmente não são abordados pelos livros da biblioteca que você costuma frequentar?
E se você tivesse que enviar uma mensagem de feliz aniversário a um amigo querido que
esteja aniversariando hoje, o que você usaria? Correios? Ou enviaria uma mensagem via
correio eletrônico? Você já pagou suas contas bancárias via Internet ou prefere enfrentar
longas filas de banco para realizar esta operação? Por fim, você iria aceitar um convite para
conhecer um novo país que você saiba que não tem Internet?
Um ponto muito interessante é que mal aprendemos a usar todos os recursos
atuais das redes, novas aplicações começam a ser desenvolvidas para nos trazer mais
facilidades e entretenimento. Por esta razão, é importante não apenas aprendermos a usar
suas ferramentas (como o seu navegador de Internet), mas entendermos os princípios e
teorias fundamentais associadas a esta área.
1.1 Introdução
Nos últimos anos, temos acompanhado grandes modificações no ambiente de
negócios das organizações. Como exemplos dessas modificações, podemos citar:
» Surgimento da economia global;
» Transformação das economias baseadas em indústrias para economias baseadas no
conhecimento e na informação;
» Transformações no conceito de emprego e relações de trabalho, onde cada vez
mais se tem cobrado trabalho colaborativo e em equipe.
Todas essas transformações foram e estão baseadas em um recurso fundamental:
a informação. De forma resumida, podemos afirmar que uma informação é composta por
dados concatenados tendo em vista um determinado fim. O grande diferencial competitivo
das empresas nos dias atuais, é a posse de informações precisas, completas e em tempo
hábil. Neste cenário, a geração, o armazenamento e o envio/ recebimento de informações
estão se apresentando como atividades relevantes e, em especial, lucrativas para as
empresas.
Somos inegavelmente dependentes dos computadores e dos serviços/dispositivos
responsáveis pela conexão dos mesmos. Se você estagia ou é funcionário de uma empresa,
6
7. Redes de Computadores
não consegue fazer praticamente nada sem redes. Imagine a sua reação ao saber que
terá que trabalhar com um computador sem conexão com a Internet (rede global de
computadores geograficamente dispersos e conectados entre si). Você irá precisar se
comunicar de forma prática e rápida com colegas de trabalho, clientes e fornecedores. A
comunicação corporativa atual é feita através de sistemas interligados, e-mail, celulares
e computadores portáteis conectados em redes sem fio. Você irá precisar também usar
a Internet para pesquisar sobre assuntos importantes relacionados à sua atividade de
trabalho.
Um dado importante em relação à Internet é a rapidez com que ela atingiu um
número elevado de usuários. A Figura 1.1 mostra um comparativo da Internet com diversos
outros dispositivos de computação. A comparação foi realizada baseada na quantidade
de anos que o dispositivo levou para atingir a marca de 50 milhões de usuários. Alguns
dispositivos clássicos, como o rádio, a televisão e o telefone foram inseridos. A Internet
levou menos da metade do tempo do que todos os outros dispositivos para atingir a marca
comentada. Atualmente, estima-se que mais de 1 bilhão de pessoas tenham acesso à
Internet. Um dado também interessante é que o Brasil está entre os países que apresentam
maior número de usuários em todo o mundo.
Figura 1.1 - Tempo para atingir 50 milhões de usuários
De forma resumida, as redes de computadores ajudam as empresas em dificuldades
organizacionais clássicas, como:
» Empresas geograficamente distantes se tornam melhor administráveis. Por
exemplo, comunicação entre matriz e filiais se torna mais eficaz, especialmente em
se tratando de empresas de porte internacional;
» Empresas com diversos departamentos podem usufruir das diversas aplicações
para redes existentes para se comunicar e compartilhar recursos/aplicativos. Ao
invés de sua empresa comprar 10 impressoras para os seus 10 departamentos, ela
pode comprar apenas 1 e compartilhar via rede entre todos os departamentos;
» Empresas locais agora podem entrar e competir em mercados globais. O comércio
eletrônico e o marketing digital possibilitam a inserção do produto em mercados
antes improváveis e de difícil acesso. Custos com ligações à distância e ligações
internacionais inviabilizavam este tipo de comércio em um passado recente.
7
8. Redes de Computadores
Neste momento caro(a) aluno(a), você pode estar se perguntando sobre as redes
telefônicas e as redes de computadores. Uma dúvida muito comum é sobre que rede
estamos operando quando fazemos determinada ação. Quando utilizamos nosso telefone
convencional, estamos utilizando qual rede? A rede telefônica ou a rede de computadores?
E mais ainda, quando você liga do seu computador para alguém, que rede você irá utilizar?
A resposta para a primeira pergunta é a rede telefônica. Quando tiramos o
telefone do gancho e discamos um número, estamos nos conectando com a rede de
telefonia convencional para realizar uma chamada. Mas, e no segundo caso? Quando
fazemos uma chamada pelo computador para outros computadores ou até mesmo para
telefones convencionais, que rede estamos usando? Neste caso, está sendo usada a rede de
computadores. Sobre este cenário, vamos contar uma rápida história sobre as redes.
Figura 1.2 - Redes de computadores
Poucos anos atrás, e inclusive atualmente, as empresas, de modo geral, utilizavam
dois tipos de redes diferentes: a rede de telefonia e a rede de computadores. Inclusive,
existiam dois terminais e cabos diferentes para fazer essa conexão. Entraremos mais a
fundo na questão de cabeamento nos próximos capítulos, mas por enquanto podemos
adiantar que o cabo de rede que você utiliza geralmente é um cabo azul que se conecta
na placa de rede de seu computador; cabo esse que é diferente do cabo que sai do seu
telefone convencional. Pode-se pensar, com razão, que a rede telefônica iria tratar com a
comunicação de voz e que a rede de computadores iria tratar da comunicação de dados.
Pode-se afirmar que, durante muito tempo, esta foi a realidade das empresas.
Contudo, um fato que incomodava e muito os usuários eram as altas tarifas cobradas
pelas companhias telefônicas (ex.: Telemar e a antiga Telpe), que eram detentoras da rede
de telefonia. Então, neste cenário, surgiu a ideia de utilizar as redes de computadores para
fazer comunicação de voz. No início, como as redes ainda não tinham uma qualidade eficaz
o suficiente para este serviço, não se podia transmitir e receber o tráfego de voz dentro
de um tempo aceitável. Para a infelicidade das empresas de telefonia, essa realidade foi
mudando em anos recentes.
As tecnologias de interconexão foram melhorando e muito o seu desempenho,
passando a suportar o tráfego de voz com uma qualidade aceitável e, em especial, com
um custo muito reduzido. Você pode hoje fazer ligações de voz de um computador para
outro, em qualquer lugar do mundo com acesso à Internet, sem pagar nenhum centavo
por isso. Ainda mais, você pode até mesmo ligar do seu computador para um telefone
fixo ou celular internacional e pagar uma tarifa significativamente mais acessível do que a
cobrada pela companhia telefônica. O grande segredo é que essas ligações de voz feitas por
8
9. Redes de Computadores
programas como o Skype utilizam a infra-estrutura da Internet para se comunicar, evitando,
assim, a utilização das tradicionais redes de telefonia. Portanto, a ligação passa pela rede de
computadores mundial, a Internet, e não pela rede de telefonia convencional.
Uma tendência atual que pode ser observada é que as redes de computadores e
as redes de telefonia estão se fundindo em uma única rede digital. Embora esse seja um
processo complexo e que tem diversas consequências econômicas e estruturais, a tendência
é de convergência entre as redes de computadores e telefones. Basta olhar para o mercado
e ver diversas empresas oferecendo serviços de Internet, telefonia e até de programas
televisivos (a famosa TV a cabo).
1.2 Visão Geral de Redes
A grande quantidade de computadores pessoais sendo utilizada no mundo inteiro
já está chegando à marca de 1 bilhão. Um outro dado importante neste contexto é a rapidez
da evolução dos seus principais componentes, como: processador, memória principal e
dispositivos de interconexão. Cada vez mais, usuários têm à sua disposição equipamentos
mais velozes e com maior capacidade de armazenamento. Esse fator influencia
decisivamente na necessidade de comunicação entre as aplicações. Vamos imaginar, por
exemplo, uma área como jogos computacionais. Se você, caro(a) aluno(a), gosta dessa
área, sabe que a resolução gráfica e os efeitos visuais/sonoros vêm melhorando muito nos
últimos anos. Por exemplo, a realidade alcançada pelos atuais simuladores de corrida é
impressionante. Nos dias atuais, além de você contar com imagens de excelente qualidade
e áudio muito semelhante à realidade, podemos comprar até equipamentos que podem
ser integrados ao computador, como volante e pedais. Neste ambiente, surge com muita
naturalidade a possibilidade de jogar em rede com um amigo seu.
Um outro bom exemplo é o ambiente virtual de aprendizagem (AVA) que você
utiliza no seu curso de Educação a Distância. Desde as funções mais simples, como envio e
recebimento de mensagens, até as mais complexas, é inegável que este tipo de tecnologia
veio ajudar, e muito, a aprendizagem a distância. Recursos como teleconferência e
videoconferência, tão importantes neste cenário, só puderam ser viabilizados não apenas
pela existência das redes de computadores, mas em especial pelo desenvolvimento delas.
Essas novas demandas estão mudando a forma com que as empresas usam as redes
e, em especial, como vender seus produtos. Imagine que você fosse o produtor responsável
pelo jogo de simulação ou pelo desenvolvimento do ambiente virtual de aprendizagem.
Como você lidaria com a questão da conectividade? Você seria capaz de fazer essa produção
sem nenhum recurso de comunicação? Certamente que não.
Finalmente, como podemos caracterizar uma rede de computadores? Se você
tiver dois ou mais computadores conectados entre si em casa, você tem uma rede. Se você
conectar a Internet de qualquer lugar, você também estará em uma rede de computadores.
Desta forma, como podemos saber o que é exatamente uma rede? De uma forma
mais simples, podemos afirmar que uma rede consiste em dois ou mais computadores
conectados entre si. Um componente fundamental para o computador entrar em uma rede
é a sua placa de rede ou interface de rede (NIC – network interface card). Atualmente, a
necessidade de se conectar a redes é tão grande que, via de regra, esse componente já vem
com essa placa/interface rede.
Outro ponto importante a ser destacado são os diversos tipos de meios físicos que
podem ser utilizados na transmissão. As redes utilizam diferentes meios de transmissão para
o envio e recebimento de mensagens, onde cada meio apresenta vantagens e desvantagens.
9
10. Redes de Computadores
Os meios de transmissão serão alvo de estudo mais detalhado em capítulos posteriores;
contudo, iremos apresentar uma rápida visão dos mesmos. Podemos destacar quatro tipos
principais de meios de transmissão:
Cabo coaxial
Antigamente, em se tratando de transmissão de dados, este era o cabo mais
utilizado. Ele é formado basicamente por um fio de cobre isolado e de grande espessura,
sendo coberto por um condutor cilíndrico externo. Devido a sua construção blindada, o cabo
coaxial é menos sensível à interferência do que o seu concorrente direto, o par trançado. Ele
é também considerado um cabo leve, relativamente barato, flexível e de fácil manipulação.
Em termos de tamanho máximo de comprimento, estudos mostram que o cabo
coaxial pode chegar, em média, a 1 km. Contudo, ele vem perdendo mercado devido à
redução de custos e melhorias técnicas experimentadas pelos seus concorrentes, em
especial cabo de par trançado e fibras ópticas. Ele também apresenta muitos problemas
com mau contato. Mesmo experimentando um declínio em sua utilização nos últimos
anos em redes de computadores, o cabo coaxial ainda é muito utilizado nos mercados de
transmissão de vídeo, voz e dados. Como exemplo, caro(a) aluno(a), se você quiser conhecer
um cabo coaxial, basta olhar o utilizado pela sua televisão a cabo. A arquitetura geral de um
cabo coaxial é apresentado na Figura 1.3.
Figura 1.3 - Exemplo de cabo coaxial
Par trançado
Meio de transmissão baseado em fios de cobre trançados aos pares em forma de
espiral. Em sua versão mais usual, são usados 4 pares, totalizando 8 fios. Esses trançados
visam essencialmente eliminar o ruído elétrico e magnético causado pelos pares adjacentes
e de outras fontes, como motores e transformadores. A Figura 1.4 apresenta uma ilustração
básica deste tipo de cabo.
Atualmente, em redes cabeadas, este é o principal meio de conexão utilizado,
especialmente pelo seu baixo curso e por ser amplamente difundido. Contudo, ele é tido
como lento e ruidoso para a transmissão de dados (em comparação com outros meios
cabeados). O par trançado também sofre limitações de distância (não consegue alcançar
longas distâncias). Pesquisas mostram que este cabo consegue alcançar, com a eficiência
desejada, apenas algumas dezenas de metros. Além disso, a quantidade de dados que pode
10
11. Redes de Computadores
ser trafegada é reduzida. Para transmissões de quantidades consideráveis de dados, uma
outra opção, como fibras ópticas, é mais recomendada. Contudo, novas tecnologias estão
sendo utilizadas para aumentar a capacidade de transmissão deste meio, que atualmente
pode atingir a velocidade de um milhão de bits por segundo. Se você quiser um exemplo
deste tipo de transmissão, basta olhar para trás do seu computador e observar um cabo azul
que sai da sua placa de rede.
Figura 1.4 - Visão interna de um cabo de par trançado
Fibra óptica
Uma fibra óptica é um meio fino, flexível, que tem a capacidade de conduzir um
feixe óptico. A transmissão ocorre através de pulsos modulados de luz. Nenhum impulso
elétrico é transportado no interior do cabo. Desta forma, logo de início, podemos afirmar
que este é um meio mais seguro para o transporte de dados, pois não terá influência de
nenhuma corrente elétrica (e toda corrente elétrica gera campos magnéticos).
A capacidade em transmissão da fibra óptica é muito alta; na prática, centenas de
Gpbs (gigabits por segundo, unidade de transmissão em redes) podem ser trafegados neste
meio, capacidade esta muito superior às apresentadas pelo cabo coaxial e pelo cabo de par
trançado. Ele também tem um limite de comprimento muito superior aos seus tradicionais
concorrentes: estudos práticos revelam que ele pode alcançar até dezenas de quilômetros
sem ter a sua eficiência reduzida. Esse meio de transmissão apresenta também um menor
tamanho e menor peso do que os seus concorrentes (em situações muito adversas, essa
pode ser uma vantagem crucial, como ao passar pelas estruturas já pequenas dos nossos
prédios).
Uma pergunta natural que pode surgir é: com tantas vantagens, então por que não
os usamos para tudo? A primeira razão é porque seu custo associado ainda é muito elevado
em relação a seus concorrentes. Uma segunda razão também crucial é a exigência de um
suporte técnico especializado para a sua instalação e manutenção. Fibras ópticas exigem
certos cuidados específicos que não existem em cabos coaxiais ou cabos de par trançado.
Desta forma, podemos afirmar que é interessante a utilização de fibras ópticas em situações
que necessitem ou de elevada capacidade de transmissão ou para interligar distâncias
muito altas.
Redes sem fio
Um outro meio de transmissão existente que difere bastante em relação aos já
apresentados é a transmissão sem fio baseada em sinais de rádio. Esse tipo de comunicação
é amplamente utilizado em diversos contextos atualmente. Esse meio de transmissão será
devidamente descrito em capítulos posteriores (mais especificamente, no Capítulo 9, Redes
sem Fio), por isso não será alvo de estudo detalhado no presente momento. Por ora, é
importante notar que está sendo vastamente usada em diversos contextos, especialmente
11
12. Redes de Computadores
naqueles onde criar uma estrutura cabeada pode apresentar muitas dificuldades. Pontos
importantes que serão vistos posteriormente são a qualidade da conexão deste tipo de
meio de transmissão e, em especial, a segurança em termos de acessos não-autorizados.
Você Sabia?
Você sabia que o cabo de par trançado, utilizado para conectar seu micro a rede, não pode ser
utilizado para conectar dois computadores diretamente?
Os cabos de par trançado podem ser diretos ou cruzados (essa diferenciação se dá através da
disposição dos fios dentro do cabo). Cada tipo apresenta uma configuração específica para os
cabos internos.
O cabo que liga você aos equipamentos é o chamado cabo par trançado direto. Geralmente, é
esse cabo que você encontra no mercado e que está lhe conectando a Internet, por exemplo. O
cabo que liga o seu computador diretamente a outro computador é chamado de par trançado
cruzado (ou cross-over).
Veremos mais detalhes sobre essa diferenciação em capítulos posteriores.
Agora que vimos o equipamento que você deve ter no seu computador para
acessar uma rede de computadores (placa/interface de rede) e os meios de transmissão que
podem ser utilizados, como fazer efetivamente para enviar/receber dados? Como acessar a
Internet?
Inicialmente, é necessário encaminhar as mensagens para os seus destinatários
e administrar as comunicações dentro de uma rede. Dentro de uma rede, o responsável
por realizar a maioria dessas funções é o servidor. Este servidor, basicamente, tem como
função autenticar usuários, armazenar páginas Web, armazenar configurações pessoais dos
seus clientes, dentre outros. Eles podem fazer funções bem mais avançadas, como permitir
ou negar o seu acesso à Internet e bloquear a navegação para endereços indevidos ou a
utilização de serviços proibidos. Esses servidores possuem softwares específicos para o
correto desempenho do seu papel, como, por exemplo, o Microsoft Windows Server 2008 e
diversos softwares servidores baseados no sistema operacional Linux.
Ainda neste cenário, diversos outros equipamentos, além do servidor, são
necessários. Por exemplo, como você iria fazer para conectar um número razoável de
computadores em uma sala de aula (por exemplo, 30)? Iria ligar todos os computadores
entre si? Felizmente, existe um equipamento centralizador denominado hub que faz a
conexão entre os computadores. Basicamente, todos se conectam diretamente no hub e o
mesmo retransmite as mensagens que são recebidas para todos os envolvidos.
Você pode estar se imaginando que essa pode ser uma solução não muito eficiente.
Imagine que, em uma reunião, você precise se comunicar especificamente com um dos
seus chefes para alertá-lo de algum fato despercebido. O que seria mais eficiente, enviar a
mensagem diretamente para ele ou falar em voz alta para todos da mesa a sua mensagem?
Todos iriam para a reunião, olhar para você e analisar se aquela mensagem possa interessar
de alguma forma. Situação semelhante ocorre nas redes de computadores. Então, um
outro equipamento de rede foi desenvolvido, o switch. Ao invés do switch mandar todos
os dados recebidos para os usuários a ele conectados, ele envia os dados somente para o
micro que deve receber a informação. Você pode ver um switch como um “hub inteligente”.
Resumindo: um hub simplesmente retransmite todos os dados que chegam para todas as
estações conectadas a ele, fazendo com que a rede fique muito lenta. Um switch encaminha
a mensagem apenas para o seu destinatário correto, aliviando o congestionamento na rede.
A grande vantagem do hub é o seu preço, ele é comparativamente mais barato do que um
12
13. Redes de Computadores
switch. Tanto o hub como o switch serão estudados em capítulos posteriores.
Os switches são comumente utilizados dentro de redes locais ou individuais. Se você
quiser conectar duas ou mais redes distintas, é necessário utilizar um dispositivo chamado
roteador. Este equipamento tem como função principal escolher um caminho para a sua
mensagem chegar ao seu destino (inclusive, se tiver apenas um). Em redes grandes, podem
existir diversos caminhos, sendo o roteador responsável por escolher que caminho deve
ser percorrido. Os roteadores têm também a missão de interligar redes com arquiteturas
diferentes.
Por fim, é importante lembrar que nós, usuários, precisamos nos conectar a um
provedor de serviço Internet para ter acesso aos diversos recursos que a grande rede nos
fornece. Em geral, este não é um serviço gratuito, e você tem que pagar para ter esse acesso.
O usuário residencial em geral tem uma boa noção deste ponto, pois ele em geral paga uma
taxa a seu provedor de Internet para obter acesso. A Figura 1.5 apresenta uma visão geral
de como um usuário comum (nós) fazemos para conectar à Internet em nossas residências,
de modo geral.
Figura 1.5 - Modo pelo qual o usuário residencial conecta a Internet
1.3 Tipos de Redes
Existem diversos tipos de redes, cada qual com suas especificidades. Desta forma,
é importante tentar classificá-las levando-se em consideração algum aspecto. Na verdade,
existem diversos aspectos que podem ser levados em conta para fazer esta classificação.
O primeiro aspecto que pode ser levado em consideração é o tamanho da rede, em
especial sua distância geográfica. Neste caso, podemos classificar as redes em quatro tipos:
Rede Local
Também conhecida como LAN (Local Area Network). Esse tipo de rede está
associada a pequenos espaços físicos, geralmente restritos a um edifício, andar ou até
mesmo uma sala deste edifício. Normalmente, ela é formada por computadores pessoais
13
14. Redes de Computadores
e com um custo relativamente baixo. Ela é importante porque permite o compartilhamento
de recursos dentro da unidade de negócio (por exemplo, você não precisa comprar uma
impressora para cada computador da empresa; basta comprar uma e compartilhá-la através
da rede local). Esse tipo de rede tornou-se praticamente universal em organizações de todo
o mundo e das mais diversas áreas. As velocidades de transmissão internas, via de regra,
são comparativamente superiores do que as redes que veremos em seguida. Um exemplo
prático é o laboratório de informática que você utiliza; ele é formado por diversas máquinas
conectadas por um equipamento (geralmente, hub ou switch) limitadas por um espaço
físico pequeno (no caso, uma sala).
Rede de campus
Conhecida também como CAN (Campus Area Network), essas redes são
caracterizadas por serem instaladas em área bem específicas, como um centro/campus de
uma faculdade ou de um grande centro de pesquisa. Ela é comparativamente maior do que
a rede local, contudo é bem menor do que a que veremos em seguida, a rede metropolitana.
Rede metropolitana
Conhecida também como MAN (Metropolitan Area Network), esse tipo de rede
ocupa um tamanho intermediário entre as LANs e as WANs. Existe uma tendência na nãoutilização de técnicas tradicionais de rede, como as redes cabeadas tradicionais. No atual
contexto de inclusão digital que vivemos, disponibilizar Internet sem fio para toda uma
cidade é vista como uma solução mais social. Uma MAN tem como objetivo básico oferecer o
serviço com um custo muito reduzido (e, às vezes, inexistente) e com qualidade comparável
a do provedor tradicionalmente utilizado. Projetos inovadores, como o Garanhuns Digital,
são exemplos claros deste tipo de rede.
Rede remota
Conhecida também como WAN (Wide Area Network), as WANs normalmente
cobrem uma considerável área geográfica (estados, países, continentes). Normalmente,
para se viabilizar a construção de uma rede deste porte, uma série de equipamentos (ex.:
roteadores e servidores) são necessários. Qualquer mensagem enviada por um cliente
conectado a esta rede irá ser direcionada por esses equipamentos até o seu destino. O
grande exemplo que temos de WAN é a Internet, que é a maior rede de computadores
existente neste planeta. A Internet é uma rede global de computadores geograficamente
dispersos e ligados entre si que compartilham informações que são acessíveis em qualquer
lugar. Pela sua grande popularidade, a Internet ganhou diversas terminologias que vem
sendo utilizadas em diversas obras, como: “Rede das Redes”, “A Grande Rede” ou “Rede
Mundial de Computadores”. A Internet é composta por centenas de redes (LANs, CANs e
MANs) espalhadas pelo mundo. O assunto Internet será melhor discutido em capítulos
posteriores; por ora, basta sabermos que ele é o maior exemplo de rede remota que temos
atualmente.
Uma outra forma bastante comum de se classificar redes, em especial as redes
locais (LANs), é através de sua topologia. De forma básica, a topologia de uma rede é a
forma com que ela se apresenta fisicamente. Baseado neste critério (topologia), três tipos
de redes podem ser destacadas:
14
15. Redes de Computadores
Topologia em barra (ou barramento)
Na topologia em barra, um cliente transmite mensagens de forma que ela trafega
em um canal compartilhado para todos os clientes dessa rede. Na prática, todos os
computadores recebem a mensagem, contudo, eles verificam se a mesma é endereçada
a ele. Se for, ele toma a atitude apropriada. Se não for, a mensagem é simplesmente
descartada. A Figura 1.6 apresenta um exemplo de rede em barra.
Figura 1.6 - Topologia em barra
Topologia em anel
Já no caso da topologia em anel, como o próprio nome diz, os computadores são
conectados de forma circular, semelhante a um anel. Nesta topologia, cada computador
está ligado a apenas dois outros computadores. Redes em anel são capazes de transmitir
e receber dados em apenas uma direção; como só existe um caminho e o computador é
conectado em círculo, ele só pode enviar a mensagem para outro computador específico.
Desta forma, não existirá nenhum problema relacionado ao roteamento/encaminhamento
das mensagens. O grande problema desta arquitetura é que se, por acaso, alguma das
máquinas falharem, todos os computadores serão incapazes de enviar/receber entre si, já
que a mensagem só navega em uma direção. A Figura 1.6 apresenta uma rede em anel. Vale
ressaltar que este tipo de rede já está ficando obsoleto, sendo usado apenas por redes locais
mais antigas (as chamadas redes de Token Ring) ou em contextos/situações específicos.
15
16. Redes de Computadores
Figura 1.7 - Topologia em anel
Topologia em estrela
Neste tipo de topologia, toda a informação deve passar obrigatoriamente por
uma estação central inteligente, que terá a função de interconectar todos os seus clientes
e transmitir as mensagens de forma que cada estação receba apenas as suas mensagens.
Esta estação central pode ser inclusive um hub inteligente (que sabe enviar as mensagens
para os destinatários corretos) ou um switch. É importante ressaltar que uma rede local
que use um hub comum não é considerada uma rede do tipo estrela, pois ela encaminha a
mensagem para todos os clientes conectados. A diferença é sutil, então cuidado para não
confundirem! As redes em estrela atuais, em geral, utilizam cabos de par trançado e um
switch como estação central na rede. Esta topologia de rede é muito difundida atualmente;
observe a configuração do laboratório de informática que você utiliza e não se espante se
ele for exatamente como descrevemos aqui. A Figura 1.6 apresenta um exemplo deste tipo
de topologia.
16
17. Redes de Computadores
Figura 1.8 - Topologia em estrela
Então, para finalizar o tópico sobre tipos de rede, uma outra classificação básica
divide as redes em redes cliente-servidor e redes ponto a ponto. Essa divisão, caro aluno,
está relacionada sobre como o computador é visto na rede. Na rede ponto a ponto, todos
os computadores compartilham recursos de forma mútua, não existindo nenhuma relação
hierárquica entre as máquinas. Todos mandam mensagens, todos requisitam e fornecem
serviços, e ninguém controla ninguém.
Já nas redes baseadas no tipo cliente-servidor, uma máquina (ou um grupo delas)
centraliza todos os serviços da rede (por exemplo, autenticação, envio de mensagens
eletrônicas etc.) oferecidos às outras máquinas. Neste caso, quem requisita é o cliente,
e quem responde a requisição é o servidor. As máquinas clientes quase sempre são
computadores pessoais ou estações de trabalhos que apresentam uma interface mais
amigável para o usuário, usando sistemas operacionais conhecidos por todos (ex.: Windows
XP) e softwares amigáveis. Os servidores, máquinas geralmente com configurações mais
robustas, são muitas vezes acessadas apenas pela equipe técnica de TI e possibilita o acesso
de todos os clientes da rede aos seus serviços. A Figura 1.7 apresenta uma visão básica da
arquitetura cliente-servidor.
17
18. Redes de Computadores
Figura 1.9 - Arquitetura cliente-servidor
Nas últimas décadas, as redes baseadas na arquitetura clienteservidor vêm sendo
mais utilizadas do que as redes ponto a ponto. Diversas razões colaboram para este fato;
em especial, existe uma tendência para administração centralizada de rede. Servidores para
você entrar na rede, servidores para vocês enviar mensagens eletrônicas, servidores para
você usar o programa de sua empresa... a convergência atual para a tecnologia clienteservidor é inegável.
Portanto, para finalizar o tópico sobre tipos de rede, existem duas abordagens
clássicas quando abordamos envio de informação na rede: comutação de circuitos e
comutação de pacotes. A função de comutação em uma rede se refere à alocação de
recursos na rede para que seja possível a transmissão e recebimentos de informações na
rede. Antes de iniciar a explicação, vamos apresentar um exemplo bastante intuitivo.
Imagine, caro(a) aluno(a), que você precisa enviar uma mensagem para uma
pessoa. Se você enviar pelo correio, você não irá utilizar exclusivamente o canal, não é
mesmo? Várias pessoas podem usar o correio ao mesmo tempo. Mais ainda, se duas
pessoas enviarem cartas para o mesmo destinatário, as duas cartas irão chegar. Concorda?
Por outro lado, quando você está conversando com uma pessoa ao telefone, a linha fica
dedicada (ou seja, ninguém mais consegue se conectar a ela). Se alguém tentar, poderá
acabar ouvindo o sinal de ocupado. Desta forma, podemos verificar que existem duas
formas significativamente diferentes de se enviar informações pela rede. Vamos então
destacar as principais características de cada uma:
Comutação de circuitos: Neste tipo de rede, os recursos necessários ao longo da
rede ficam dedicados para a conexão em questão. Desta forma, o “caminho” entre o usuário
inicial e o final fica reservado desde o início até o término da conexão. Ou seja, para que
efetivamente o cliente envie uma mensagem para o seu destino, é necessário que um seja
primeiramente reservado um circuito entre os dois enlaces. Uma vantagem desse tipo de
rede é a questão de exclusividade do canal, que torna a comunicação mais rápida (ou, no
mínimo, menos suscetível a interferência). Uma desvantagem associada é que este é um
método que consome recursos em demasia, já que para qualquer comunicação entre dois
clientes um canal dedicado deve ser criado e recursos alocados exclusivamente aos dois
clientes envolvidos. Note, também, que o recurso permanece sempre alocado e dedicado
até que um dos envolvidos decida finalizar a conexão. Desta forma, se o tráfego não for
constante, a capacidade previamente alocada da rede será desperdiçada (ocasionando
18
19. Redes de Computadores
os chamados períodos de silêncio). Este paradigma, a comutação de circuitos, é muito
utilizado atualmente nos sistemas telefônicos recentes. A Figura 1.8 apresenta um exemplo
de comutação de circuito. É importante notar, neste caso, que a ligação física é exclusiva/
dedicada. Finalmente, neste paradigma, três passos devem sempre ser executados:
» Estabelecimento do circuito;
» Envio/recebimento de informações;
» Liberação da conexão (desconexão).
Figura 1.8 - Comutação de circuitos
Comutação de pacotes: Este paradigma consiste na comunicação de informações
em que mensagens (pacotes) são individualmente enviados entre clientes da rede através
de conexões e recursos tipicamente partilhados por outros clientes. Este contrasta com
o paradigma anterior, a comutação de circuitos, que estabelece uma ligação dedicada
entre ambos os clientes para uso exclusivo de recursos durante a transmissão (mesmo
quando não há nada a transmitir). A Figura 1.9 apresenta um exemplo de comutação de
pacotes. Além disso, neste tipo de rede, não é necessário o estabelecimento de um circuito
dedicado entre as duas entidades. A comutação de pacotes é utilizada para aperfeiçoar a
largura de banda da rede, minimizar a latência (tempo que o pacote demora a atravessar
a rede) e aumentar a robustez da comunicação. O próprio tamanho máximo da mensagem
a ser enviada tem um valor máximo (mensagens acima deste valor são “quebradas” para
conseguirem ser transmitidas). Essas mensagens menores é que são chamadas de pacotes.
A própria comutação de pacotes pode se subdividir em:
» Circuito virtual (com conexão): É estabelecido um caminho virtual fixo e todos os
pacotes seguirão por este caminho (contudo, sem parâmetros fixos). Vantagem:
garante a entrega das informações de forma ordenada (afinal, um circuito, mesmo
virtual, é dedicado para isso).
» Datagrama (sem conexão): Informações (pacotes) são encaminhados
independentemente, sem a necessidade de se estabelecer um caminho fixo.
Vantagem: maior flexibilidade a falhas, já que caminhos que apresentem defeitos
podem ser imediatamente alterados.
19
20. Redes de Computadores
Figura 1.9 - Comutação de pacotes
Atualmente, observamos que a comutação de pacotes é muito mais usada em
redes de computadores do que a comutação de circuitos. O principal fator associado a esta
comparação é a eficácia do uso dos recursos. Os principais críticos da comutação de pacotes
colocam que, sob um ponto de vista prático, comunicação por circuitos leva diretamente ao
desperdício (em especial, pela ociosidade vista nos períodos de silêncio). Em uma própria
conversa telefônica com um amigo seu, calcule a quantidade de tempo que cada um não
fala nada (ou seja, vocês estão em silêncio). Neste tempo, recursos estão sendo, de maneira
ineficaz, alocados exclusivamente a vocês (e ninguém pode usar).
Aprenda Praticando
Agora é chegada a hora de você praticar os conceitos aprendidos. Para isso, alguns
exercícios foram selecionados para você avaliar seu entendimento do nosso primeiro
capítulo. Você deverá procurar entender os exercícios resolvidos e suas respectivas
respostas com o intuito de consolidar os conceitos aprendidos neste capítulo.
Algumas questões dos exercícios propostos fazem parte das atividades somativas
que você deverá responder em relação ao capítulo 1, do Volume 1, de acordo com as
orientações e prazos sugeridos pelo seu professor e tutor.
Lista de Exercícios Propostos
1. Explique, com suas palavras, o que é uma rede de computadores. Qual a motivação
e quais vantagens para a sua utilização?
2. Faça uma breve descrição da rede do seu laboratório de informática. Descreva, com
os respectivos nomes, os principais elementos físicos que compõem essa rede.
3. Quais os principais meios físicos para transmissão de dados atualmente? Faça um
comparativo entre eles tomando como base distância máxima, velocidade e custo.
20
21. Redes de Computadores
4. Defina e exemplifique as seguintes siglas: MAN, WAN e LAN.
5. Descreva os principais equipamentos de rede que uma LAN geralmente deve
possuir. Lembre-se que o cabeamento também é essencial para o funcionamento.
6. Imagine a situação hipotética que você queira fazer uma pequena rede em casa,
com dois computadores. Baseando-se no custo-benefício, você compraria um hub
ou um switch? Justifique a sua resposta.
7. Quais as principais características de uma rede em barra e quais as suas vantagens
e desvantagens?
8. Quais as principais características de uma rede anel e quais as suas vantagens e
desvantagens?
9. Quais as principais características de uma rede estrela e quais as suas vantagens e
desvantagens?
10. Considere o seguinte problema:
Um escritório de engenharia e arquitetura ainda não possui uma rede de
computadores. Todos os seus funcionários, inclusive o dono, possuem um
computador. Quando eles compartilham informações, eles fazem verbalmente ou
utilizam disquetes para copiar arquivos, trocando-os entre si. O volume de projetos
permaneceu estável nos últimos quatro anos, mas aumentou recentemente e
para aumentar a produtividade, seu proprietário deseja implantar uma rede de
computadores. Você como projetista da rede vai ajudá-lo. Nesta empresa trabalham
seis pessoas: o proprietário (diretor), dois engenheiros civis, um arquiteto, uma
secretária e um corretor de vendas. Ela ocupa duas salas em um edifício comercial
e na primeira delas estão alocados os dois engenheiros e o arquiteto, enquanto que
na segunda, estão a secretária, o proprietário e o corretor de vendas. O escritório
também possui uma impressora a lazer e um ploter.
Baseado neste cenário responda:
a) Qual a topologia que você indicaria para esta rede? Justifique.
b) Analise as três topologias padrão baseado no ambiente físico acima.
c) Que equipamentos de rede você julga necessários para a situação indicada
acima?
11. Uma rede conectada através de um switch é considerada como topologia em barra
ou topologia em estrela? Justifique sua resposta.
12. Com relação ao desempenho, o que podemos dizer das redes barramento, estrela e
anel?
13. Descreva, com suas palavras, o que é a Internet.
14. Sobre a arquitetura de rede associada ao ambiente virtual de aprendizagem (AVA)
utilizado em seu curso a distância, você a classificaria como uma aplicação clienteservidor ou ponto a ponto?
15. Explique, de forma resumida, a principal diferença entre a comutação de circuitos e
a comutação de pacotes.
21
22. Redes de Computadores
Conheça Mais
Caro(a) aluno(a), existe um vídeo muito interessante sobre os conceitos
fundamentais de redes de computadores e que mostra, de uma forma divertida, todos
os conceitos apresentados neste capítulo. O nome deste vídeo é Warriors of The Net (“Os
Guerreiros da Rede”). O vídeo é em inglês, mas tem versão legendada.
Ele pode ser encontrado facilmente em sites de vídeos como www.youtube.
com. Segue um link válido para esse acesso direto: http://www.youtube.com/
watch?v=QTdR6SnE0zQ. Não perca tempo, assista ao vídeo quanto antes! São menos de 10
minutos.
Atividades e Orientações de Estudos
Dedique, pelo menos, 5 horas de estudo para o Capítulo 1. Você deve organizar
uma metodologia de estudo que envolva a leitura dos conceitos que serão apresentados
neste volume e pesquisas sobre o tema, usando a Internet e livros de referência.
Vamos trocar ideias nos fóruns temáticos desta disciplina no ambiente virtual,
pois a interação com colegas, tutores e o professor da disciplina irá ajudá-lo a refletir sobre
aspectos fundamentais tratados aqui. Os chats também serão muito importantes para a
interação em tempo real com o seu tutor virtual, seu professor e seus colegas.
Também é importante que você leia atentamente o guia de estudo da disciplina,
pois nele você encontrará a divisão de conteúdo semanal, ajudando-o a dividir e administrar
o seu tempo de estudo semanal. Procure responder as atividades propostas como atividades
somativas para este capítulo, dentro dos prazos estabelecidos pelo seu professor, pois você
não será avaliado apenas pelas atividades presenciais, mas também pelas virtuais. Muitos
alunos não acessam o ambiente e isso poderá comprometer a nota final. Não deixe que isso
aconteça com você!
Os assuntos abordados neste capítulo podem ser encontrados no Quiz de número 1
da disciplina de Redes de Computadores. Através do Quiz você poderá avaliar o seu próprio
desempenho. Após respondê-lo, você terá o resultado de seu desempenho e conhecerá as
suas deficiências, podendo supri-las nas suas próximas horas de estudo.
Vamos Revisar?
Neste capítulo, você aprendeu a definição e conceitos essenciais associados às
redes de computadores. Vimos a importância das redes nos dias atuais e quanto somos
dependentes delas. Vimos também uma visão comparativa das tradicionais redes de
telefonia e das atuais redes de computadores.
O primeiro capítulo também abordou questões físicas cruciais para o projeto de
redes de computadores. Inicialmente, o meio físico foi alvo de estudo, onde os principais
meios foram destacados, a saber: cabo coaxial, par trançado, fibra óptica e redes sem fio.
Após esta etapa, vimos equipamentos necessários a interconexão de redes, em especial
22
23. Redes de Computadores
hub, switch e roteador. Aprendemos as principais e importantes funções associadas a cada
equipamento destacado.
Por fim, foram apresentados os diversos tipos de redes existentes. Foram vistos
diversos, e é fundamental entender que critério foi usado em cada caso para se fazer
a classificação. Se o critério for distância, podemos dividir as redes em rede local (LAN),
rede de campus (CAN), rede metropolitana (MAN) e rede remota (WAN). Se o critério for
topologia, as redes podem ser divididas como topologia em barra, em anel e em estrela. Se
a ideia do critério é como o computador é visto na rede, podemos ter duas classificações:
cliente-servidor e ponto a ponto. Se o critério for como são alocados recursos na rede,
podemos ter redes baseadas em comutação de circuitos ou redes baseadas em comutação
de pacotes.
No próximo capítulo, iremos aprender os principais modelos de referência da
área de redes de computadores, como os modelos TCP/IP e OSI. Além disso, conceitos
fundamentais como protocolo serão apresentados.
23
24. Redes de Computadores
Capítulo 2 – TCP/IP e OSI: uma visão
comparativa
Vamos conversar sobre o assunto?
Agora que já introduzimos o tema de redes de computadores no primeiro capítulo,
você já possui as noções básicas para entender o que será tratado neste capítulo.
Sabemos que não é suficiente apenas que os computadores sejam conectados
através de meios físicos para que tenhamos uma rede em funcionamento. Para se ter uma
rede, precisamos de hardware e software que trabalhem conjuntamente, cada um fazendo
o seu papel.
Para que dois computadores conversem é necessário que eles “falem a mesma
língua”. É necessário um conjunto de regras para coordenar esse diálogo entre computadores
numa rede.
Baseando-se nisso, foram criados modelos de referências para determinar regras a
serem estabelecidas para que a comunicação em um ambiente de rede aconteça. É nesse
contexto que surgem os modelos de referência OSI e TCP/IP, que iremos abordar neste
capítulo.
Figura 2.1 Computadores trocando mensagens numa Rede
24
25. Redes de Computadores
De acordo com Tanembaum (2003), quando as primeiras redes de computadores
foram estudadas, a principal preocupação foi com o desenvolvimento de hardware
adequado. Apenas em um segundo momento, o software passou a ser desenvolvido
chegando a sua estruturação dos dias atuais. Entretanto, desenvolver software para fazer
com que dois ou mais computadores estabeleçam uma comunicação não é tão simples. Por
ser uma tarefa difícil, se imaginou uma abordagem do tipo “dividir para conquistar”.
Mas o que significa isso? A partir do momento em que se estrutura o software de
redes em níveis ou camadas com funções específicas, a união dessas camadas irá gerar o
modelo completo de software para rede. Com a divisão em camadas, atribui-se a cada uma
das camadas tarefas específicas, reduzindo então a complexidade e tornando mais fácil a
conquista do objetivo. Dessa forma, as camadas são colocadas uma sobre as outras, criando
assim um modelo de pilha.
Em cada rede, o número de camadas na pilha pode ser diferente, porém em todas
as redes, a divisão da pilha em camadas, atende o principal objetivo que é de que cada
camada ofereça determinados serviços às camadas superiores, abstraindo essas camadas
dos detalhes de implementação dos serviços oferecidos. Também é de senso comum a
todas as redes, que a camada X de uma máquina se comunique com a camada X de outra
máquina.
Para que essas camadas de computadores distintos se comuniquem, elas precisam
usar o mesmo conjunto de regras. A esse conjunto de regras dá-se o nome de Protocolo.
Um software de redes é composto por um ou vários protocolos. Poderemos usar uma
analogia entre regras e convenções existentes em nossa sociedade. Por exemplo, no Brasil,
dificilmente dois homens se beijam ao se cumprimentarem. O gesto mais comum neste
cumprimento é o aperto de mãos. Já as mulheres se cumprimentam normalmente através
de beijos no rosto. Porém, nossos vizinhos argentinos se cumprimentam usando um beijo
no rosto, independentemente de ser um homem ou uma mulher que o cumprimente. Isso
se dá devido a uma convenção local. Se pensarmos em um outro exemplo, no próprio Brasil,
a depender do estado ou região, as pessoas se cumprimentam com um, dois ou três beijos
no rosto. Ou seja, essas regras e convenções estabelecidas pela sociedade normalmente
são cumpridas para que a comunicação possa fluir sem atropelos. Similarmente, em um
ambiente de rede, a violação do protocolo dificultará a comunicação.
Figura 2.2
Se você observar a Figura 2.3, verá um esquema de 4 camadas. A camada 4 do
host 1 se comunica com a camada 4 do host 2. Da mesma forma, a camada 3 do host 1 se
comunica com a camada 3 do host 2. Embora isso seja o sugerido pelo esquema apresentado
na Figura 2.2, o que acontece de fato é que os dados não são transferidos diretamente da
camada X de uma máquina para a camada X de outra máquina. Em vez disso, cada camada
25
26. Redes de Computadores
transfere os dados e as informações de controle para a camada imediatamente abaixo dela
e assim sucessivamente até chegar a camada 1. Essa camada mais inferior normalmente é o
meio físico através do qual ocorre a passagem da mensagem de comunicação.
Figura 2.3 - Camadas de um Protocolo
Através da junção de um conjunto de camadas e protocolos surge um conceito
muito importante que é o de arquitetura de redes.
Uma arquitetura de rede é composta por um conjunto de camadas e protocolos. A especificação
de uma arquitetura deve conter informações suficientes para permitir que alguém desenvolva o
programa ou construa o hardware de cada camada, de forma que ela obedeça corretamente ao
protocolo adequado.
No decorrer deste capítulo, discutiremos duas importantes arquiteturas de redes:
o modelo de referência OSI e o modelo de referência TCP/IP. O modelo de referência OSI
não apresenta protocolos utilizados atualmente, porém possui características descritas para
as camadas, que de uma forma geral, são bastante importantes. Já o modelo TCP/IP tem
características distintas, pois embora o modelo em si não seja muito utilizado, os protocolos
contidos nele são bastante comuns nas redes atuais.
2.1 Modelo de Referência OSI
O modelo de referência OSI (Open Systems Interconnection) foi baseado em
proposta desenvolvida pela ISO (International Standards Organization) para padronização
de protocolos tratando da interconexão de sistemas abertos. O modelo é composto por
7 camadas, a saber: física, enlace de dados, redes, transporte, sessão, apresentação e
aplicação.
26
Cada camada deve executar uma função bem definida e oferecer serviços à
camada imediatamente superior e utilizar os serviços da camada imediatamente inferior. Os
limites entre as camadas devem ser escolhidos, de modo a reduzir o fluxo de informações
transportadas entre as interfaces. Uma interface define as operações e os serviços que a
camada inferior tem a oferecer à camada que se encontra acima dela. A pilha de protocolo
27. Redes de Computadores
do modelo OSI é apresentada na Figura 2.4.
Figura 2.4 - Modelo OSI
No decorrer deste capítulo, você conhecerá cada uma das camadas apresentadas
na Figura 2.3. Começaremos pela camada de aplicação que contém vários protocolos
necessários aos usuários. A camada de aplicação (camada 7) apresenta uma interface
consistente para todos os softwares de computadores, também chamada de API (Application
Programming Interface) que será melhor explicada no capítulo 3 do presente volume.
São exemplos de protocolos com funções da camada de aplicação do modelo OSI: HTTP
(HyperText Transfer Protocol), SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network
Management Protocol), FTP (File Transfer Protocol), dentre outros.
O HTTP, por exemplo, constitui a base para a World Wide Web. Quando um
navegador deseja uma página da Web, ele envia o nome da página desejada ao servidor
utilizando o HTTP. Este protocolo especifica as regras para a comunicação entre navegadores
e servidores Web. As solicitações HTTP são enviadas como texto ASCII, com várias palavraschave que permitem diferentes ações.
O SMTP, por sua vez, é o protocolo utilizado para troca de e-mails (correio
eletrônico). Este protocolo permite que o remetente se identifique apropriadamente,
especificando um receptor e transferindo uma mensagem de e-mail. Você deve estar se
perguntando se a transferência de e-mail não é um processo simples, porém o protocolo
SMTP trata de muitos detalhes, como por exemplo, exigir a entrega confiável, ou seja, o
remetente deve manter uma cópia da mensagem até que o receptor tenha armazenado
uma cópia em disco. O SMTP também permite que o remetente pergunte a um computador
remoto se existe uma determinada caixa de correio.
Atenção
Para se ter uma
transmissão segura
através de uma rede
não-segura, como a
internet, em geral,
se utiliza o protocolo
HTTPS, que fornece
certificados de
conexão e de sessão,
fazendo criptografia
dos dados.
O SNMP é um protocolo utilizado no gerenciamento de redes. O FTP é utilizado
para transferência de arquivos e permite mover dados de uma máquina para outra. Esses e
outros protocolos que apresentam as funções da camada de aplicação do modelo OSI, vocês
terão a oportunidade de estudá-los no Capítulo 3 deste volume.
Dando continuidade a nossa conversa sobre as camadas encontradas na Figura 2.3,
abordaremos agora a camada de Apresentação (camada 6). Esta camada está preocupada
27
28. Redes de Computadores
com a sintaxe e a semântica das informações transmitidas, gerenciando as estruturas de
dados abstratas e permitindo a definição e o intercâmbio de estruturas de dados de nível
mais alto (aplicação). Ela se responsabiliza pelas conversões da representação de dados
utilizada na aplicação para a representação padrão da rede, e vice versa e pela criptografia
e compressão de dados.
Na compressão, os dados recebidos na camada 7 são compactados e a camada
6 do dispositivo receptor fica responsável por descompactar esses dados. Neste caso, a
transmissão se dá de forma mais rápida, já que haverá menos dados a serem transmitidos,
devido à compactação.
Atenção
Você sabia que as
camadas 7, 6 e 5
são frequentemente
referenciadas como
camadas altas? E sabia
que os hosts são os
únicos dispositivos que
operam das camadas
4, 5, 6 e 7?
A camada 5 é a camada de Sessão que se responsabiliza por estabelecer, manter e
finalizar uma sessão de comunicação na rede. Esta camada é responsável por gerenciar o
controle de tráfego e os serviços de sincronização, de modo que na ocorrência de uma falha,
apenas os dados transferidos depois do ponto de sincronização tenham de ser repetidos.
Também é de responsabilidade da camada de sessão, o reconhecimento de nomes e
algumas características de acesso, como por exemplo, quando e por quanto tempo um
dispositivo pode transmitir.
Para ficar mais claro, imagine a situação onde você está baixando e-mails de um
servidor e acontece uma falha na rede. Quando a rede voltar a estar operacional, a sua
tarefa continuará do ponto em que parou, não sendo necessário reiniciá-la.
A camada 4 é chamada de Camada de Transporte sendo responsável pela preparação
dos dados a serem transmitidos. Ela aceita dados da camada de sessão, dividindo-os em
unidades menores, e passa-os para camada de rede garantindo que as unidades cheguem
corretamente a outra extremidade. Além disso, dentre outras atividades, esta camada
gerencia o controle do fluxo e a correção de erros. Ela impede que um transmissor rápido
envie rajadas de informações a um receptor lento.
Você certamente já ouviu falar em pelo menos um protocolo que possui funções
da camada 4: o protocolo TCP (Transfer Control Protocol). Além desse, existe um outro bem
conhecido que você também deve ter ouvido falar: o UDP (User Datagram Protocol). Esses
dois protocolos são utilizados com frequência na Internet sob todos aqueles protocolos de
aplicação citados anteriormente neste capítulo. Eles também serão abordados nos volumes
subsequentes deste livro.
Abordaremos agora a camada 3 é que é denominada camada de Redes e é
responsável por controlar como os pacotes da rede são levados da origem para o destino.
Esta camada atribui um endereço único e global a cada dispositivo e prover direções de
qualquer ponto na rede, para qualquer outro ponto. Também se responsabiliza por realizar
o controle de congestionamento devido à presença de vários pacotes dividindo o mesmo
caminho, o que poderá provocar gargalos. Nesta camada são resolvidos problemas do tipo:
endereçamento, tamanho do pacote e interconexão de redes heterogêneas.
Existem dois tipos de protocolos usados na camada 3: protocolos roteados e
protocolos de roteamento. São exemplos de protocolos roteados: IP, IPX e AppleTalk.
Eles são responsáveis por funções de endereçamento. Como exemplos de protocolos de
roteamento, podemos citar RIP, OSPF e BGP. Estes últimos devem prover um caminho livre
de ida e volta através da rede. Certamente você nunca ouviu falar nesses protocolos, mas
não se preocupe, pois os estudaremos em outro volume deste livro, entretanto, certamente
você já escutou falar do IP (Internet Protocol).
Quem já escutou falar desse protocolo, foi no contexto de endereçamento, ou
seja, escutou algo do tipo “Qual o endereço IP da sua máquina?”. É isso mesmo, o IP, como
um protocolo roteável, é responsável pelo endereçamento. Cada máquina apresenta um
endereço IP, através do qual, outras máquinas poderão enviar mensagens para ela usando
28
29. Redes de Computadores
a rede.
A camada imediatamente abaixo da terceira é a camada de Enlace de dados (camada
2) que possibilita a transformação de um canal de transmissão bruto de dados, em uma linha
que pareça livre dos erros de transmissão não detectados na camada de rede. Os dados
de entrada são divididos em quadros que são transmitidos sequencialmente acrescidos
dos endereços das placas de rede de origem e destino. Esta camada responsabiliza-se
em resolver problemas causados pelos quadros repetidos, perdidos e danificados e pela
realização do controle de fluxo e de erros.
Você deve estar se questionando em relação à quantidade de funções que a
camada 2 possui. De fato são muitas atribuições e por este motivo ela foi dividida em duas
subcamadas: controle lógico de enlace e controle de acesso ao meio que serão mais bem
exploradas nos volumes subsequentes.
Para concluir a nossa apresentação sobre o modelo de camadas OSI, comentaremos
sobre a camada física. Nesta camada estão localizados todos os tipos de meio de transmissão
como cabos e conectores, por exemplo. Quem define se a presença de tensão elétrica em
uma linha de transmissão será representada por um bit “1” ou por um bit “0” é a camada
física. A camada física trata da transmissão de bits brutos por um canal de comunicação. O
projeto da rede deve garantir que, quando um lado enviar um bit 1, o outro lado o receberá
como um bit 1, não como um bit 0.
Após analisarmos as funções de cada camada do modelo OSI, vamos pensar em um
caso prático que envolva ações de todas as camadas. Suponha uma situação rotineira, em
que você peça para seu programa de e-mails baixar suas mensagens. Você estará solicitando
que o seu programa de e-mail inicie uma transmissão de dados na camada de aplicação
(camada 7) do protocolo utilizado (SMTP) com o servidor de e-mails. O seu pedido será
processado pela camada de aplicação, acrescentando informações referentes a esta camada
e passando os dados à camada imediatamente inferior (camada de apresentação). Esse
repasse de informações continua até que, ao chegar à camada física, o quadro será enviado
para o meio de transmissão, chegando, em seguida, ao dispositivo receptor que fará o
processo inverso, até que a mensagem chegue à camada de aplicação, que no nosso caso, é
o programa servidor de e-mail.
Para ficar mais claro, você poderá observar o esquema ilustrado na Figura 2.5. Toda
informação que é colocada por uma determinada camada na máquina do transmissor, será
retirada pela camada adjacente na máquina do receptor.
29
30. Redes de Computadores
Figura 2.5 - Meio Físico (Cabeamento de rede)
E então, ficou mais claro agora? Bem, agora que você já conhece o modelo de
referência OSI, será apresentado um outro modelo, onde três camadas do modelo OSI foram
suprimidas: o modelo de referência TCP/IP. Este modelo será apresentado na seção a seguir.
2.2 Modelo de Referência TCP/IP
O modelo de Referência TCP/IP surgiu com a ARPANET, uma rede de pesquisa
patrocinada pelo Departamento de Defesa americana e a percussora da Internet. Com o
passar dos anos, universidades e institutos de pesquisa americanos passaram a integrar
a ARPANET. As conexões utilizavam linhas telefônicas. Entretanto, novas redes via satélite
foram criadas e com elas também apareceram os problemas. A maioria deles estava
associada à falta de padrões de protocolos utilizados e isso levou à criação de uma nova
arquitetura de referência (TANEMBAUM, 2003).
Foi para atender a esse objetivo de padronização que surgiu o modelo de referência
TCP/IP. Ele foi assim chamado devido a dois principais protocolos que compõem a sua
arquitetura: o TCP e o IP. Quando conversamos anteriormente sobre o modelo OSI, já
falamos sobre esses protocolos, e para algumas pessoas, eles já não são tão estranhos, pois
continuam sendo utilizados atualmente na Internet.
Um dos fatores que levaram este modelo a se popularizar foi a sua arquitetura
aberta, de modo que qualquer fabricante pode adotar sua própria versão dos protocolos em
seu sistema operacional, sem precisar pagar pelos direitos autorais.
O modelo de referência TCP/IP também adotou a abordagem de camadas,
similarmente ao OSI, porém com 3 camadas a menos, ficando, então com 4 camadas:
Aplicação, Transporte, Inter-rede e Host-rede, conforme você pode observar na Figura 2.6.
30
31. Redes de Computadores
Figura 2.6 - Modelo de Referência TCP/IP
Você terá a oportunidade de conhecer um pouco das funções e dos protocolos
das camadas que compõem este modelo neste e nos outros volumes deste Livro, pois são
utilizados amplamente no mundo das redes de computadores. Começaremos introduzindo
a camada de Aplicação, pois é a camada superior e consequentemente aquela que está mais
perto de nós, os usuários dos aplicativos das redes.
No modelo TCP/IP, as camadas de sessão e de apresentação foram compactadas à
camada de Aplicação, pois os projetistas deste modelo não identificaram funcionalidades
necessárias para tais camadas. Os protocolos que operam nessas camadas já foram
apresentados na seção anterior, quando falamos da camada de Aplicação do modelo OSI.
São eles: HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail
Transfer Protocol), dentre outros.
A camada de Aplicação se comunica com a camada imediatamente inferior (camada
de transporte) através de uma porta virtual. As portas são numeradas e as aplicações padrão
utilizam sempre a mesma porta. Por exemplo, o protocolo HTTP utiliza a porta 80, ou seja,
quando você solicita uma página ao seu web-browser, o protocolo HTTP se comunica com
o protocolo da camada de Transporte usando a porta 80. A identificação dessas portas
permite ao protocolo da camada de Transporte saber qual é o tipo de informação que o
pacote de dados contém. Por exemplo, se vem pela porta 80, significa que é um conteúdo
de página web e se vem pela porta 25, é um conteúdo de e-mail (a porta 25 é referente
ao protocolo SMTP). A Figura 2.7 ilustra a separação dos pacotes por porta na camada de
Aplicação.
Figura 2.7 - Funcionamento da camada de aplicação
A segunda camada do modelo TCP/IP é a camada de Transporte que é responsável
por pegar os dados da camada de aplicação e transformá-los em pacotes que serão
repassados à camada inferior. Para este modelo, dois protocolos foram definidos nesta
camada: TCP (Transmission Control Protocol) e UDP (User Datagram Protocol).
O TCP é um protocolo confiável orientado à conexão, que permite a entrega
sem erros de um fluxo de bytes originado de uma determinada máquina. É responsável
por cuidar do controle de fluxo, impedindo que um transmissor rápido sobrecarregue
31
32. Redes de Computadores
um receptor lento com volume de mensagens muito grande. No destino, o processo TCP
receptor volta a montar as mensagens recebidas no fluxo de saída, pegando os pacotes
passados pela camada inferior e os colocando em ordem. Na recepção também é verificado
se todos os pacotes chegaram corretamente.
Já o protocolo UDP é sem conexão e não confiável, sendo utilizado em aplicações
que não necessitem de controle de fluxo nem de manutenção da sequência de mensagens
enviadas. Ele é atualmente usado em aplicações onde a entrega imediata é mais importante
que a entrega precisa, como, por exemplo, aplicações de vídeo-conferência.
Abaixo da camada de transporte do modelo TCP/IP está a camada Inter-rede, que
possui a função de entregar pacotes IP em qualquer rede e garantir que eles trafegarão
independentemente até o destino. Os pacotes podem até chegar em uma ordem diferente
daquela em que foram enviados, obrigando as camadas superiores a reorganizá-los, caso a
entrega em ordem seja desejável. Esta camada é responsável pelo roteamento de pacotes,
ou seja, são adicionadas ao datagrama, informações sobre o caminho que ele deverá
percorrer.
O principal protocolo desta camada é o IP (Internet Protocol), porém outros
protocolos também operam nessa camada. São eles: ARP (Address Resolution Protocol),
RARP (Reverse Address Resolution Protocol) e ICMP (Internet Control Message Protocol).
Como você já sabe, o protocolo IP é o principal desta camada. Talvez o que você
não saiba é que ele é não orientado a conexão, o que significa que ele não verifica se um
datagrama chegou ao seu destino. Essa tarefa fica a cargo do protocolo da camada de
transporte, caso seja orientado à conexão, como é o caso do TCP. A principal função do IP é o
roteamento, podendo inclusive fazer uso de mecanismos que possibilitem que o datagrama
chegue o mais rápido possível ao seu destino.
O ARP é o protocolo responsável por fazer a tradução de endereços IP para
endereços MAC das placas de rede. Mas o que é um endereço MAC? Toda placa de rede
possui um endereço previamente atribuído durante o momento de sua fabricação. Esse é o
endereço MAC.
Mas você sabe por que é necessária essa tradução? Em uma grande rede como a
Internet, os pacotes IPs são encaminhados até a rede de destino através dos roteadores.
Você não sabe o que são roteadores? Não tem problema, pois eles são equipamentos de
redes que serão explicados no Volume seguinte deste livro. Até o momento o que você
precisa compreender é que, quando os pacotes IPs chegam à rede de destino, o ARP atua
para detectar o endereço MAC da placa de rede para qual o pacote deve ser entregue
(máquina de destino), já que o pacote só possui o endereço IP e não o endereço MAC da
placa de rede. O protocolo RARP, por sua vez, faz o papel inverso, permitindo que uma
máquina descubra um endereço IP através de um endereço MAC.
O modelo de referência TCP/IP não especifica bem o que está abaixo da camada
Inter-rede. Você pode observar na Figura 2.6 que existe uma última camada denominada
host-rede. Como o próprio nome já sugere, esta camada está relacionada à conexão do host
com a rede, desde que seja utilizado algum protocolo que envie pacotes IP. O modelo não
especifica esse protocolo que está abaixo do IP e pode variar de host para host e de rede
para rede.
Você poderá observar na Figura 2.8, a síntese dos protocolos encontrados no
modelo TCP/IP e citados neste texto e os seus respectivos posicionamentos com relação às
camadas dos modelos OSI e TCP/IP (TANEMBAUM, 2003).
32
33. Redes de Computadores
Figura 2.8 - Principais Protocolos do Modelo OSI
2.3 OSI versus TCP/IP
Agora que você já conhece os dois principais modelos de referência para redes de
computadores, já podemos fazer um paralelo entre eles. Que diferenças você observou
entre os modelos OSI e TCP/IP? E as semelhanças?
Podemos citar algumas semelhanças:
» Ambos se baseiam no modelo de camadas onde cada uma oferece serviços à
camada superior e utiliza os serviços da camada inferior;
» As camadas equivalentes de ambos os modelos possuem funções semelhantes,
exceto pelo fato que as camadas 5 e 6 do modelo OSI foram eliminadas no TCP/IP
porque seus projetistas as julgaram sem importância;
» Uma camada tem um conjunto de métodos (operações) que os processos externos
podem invocar;
Com relação às diferenças, o que podemos citar são:
» O modelo OSI define três conceitos fundamentais: Serviços, Interfaces e Protocolos
e tenta tornar explícita a distinção entre eles. O modelo TCP/IP, por sua vez, não
distinguia com clareza a diferença entre esses conceitos;
» Os protocolos do modelo OSI são mais bem encapsulados que os do modelo TCP/IP,
o que facilita a substituição dos mesmos, à medida que a tecnologia evolui;
» O modelo OSI é mais flexível e genérico, pois não limita o uso de determinados
protocolos em cada camada, como faz o modelo TCP/IP que limita a adaptabilidade
a outras pilhas de protocolos;
» N o modelo TCP/IP, os protocolos vieram antes do próprio modelo e só através
deles foi criado a sua estrutura, não tendo uso para outras redes que não fazem uso
do protocolo TCP/IP;
» O modelo TCP/IP é amplamente utilizado nas redes atuais enquanto que o modelo
OSI serve apenas como referência, mas praticamente caiu em desuso.
Com relação a esse último tópico, você tem alguma ideia do motivo? Por que
será que o modelo OSI caiu em desuso e o TCP/IP está em uso contínuo? De acordo com
Tanembaum (2003), alguns fatores contribuíram para o crescente uso do modelo TCP/IP e o
desuso do OSI.
O lançamento do modelo OSI foi precipitado, pois neste mesmo momento, os
33
34. Redes de Computadores
protocolos da pilha TCP/IP já estavam sendo amplamente utilizados nas universidades e
centros de pesquisa, de modo que alguns fabricantes começaram a oferecer produtos TCP/
IP. No momento em que surgiu o modelo OSI, poucos estavam dispostos a investir em uma
nova proposta, a menos que fosse uma imposição do mercado.
Se você parar para observar as funções das camadas do modelo OSI, verá que ações
de controle de fluxo e controle de erros, por exemplo, aparecem repetidamente em algumas
camadas. Segundo Saltzer e colegas (1984), essa repetição de ações pode gerar ineficiência
e isso apresenta-se como um ponto negativo do modelo OSI. Já no modelo TCP/IP, essa
separação das funções evitando-se a repetição foi uma preocupação para a definição do
mesmo.
Aprenda Praticando
Agora é chegada a hora de você praticar os conceitos aprendidos. Para isso, alguns
exercícios foram selecionados como exercícios propostos. Você deverá tentar resolver todos
os exercícios propostos com o intuito de consolidar os conceitos aprendidos neste capítulo.
As questões de número 3 e 9 da Lista de Exercícios Propostos fazem parte das
atividades somativas que você deverá responder em relação ao capítulo 2, do Volume 1, de
acordo com as orientações e prazos sugeridos pelo seu professor e tutor.
Lista de Exercícios Propostos
1. Explique para que serve um protocolo considerando um ambiente de comunicação
de dados.
2. Explique os princípios das camadas que são utilizados no modelo de referência OSI.
3. Cite as sete camadas apresentadas pelo modelo OSI. Quais dessas camadas foram
desconsideradas para o modelo de referência TCP/IP?
4. Descreva a pilha TCP/IP, considerando todas as suas camadas, protocolos existentes
em cada uma e os serviços oferecidos.
5. Descreva o que significam protocolos orientados a conexão e não orientados a
conexão.
6. Qual a diferença entre protocolos de roteamento e protocolos roteados?
7. Qual a diferença entre os protocolos TCP e UDP? Quando cada um deles deve ser
utilizado? Eles são protocolos de que camada do modelo TCP/IP e do OSI?
8. Qual foi a motivação para o surgimento do modelo de referência TCP/IP?
9. Considerando o modelo de referência OSI, cite algumas atividades importantes
realizadas pelas seguintes camadas:
a) Camada de enlace de dados;
b) Camada de redes;
c) Camada de transporte.
34
35. Redes de Computadores
Atividades e Orientações de Estudos
Dedique 10 horas de estudo para o Capítulo 2. Você deve organizar uma
metodologia de estudo que envolva a leitura dos conceitos serão ditos apresentados neste
volume e pesquisas sobre o tema, usando a Internet e livros de referência.
Vamos trocar ideias nos fóruns temáticos desta disciplina no ambiente virtual,
pois a interação com colegas, tutores e o professor da disciplina irá ajudá-lo a refletir sobre
aspectos fundamentais tratados aqui. Os chats também serão muito importantes para a
interação em tempo real com o seu tutor virtual, seu professor e seus colegas.
Também é importante que você leia atentamente o guia de estudo da disciplina,
pois nele você encontrará a divisão de conteúdo semanal, ajudando-o a dividir e administrar
o seu tempo de estudo semanal. Procure responder as atividades propostas como atividades
somativas para este capítulo, dentro dos prazos estabelecidos pelo seu professor, pois você
não será avaliado apenas pelas atividades presenciais, mas também pelas virtuais. Muitos
alunos não acessam o ambiente e isso poderá comprometer a nota final. Não deixe que isso
aconteça com você!
Os assuntos abordados neste capítulo podem ser encontrados no Quiz de número 2
da disciplina de Redes de Computadores. Através do Quiz você poderá avaliar o seu próprio
desempenho. Após respondê-lo, você terá o resultado de seu desempenho e conhecerá as
suas deficiências, podendo supri-las nas suas próximas horas de estudo.
Vamos Revisar?
Neste capítulo, você aprendeu que para o pleno funcionamento de uma rede, são
necessários hardware e software. O hardware de redes é composto pelo meio físico de
transmissão (cabos ou o ar, para redes sem fio) e pelas interfaces de comunicação, como por
exemplo, as placas de rede. Já o software de redes é composto por um ou vários protocolos.
Um protocolo é um conjunto de regras que permitem que computadores distintos se
comuniquem.
O presente capítulo também abordou os principais modelos de referência utilizados
em ambientes de redes: os modelos TCP/IP e OSI. O modelo TCP/IP e seus protocolos
são amplamente utilizados na Internet nos dias atuais. Já o modelo OSI, embora mais
abrangente, não tem aplicação prática, mas é utilizado didaticamente para explicar os
conceitos, as funcionalidades e as relações entre as camadas.
Foi possível observar os fatores que levaram o OSI ao desuso e a ampla aceitação
do TCP/IP no mercado das redes de computadores. Aspectos comparativos, em relação aos
dois modelos, também foram apresentados neste capítulo.
Você estudará as principais aplicações utilizadas em ambiente de Internet, no
próximo capítulo. Aplicações como navegação na Web, correio eletrônico, telefonia via
Internet, dentre outras serão apresentadas a seguir.
35
36. Redes de Computadores
Capítulo 3 – Camada de Aplicação
Vamos conversar sobre o assunto?
Atualmente todos nós precisamos utilizar a Internet ou até mesmo computadores
em redes locais para acessar sites, programas, pagar contas, ler e-mails, assistir a vídeos,
telefonar e fazer buscas. Fazemos estas tarefas de forma tão automática que às vezes nos
perguntamos:
» Como os computadores conseguem se comunicar?
» Como trocam informações entre si?
» Como transmitem dados de forma tão transparente para nós usuários?
A cada dia estas dúvidas do funcionamento das redes e aplicações aumentam entre
os usuários e exatamente por isso, neste capítulo, será apresentado o funcionamento da
camada de aplicação, possibilitando o melhor entendimento do funcionamento da Internet.
Ao longo dos últimos 40 anos, diversas aplicações foram desenvolvidas e
aprimoradas. Desde aplicações mono-tarefas e mono-usuária, como era o caso dos editores
de textos no início dos computadores pessoais, até aplicações multi-usuárias, multi-tarefas
em rede, como correio eletrônico, transferência de arquivos e chats. Atualmente, com o
aumento da velocidade de acesso e da inclusão de dados multimídias, novas aplicações
surgiram, como WWW (World Wide Web), voz sobre IP (VoIP) e Vídeo na Internet, como os
apresentados no site youtube (www.youtube.com).
Desta forma, podemos concluir que o surgimento de novas aplicações está
condicionado a dois principais fatores: necessidades do usuário e o desenvolvimento de
novos equipamentos e computadores.
3.1 Conceitos Gerais
Quando comentamos sobre softwares aplicativos se comunicando por uma rede,
devemos ter em mente que não são os softwares que se comunicam, mas sim seus processos.
Podemos entender um processo como sendo um programa que está em execução tanto
em um computador local, como em um computador remoto, e a comunicação entre estes
processos é dada através da troca de mensagens. Neste capítulo, estaremos focando apenas
os processos que se comunicam em computadores distintos, ou seja, através de uma rede
de computadores.
Um processo de envio cria e envia mensagens, enquanto um processo de recepção
recebe e possivelmente responde esta mensagem de volta. Os protocolos da camada de
aplicação definem exatamente os formatos e as ordens das trocas de mensagens entre
os processos, assim como, qual a ação que deve ser executada ao receber ou enviar uma
mensagem.
36
37. Redes de Computadores
Figura 3.1 - Troca de mensagens entre processos
Se esta troca de mensagens ocorrer através de uma rede, onde de um lado temos
uma máquina cliente enviando mensagens e do outro uma máquina servidora recebendo e
respondendo estas mensagens, dizemos que temos uma arquitetura cliente-servidor.
Uma arquitetura cliente-servidor é composta por duas partes, de um lado temos
a máquina cliente, que faz requisições, por exemplo, um pedido de informações ou uma
página de um site, de outro lado tem a máquina servidor, que tem a função de receber as
requisições, processá-las e respondê-las. Esta arquitetura é ilustrada na Figura 3.2, utilizando
como exemplo a utilização de um browser para o acesso a um determinado site. Veja que
neste caso o browser é o aplicativo da máquina cliente que faz um pedido ao um servidor,
no caso o Google. Este servidor processa o pedido e responde ao cliente. Veremos maiores
detalhes ainda esta seção.
Figura 3.2 - Um exemplo da Arquitetura cliente-servidor do http
Como vimos na Figura 3.1, uma aplicação envolve dois processos em duas máquinas
diferentes comunicando-se através de uma rede. Estes dois processos se comunicam entre
si através de mensagens de requisições e respostas através de seus sockets.
37
38. Redes de Computadores
Podemos imaginar um socket como um processo que imita portas de entrada e
saída. Ou seja, quando um processo envia uma mensagem para outro processo em outro
computador, esta mensagem sai por uma porta de saída, assumimos que existe uma infraestrutura de transporte para enviar a mensagem a uma determinada porta de entrada do
socket destino. A Figura 3.3 ilustra este exemplo. Abordaremos mais detalhes sobre socket
no volume 2.
Figura 3.3 - Exemplo da comunicação por portas
Como podemos verificar na Figura 3.3, que o socket é uma interface entre a camada
de aplicação e a camada de transporte de um computador. Esta Interface de programas
de aplicação (API – Application Program Interface) é um conjunto de instruções e padrões
estabelecidos por um software para a utilização das suas funcionalidades por programas
aplicativos. Ou seja, cada protocolo fornece um conjunto de serviços, e a API fornece a
sintaxe por meio da qual esses serviços são acessados pelo Sistema operacional.
Para entendermos melhor, podemos tomar o exemplo de um sistema operacional
que possui grande quantidade de funções na API, permitindo ao programador criar janelas,
acessar arquivos, criptografar dados, etc. Neste caso, a API costuma ser dissociada de tarefas
mais essenciais, como manipulação de blocos de memória e acesso a dispositivos, deixando
estas tarefas para o núcleo do sistema (kernel).
Atualmente, o uso de APIs se generalizou com o aparecimento dos plugins, uma vez
que os autores do programa principal fornecem uma API específica para que outros criem
plugins, para estender as funcionalidades do programa para outros usuários.
Figura 3.4 - Processos, sockets e os protocolos de transportes
38
39. Redes de Computadores
Mas você deve estar se perguntando, “como uma mensagem consegue chegar a um
computador e saber qual processo irá recebê-la?”. Na hora que um processo for enviar uma
mensagem a um computador destino, ele deve identificar o endereço da máquina destino,
através do número IP e qual o processo destino estará apto para receber, através da porta
de recepção do processo destino. Logo, podemos definir inicialmente um socket como a
junção do número IP com a porta.
É como se você fosse entregar uma carta (mensagem) a alguém em um prédio, logo
você precisaria de um endereço do prédio (número IP) e o número do apartamento (porta)
que a pessoa (processo destinatário) estará esperando.
Você deve estar pensando: mas como uma aplicação pode saber qual a porta que
estará apta a receber suas mensagens no computador destino? Existe um padrão? Quem
padroniza?
A padronização é necessária para que um processo saiba exatamente qual porta
destino deverá enviar uma mensagem. O órgão responsável pela padronização é o IANA
(Internet Assigned Numbers Authority) que disponibiliza uma relação de portas e seus
respectivos protocolos no endereço: http://www.iana.org/assignments/port-numbers
Na tabela 1, podemos verificar os principais protocolos utilizados atualmente e suas
respectivas portas.
Protocolo
Porta
FTP
20, 21
SSH
22
TELNET
23
SMTP
25
HTTP
80
POP3
110
IMAP
143
SIP
5060
Tabela 1 - Protocolos e Portas segundo o IANA
Conheça Mais
Vale a pena visitar o site da IANA na página http://www.iana.org/assignments/portnumbers para verificar todos os protocolos padronizados e suas respectivas portas.
Porém, não podemos pensar que por apenas dizer o endereço completo para
a entrega de uma mensagem a um determinado meio de transporte, ela será entregue
tranquilamente. Imaginemos que, dependendo do meio de transporte, a mensagem pode
ser extraviada, perdida, sofrer atraso na entrega, etc. Assim como pode ocorrer para uma
mensagem na vida real, entre computadores interligados por uma rede, também pode
ocorrer o mesmo. Por isso, a aplicação deve escolher muito bem o seu “meio de transporte”,
dando importância principalmente para três parâmetros:
» Perda de pacotes
Atenção
Embora seja comum
encontrar a referência
das portas para a
RFC 1700, esta já
está obsoleta, e foi
substituída pela RFC
3232 que apenas
indica que devemos
procurar no site do
IANA.
39
40. Redes de Computadores
» Largura de Banda
» Atraso
A perda de pacotes está relacionada a algumas aplicações como correio eletrônico,
transferência de arquivos, transferência de documentos via web, etc., que necessitam que
seus dados sejam transferidos de forma totalmente confiável, ou seja, tudo que foi enviado
tem que ter chegado ao destino corretamente.
Existem aplicações tolerantes a pequenas perdas, como é o caso de aplicações
em tempo-real, de voz ou vídeo, que é mais importante a entrega mesmo que parcial dos
dados, do que a espera por todos os dados terem chegados para só então ser executado.
Para entender melhor este caso, você pode se imaginar assistindo a uma final
de Copa do Mundo, onde no último minuto do jogo vai ser cobrado um pênalti, e neste
exato momento, você recebe 5 minutos de vídeo do jogo que foi perdido do primeiro
tempo. Seria um desastre não? Não seria melhor deixar pra lá estes minutos perdidos, pois
já não importavam mais, e sim o momento atual, o do pênalti. Por este motivo existe a
possibilidade de transportes que se importam com a perda de pacotes e outros que não se
importam, pois dependerá do tipo de aplicação.
A largura de banda é um parâmetro importante, pois certas aplicações necessitam
de uma determinada largura de banda para que seus dados possam fluir sem problemas,
como é o caso da telefonia IP. Imagine que neste caso específico, a voz é empacotada a uma
determinada velocidade de 64kbps (utilizado a codificação G.711), e como existe uma certa
sincronia entre a fala de duas pessoas, o canal ou meio de transporte deve levar os dados
a pelo menos esta velocidade. Caso não seja possível, ou a aplicação não consegue enviar
os dados por este meio, ou ela deverá se adaptar a uma nova largura de banda, como por
exemplo, mudando a codificação a G.729a que necessita de uma taxa de 8Kbps, diminuindo
gradativamente sua qualidade de áudio. Mas devemos pensar, é melhor falarmos com
uma menor qualidade da voz, ou não falar nada? Este tipo de aplicação é chamado
aplicação elástica ou adaptativa à largura de banda. Caso a aplicação só possa utilizar uma
determinada largura de banda, dizemos que é uma aplicação sensível à largura de banda.
Outro fator importante que devemos levar em conta é o atraso fima-fim.
Principalmente devido a aplicações interativas de tempo-real, como telefonia IP, vídeoconferência e jogos multi-players on-line, que necessitam uma constante entrega de dados
para serem eficientes. Existem aplicações que são isócronas, ou seja, devem transmitir em
intervalos de tempo iguais, logo o atraso é um componente que atrapalhará esta aplicação.
Existem, porém, aplicações nas quais o atraso não é prioridade, e sim a entrega correta dos
pacotes, como é o caso do protocolo de transferência de arquivos FTP.
3.2 Entendendo o Transporte de Dados na
Internet
Abordaremos muito ao longo deste capítulo sobre meio de transporte e da
importância da aplicação escolher um meio adequado às suas necessidades. Para você
começar a entender melhor é necessário apresentar os protocolos da camada responsável
pelo transporte dos dados de uma aplicação através de uma rede. Como já comentado no
capítulo 1, os principais protocolos da camada de transporte são o TCP (Transfer Control
Protocol) e o UDP (User Datagram Protocol).
40
Sempre que um programador for desenvolver uma aplicação para uma rede (Local,
41. Redes de Computadores
Internet, etc.), ele deverá escolher qual o protocolo de transporte sua aplicação irá utilizar
para enviar ou receber seus dados. Cada protocolo possui diferentes características que
podem influenciar diretamente no melhor funcionamento da aplicação.
Figura 3.5 - A escolha protocolo de transporte depende da aplicação
Serviços TCP
O TCP proporciona um serviço orientado a conexão, serviço de transferência de
dados confiável, controle de congestionamento, controle de fluxo entre outros. Veremos
com detalhes todos estes serviços no Volume 2. No momento, é importante apenas
entendermos os seguintes serviços:
» Serviço orientado à conexão: para iniciar uma transmissão utilizando o protocolo
TCP, é necessário o estabelecimento de uma conexão, visando garantir que o
receptor saberá que o transmissor enviará dados, quando irá iniciar a transmissão,
qual a capacidade de transmissão suportada pelo destinatário por envio, e quando
a transmissão finalizará. Para ter acesso a estes dados o transmissor inicia um
procedimento chamado de three-way handshake, ou aperto de mão em três vias.
Na realidade, este “aperto de mão” significa a troca de mensagens de sincronismo
para garantir a conexão.
Figura 3.6 - O estabelecimento da conexão com o three-way handshake
41
42. Redes de Computadores
» Serviço de transporte confiável: outra característica importante no protocolo TCP
é a necessidade de saber se um determinado dado ou mensagem foi entregue sem
erros, na ordem correta e sem duplicação. O mecanismo que o TCP utiliza para
garantir a entrega chama-se acknowledgement ou simplesmente, confirmação de
recepção. Para cada dado enviado, é esperada uma confirmação de recebimento,
garantindo a entrega do dado.
Figura 3.7 - Serviço de entrega confiável de dados
Serviços UDP
O protocolo UDP é um serviço mais leve, que não se preocupa em garantir nenhum
dos serviços que o TCP oferece. Ou seja, ele não é orientado à conexão, não garante a
entrega confiável de dados, não faz controle de fluxo nem de congestionamento.
Logo você deve estar se perguntando então para que existe este protocolo? Este
protocolo serve para identificar, por meio dos números das portas origem e destino, para
qual o processo deve ser entregue os dados.
Tendo praticamente apenas esta funcionalidade, este protocolo deve ser leve, pois
é utilizado em aplicações que necessitem agilidade na formação do pacote ( o cabeçalho
UDP possui somente 8 bytes, enquanto TCP possui 20 bytes). Para este tipo de aplicação,
também é mais importante a entrega dos dados no tempo hábil, do que a retransmissão
dos pacotes perdidos.
No Volume 2 serão apresentados detalhadamente estes dois protocolos, suas
funções, seus cabeçalhos, vantagens e desvantagens.
3.3 Principais Protocolos da camada de aplicação
Agora que vimos todos estes principais conceitos, temos condições de entender
melhor o funcionamento de alguns dos principais protocolos utilizados na camada de
aplicação.
42
43. Redes de Computadores
É importante saber que existem milhares de protocolos de aplicação, e que ficaria
inviável explicarmos todos, pois a cada dia são criados novos protocolos ou atualizado os
antigos. Por este motivo, vamos apresentar apenas os protocolos de hipertextos (HTTP), de
Correio eletrônico, de transferência de arquivos, de controle de mídia e de multimídia, que
são os mais utilizados atualmente.
Vale apena lembrar que não podemos confundir camada de aplicação, com
aplicativos. A camada de aplicação é uma abstração onde os protocolos exercem
determinadas funções. Os aplicativos são softwares que utilizam os protocolos da camada
de aplicação. Por exemplo, o aplicativo Internet Explorer utiliza o protocolo HTTP para
transmitir e receber páginas web, ou um programa de aceleração de download, que utiliza o
protocolo FTP para transferir os dados.
World Wide Web (HTTP)
Para entendermos melhor o funcionamento da Internet atual, vale a pena
viajarmos um pouco no tempo. Você consegue imaginar como era a Internet no início dos
anos 90 aqui no Brasil? Antigamente acessávamos a Internet através de terminais textos,
onde podíamos usar um chat, trocar arquivos ou acessar informações nos quadros de avisos
conhecidos comos BBS (Bulletin Board Systems). Isso a uma velocidade de 2.4Kbps a no
máximo 14.4Kbps. Realmente eram tempos difíceis, se comparados com os atuais. Mas o
que deu este Boom no acesso à Internet? Por que mais e mais pessoas queriam comprar um
computador e estar conectado na “grande rede”?
A resposta desta pergunta se chama protocolo de transferência de hiper-textos ou
HTTP (Hypertext Transfer Protocol). Com este protocolo utilizando o ambiente gráfico de
um browser poderíamos ter acesso a informações em modo texto, gráficos, figuras ou links
que ligavam este documento a outros textos. Estava criada assim a grande teia desta rede
mundial de computadores, desde então o resto é história.
A principal ferramenta ainda utilizada hoje é um navegador 61 Redes de
Computadores (browser) que ao adicionarmos o endereço de um site, ele ”abre a página”
solicitada. Na realidade, temos que saber que este endereço chamamos de URL (Uniform
Resource Locators) e fornecem na realidade informações sobre a localização de objetos na
Web; Ele tem a seguinte forma:
http://www.ead.edu.br/index.html
Ao digitar esta URL específica, seu navegador vai criar uma conexão TCP com o
servidor Web na máquina denominada www.ead.edu.br, recuperar e mostrar o arquivo
chamado index.html. Nestas páginas, estão contidos textos, figuras, áudio, vídeo e muitas
vezes outras URLs que apontam para outros arquivos. São estas URLs que chamamos de
links de hipertextos ou simplesmente links. Assim, você pode passar de uma página para
outra, “navegando” entre elas.
Quando você digita uma URL para acessar uma página web, seu navegador (máquina
cliente) busca a página do servido Web utilizando o protocolo HTTP, que é executado sobre
o TCP. Logo, você já deve estar associando ao que falamos sobre arquitetura cliente-servido.
O protocolo HTTP é um protocolo orientado a texto, onde cada mensagem possui a
seguinte forma:
Você Sabia?
Atualmente os
navegadores mais
populares são o IE
(Internet Explorer)
e o Mozilla Firefox.
E os servidores Web
são o Apache e o IIS
(Internet Information
Server) da Microsoft.
START_LINE <CRLF>
MESSAGE_HEADER <CRLF>
<CRLF>
MESSAGE_BODY <CRLF>
43
44. Redes de Computadores
Isto, a princípio, é a estrutura que uma mensagem possui. A linha START_LINE
indica se é uma mensagem de solicitação ou de resposta. As mensagens de solicitação
especificam três coisas: a operação a ser realizada, a página a Web na qual a operação deve
ser realizada e a versão do HTTP sendo usado.
As linhas MESSAGE_HEADER podem ou não existir, onde podemos ter mensagens
de solicitação e mensagem de resposta. As duas operações mais comuns são GET que
buscam a página Web especificada e HEAD que busca informação e estado da página Web
especificada. Um exemplo da START_LINE de solicitação é: GET http://www.ead.edu.br/
HTTP/1.1
As mensagens de resposta começam com uma única linha START_LINE com a
especificação da versão do HTTP que está sendo utilizado, um código de três dígitos que
indica se a solicitação foi bem sucedida ou não, e uma string que apresenta o motivo da
resposta. Por exemplo, caso o servidor atenda à solicitação, será enviado uma mensagem
HTTP/1.1 202 Accepted; Caso a solicitação seja negada por não encontrar a referida página,
a mensagem será HTTP/1.1 404 Not Found.
O corpo da mensagem está na linha de MESSAGE_BODY onde tipicamente é vazia
para as mensagens de solicitação. Porém, nas mensagens de respostas podem conter a
página texto em HTML (HyperText Markup Language), assim como imagens e outros.
A seguir podemos olhar uma mensagem se resposta HTTP:
HTTP/1.1 200 OK
Connection: close
Date: Thu, 06 Out 2009 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jul 2009 20:15:24 GMT
Content-Length: 8231
Content-Type: text/html
dados dados dados dados dados ...
O Correio Eletrônico
O correio eletrônico é uma das formas mais populares de troca de informações
na Internet. Para entendermos melhor seu funcionamento imagine o correio convencional
onde você tem uma série de caixas postais, em que as pessoas enviam cartas para você, o
correio pega, organiza estas cartas e coloca dentro de sua caixa postal. Um dia você vai lá,
pega sua chave, abre sua caixa postal, pega suas cartas e lê.
O mecanismo é basicamente o mesmo. Onde você vai ter uma caixa postal que vai
receber as informações sem que você precise estar conectado na Internet. Então mesmo
com o computador desligado, você está recebendo e-mail. Quando você se conecta, a sua
máquina “automaticamente” vai ao servidor buscar as informações da sua caixa postal e
trás para você, e só então você poderá ler suas mensagens.
As mensagens de correio eletrônico podem incluir hiperlinks, texto ASCII puro ou
em formato HTML, imagens, áudio e vídeo. Iremos agora examinar os protocolos de camada
de aplicação que são os elementos centrais dos sistemas de correio eletrônicos na Internet.
O principal protocolo da camada de aplicação para envio de correio eletrônico na
44