You are on page 1of 14

43

Modelo OSI, TCP/IP e outros
protocolos de comunicação
44
O Modelo OSI

Para que sistemas diferentes possam comunicar em rede, é necessário garantir que todos
eles respeitem as mesmas regras. Para isso, algumas organizações mundiais são
responsáveis por criar modelos e padrões que são reconhecidos e seguidos pelos
fabricantes de hardware e software.

Uma dessas organizações é a International Standards Organization (ISO). Foi daqui que
surgiu o modelo OSI (Open Systems Interconnection).

Este, é um modelo teórico de uma arquitectura em camadas. Numa arquitectura em
camadas a informação passa de um nível de processamento para outro. Isto é, a
informação é tratada a um nível e só depois passa para o nível seguinte. Por outras
palavras, uma camada só faz o seu trabalho de processamento após a camada anterior
ter feito o seu. Os protocolos de comunicação são um exemplo de funcionamento por
camadas. (por exemplo, o protocolo TCP/IP).

O modelo OSI propõe uma aproximação de várias camadas às redes com a qual cada
camada executa um papel determinado na circulação de dados de uma máquina para
outra. Numa transmissão de dados entre computadores, cada camada “comunica” com a
mesma camada da outra máquina à qual está ligada.

Cada camada do modelo engloba um ou mais protocolos específicos para essa camada –
protocolos esses que iremos ver um pouco mais à frente.


Arquitectura - Um conjunto de camadas e protocolos é chamado de arquitectura de
rede.A definição de uma arquitectura deve conter informações suficientes para permitir
que se desenvolva um programa ou construa o hardwarede cada camada, de forma que
ela obedeça corretamente ao protocolo adequado. Basicamente, arquitectura é o desenho
de alguma coisa, as regras e especificações que dizem como algo deve ser construído e
como deve funcionar.



45
As camadas do modelo OSI são:


7 - Aplicação


é a camada mais alta do modelo
fornece serviços directamente às aplicações do
utilizador/sistema local
suporte de aplicações

6 - Apresentação


faz conversões de formatação ou códigos, preservando o
conteúdo da informação
soluciona os problemas de sintaxe que possam existir entre o
transmissor e o receptor
representação de dados

5 - Sessão


gere o correcto funcionamento da sessão estabelecida entre
duas máquinas
regras de comunicação

4 - Transporte


assegura que todos os dados são enviados para o receptor na
devida ordem
nesta camada opera o protocolo TCP
controlo de transporte dos dados

3 - Rede


fornece os endereços para os dados
escolhe o melhor caminho entre o emissor e o receptor
o protocolo IP trabalha nesta camada
gestão do endereçamento

2 - Ligação de
Dados


responsável pela correcta transmissão de dados através da
camada física
assegura que os dados chegam correctamente ao destino
controlo de transmissão

1 - Física


camada mais baixa (mais próxima da transmissão dos sinais)
define aspectos físicos da transferência de dados (por
exemplo, os níveis eléctricos que correspondem ao 0 e ao 1)
define a interface de hardware entre a máquina e os cabos
(placa de rede, switch, etc..)
ligação física

46
Funcionamento do modelo OSI

Como vimos, o modelo OSI compreende sete camadas funcionais e os respectivos
protocolos. Os utilizadores do modelo são os processos das aplicações colocados nas
máquinas que estão a comunicar, a que vamos denominar de sistemas locais.

Quando um processo ‘A’ de uma máquina pede o estabelecimento de comunicação com
o processo ‘B’ de outra máquina, fornece alguns parâmetros (dados...) necessários para
essa comunicação. Esses parâmetros podem ser: identificação do processo de destino,
taxa de erros aceitável, etc...

O ‘sistema local ‘A’, antes de iniciar a comunicação, vê qual a disponibilidade do
ambiente OSI e requisita o estabelecimento de uma ligação à camada de aplicação (a
mais alta)

A camada de aplicação, por sua vez, envia essa solicitação ao nível imediatamente
abaixo, e assim sucessivamente até chegar à camada física (a mais baixa).

Quando o pedido de comunicação chega à camada física, é feita uma ligação com o
‘sistema local B’, ao nível da sua camada física. Então, a camada imediatamente acima
– ligação de dados – é notificada e é estabelecida uma relação lógica através do
protocolo de ligação de dados ao nível destas camadas em ambos os sistemas.

De seguida, a camada de rede é notificada e o protocolo de rede – protocolo IP –
estabelece uma ligação com a camada de rede do outro sistema. É, então, estabelecida
uma ligação através da comutação (troca) de pacotes de rede (pacotes são conjuntos de
dados).

Quando a notificação chega à camada de transporte, é estabelecida uma ligação entre as
camadas de transporte dos dois sistemas (utilizando os protocolos respectivos).

Da mesma forma, todas as camadas seguintes utilizam o(s) seu(s) protocolo(s)
específicos para estabelecer ligação com a camada do mesmo nível em ambos os
sistemas.

Após ser estabelecida ligação entre as sete camadas, pode ser iniciada a comunicação
entre os dois processos.

Note-se que o modelo OSI é um modelo teórico, logo, a sua aplicação pode não ser tão
“directa” e tão obrigatória como se possa pensar.

Resumindo, os dados são colocados em pacotes, aos quais vai sendo acrescentada
informação necessária ao envio desse mesmo pacote através da rede. A informação é
acrescentada em cada camada da rede, passando depois à camada seguinte. Quando
chegam à camada física, os pacotes estão prontos a ser enviados através do meio físico
(cabo ou wireless). Do lado do emissor, os pacotes seguem o caminho inverso. Ou seja,
começam na camada física e vão sendo “abertos” e retirada a informação até que chega
à camada de aplicação.

47
Quando um computador tem informação para enviar, executa um pedido de envio dessa
informação para a camada de topo, ou seja, a camada de aplicação. O protocolo que está
na camada de aplicação executa o pedido e transfere-o para a camada inferior. As
restantes camadas inferiores executam as suas operações até enviarem a informação
para o computador seguinte através da camada física. No computador que recebe a
informação, o processo é feito de forma inversa, ou seja, da camada inferior para a
superior.

Na figura abaixo, mostra-se um exemplo de comunicação em “ambiente OSI” entre dois
sistemas diferentes (Windows e Linux).





Comunicação
Computador 1 Computador 2
Fluxo de Informação
Ethernet
48
Protocolos de Comunicação
J á vimos antes que é necessário utilizar protocolos comuns ao emissor e ao receptor, de
forma que eles se consigam comunicar. Em redes de computadores existe uma grande
variedade de protocolos que são responsáveis por garantir que as diversas fases de uma
comunicação sejam executadas correctamente (seja no envio de um email, na partilha de
ficheiros ou na consulta de uma página na Web, por exemplo)
Protocolos orientados ou não orientados à ligação (conexão)
Em telecomunicações, “orientado à conexão” refere-se a um meio de transmitir dados
em que os dispositivos utilizam um protocolo para estabelecer uma ligação do tipo
início-fim entre emissor e receptor, antes de ser iniciado o envio dos dados. Neste caso,
os dados são enviados seguindo sempre o mesmo caminho e há uma confirmação prévia
de que o receptor está pronto a receber os dados. Este tipo de protocolos garante uma
comunicação fiável, em que há um controlo dos dados transmitidos, de modo a garantir
que todos os dados chegam em condições.
No caso se protocolos não orientados à ligação, os dados são enviados de um lado para
o outro sem que a transmissão seja “preparada” anteriormente. Isto é, não há uma
confirmação de que o receptor esteja pronto a receber os dados. Eles são simplesmente
enviados - é claro que as transmissões que utilizam estes protocolos estão mais sujeitos
a erros..
Veremos mais adiante alguns protocolos orientados e outros não orientados à ligação.
49
TCP/IP
É um conjunto de protocolos de comunicação entre computadores em rede. Este nome
vem dos dois protocolos mais importantes do conjunto: o TCP (Transmission Control
Protocol - Protocolo de Controle de Transmissão) e o IP (Internet Protocol - Protocolo
de Internet).
Como podemos perceber pelo nome, os protocolos mais importantes deste conjunto são
o TCP e o IP.
TCP (Transmission Control Protocol) - é um dos protocolos sob os quais assenta a
Internet nos dias de hoje. A versatilidade e robustez deste protocolo tornou-o adequado
tanto para redes locais como para redes globais, já que este verifica se os dados são
enviados de forma correcta, na sequência apropriada e sem erros, pela rede (é, portanto,
um protocolo orientado à ligação). A maioria das aplicações de acesso à rede utilizam
este protocolo (por exemplo, os browsers que permitem aceder à Web...)
Características
- orientado à ligação
- ligação entre dois pontos
- utiliza várias técnicas para garantir que os pacotes de dados são entregues
correctamente e na ordem correcta
- transmissão full-duplex
- caso a transmissão falhe, os dados são enviados novamente
IP (Internet Protocol) – é um protocolo utilizado entre duas máquinas em uma rede
para fazer o encaminhamento dos dados, ou seja, para indicar o caminho que os dados
devem seguir na rede. Os dados numa rede são enviados em blocos chamados de
pacotes ou datagramas (estes últimos são utilizados pelo protocolo UDP – ver adiante).

Funcionamento
Quando se configura um computador para trabalhar em rede, é necessário que o mesmo
tenha um nome para que seja identificado pelos outros utilizadores da rede. Por
exemplo, “comp1” ou “PC1”.
Sendo o TCP/IP um conjunto de protocolos que permitem a interligação de
computadores, ele permite que, além do nome, os computadores (e outros dispositivos)
numa rede tenham um número, chamado de endereço IP. Assim, o nome do computador
e o endereço IP ficam associados.
Esta associação entre o nome e o endereço fica guardada em uma tabela o que permite
que os computadores se possam identificar e comunicar entre si.
50
As camadas do TCP/IP
Tal como no modelo OSI, este conjunto de protocolos pode ser visto como um modelo
de camadas, onde cada camada é responsável por um grupo de tarefas, fornecendo um
conjunto de serviços bem definidos para o protocolo da camada superior. As camadas
mais altas estão logicamente mais perto do utilizador (chamada camada de aplicação), e
as camadas mais baixas estão mais próximas dos meios físicos da rede.
As camadas do conjunto de protocolos TCP/IP são semelhante às do modelo OSI (7
camadas), mas no TCP/IP estão previstas apenas 4 camadas. Vejamos quais são, e quais
os protocolos associados a cada uma.
Camada Protocolos
4. Aplicação HTTP, SMTP, FTP, DHCP, DNS, SSH, RTP, Telnet,
SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent,
Ping...
3. Transporte TCP, UDP, SCTP, DCCP...
2. Internet IP (v4 e v6), ICMP, IPSec...
1. Ligação (acesso à rede) ARP, MAC (Acesso de Controlo ao Meio: Ethernet,
FDDI, RDIS, Frame Relay), 802.11, HDLC, Token
Ring,...

Comparação entre o modelo OSI e o TCP/IP
Embora, teoricamente, o modelo OSI e o TCP/IP partilhem algumas camadas, os dois
modelos não combinam exactamente. Por exemplo, as três camadas mais acima do
modelo OSI (aplicação, apresentação e sessão) são combinadas numa única camada no
TCP/IP (aplicação). Relembro que estes modelos são modelos teóricos e nem sempre é
possível aplicar na prática todos os aspectos neles referidos.

OSI TCP/I
Aplicação Aplicação
Apresentação
Sessão
Transporte Transporte
Rede
Ligação de dados Internet
Física Ligação (acesso à rede)
51
Outros protocolos do modelo TCP/IP
Segue-se uma lista de outros protocolos existentes no conjunto TCP/IP. Estes
protocolos estão presentes nas redes de computadores e, por isso, é importante saber
para que servem.
Estes protocolos são usados tanto pelos computadores de uma rede como por outros
dispositivos como switches e routers, por exemplo, seja para determinar quais os
dispositivos que estão ligados à rede como para determinar o caminho para enviar os
dados ou simplesmente manter a ligação.

HTTP (Hyper Text Transfer Protocol)
É o protocolo utilizado na comunicação entre um servidor de Internet e um browser.
Quando se abre uma página da Internet, vemos texto, imagens, links ou outros serviços
associados à Internet ou a uma intranet. O HTTP é o protocolo que permite tudo isto, é
o responsável por redireccionar os serviços, por exemplo, quando seleccionamos uma
“opção” numa página Web.
SMTP (Simple Mail Transfer Protocol)
Como o nome indica, este protocolo serve para efectuar a transferência de emails entre
servidores. O servidor de email utiliza o serviço POP (Post Office Protocol) ou o IMAP
(Internet Mail Access Protocol) para enviar mensagens de email aos utilizadores.
FTP (File Transfer Protocol)
Permite a transferência de ficheiros entre computadores, mesmo com sistemas
operativos diferentes. O “ftp” também é um comando que permite a ligação de um
cliente a um servidor FTP de forma a transferir dados via Internet ou intranet.
Normalmente, é necessário um programa que permita fazer a ligação ao servidor FTP,
embora em alguns casos também seja possível utilizar um browser. Por exemplo, para
colocarmos a nossa página Web num servidor de forma a permitir que seja acedido por
qualquer pessoa na Internet, utilizamos este protocolo para copiar os ficheiros (através
da aplicação/browser). Um endereço de FTP poderá ser do tipo: ftp://paginas.clix.pt
(repara no ftp:// em vez de html://).
Exemplos de aplicações FTP: FileZilla e SmartFTP.
SNMP (Simple Network Management Protocol)
É um procotolo de comunicação que permite recolher informação sobre todos os
componentes que estão na rede – switches, routers, bridges e computadores.
52
UDP (User Datagram Protocol)
É um protocolo de transporte, tal como o TCP, mas não é tão confiável. Isto é porque o
UDP não é orientado à conexão, não estabelece um caminho prévio antes de enviar os
dados nem confirma se eles foram bem entregues. Os dados são simplesmente enviados,
o que o torna mais rápido que o TCP (mas menos eficiente...). Algumas aplicações
utilizam UDP para garantir uma maior velocidade, mesmo podendo haver perda de
dados (nem sempre é fundamental obter TODOS os dados – por exemplo, numa
comunicação de vídeo, pode-se admitir “saltos” nas imagens).
ARP (Address Resolution Protocol)
O ARP estabelece uma ligação entre o endereço físico da placa de rede (o endereço
MAC) e o endereço IP. Uma placa de rede contém uma tabela onde está registada a
associação entre endereços IP (lógicos) e endereços MAC (físicos) de todos os
dispositivos da rede. Quando um computador, por exemplo, quer comunicar com outro
na rede, verifica essa tabela para saber se o computador está presente na rede. Se estiver,
envia os dados e o tráfego na rede é diminuído (pois os dados são enviados directamente
para o endereço correcto). Caso não encontre o outro computador, tem de enviar um
sinal chamado de pedido ARP para determinar o seu endereço.
ICMP (Internet Control Message Protocol)
O ICMP trabalha em conjunto com o IP e serve para enviar mensagens para responder a
pacotes de informação que não foram entregues correctamente. Quando isto acontece, é
enviada uma mensagem ICMP e os dados voltam a ser enviados.
Os routers e gateways devem estar programados para enviar mensagens ICMP quando
receberem datagramas que provoquem algum erro.
As mensagens ICMP geralmente são enviadas automaticamente em uma das seguintes
situações:
• Um pacote IP não consegue chegar ao seu destino (i.e. Tempo de vida do pacote
expirado)
• O Gateway não consegue retransmitir os pacotes na frequência adequada (i.e.
Gateway congestionado)
• O router indica uma rota melhor para a máquina a enviar pacotes.
Exemplos de ferramentas usadas em Windows baseadas nesse protocolo são:

- ping
- tracert
53
DHCP (Dynamic Host Configuration Protocol)
Dynamic Host Configuration Protocol, é um protocolo (que faz parte do conjunto de
protocolos TCP/IP) que oferece configuração dinâmica de terminais. Por exemplo,
concede endereços IP, máscaras de rede e outros parâmetros de configuração aos
clientes (nós) da rede.
O DHCP usa um modelo cliente-servidor, no qual o servidor DHCP mantém a gestão
dos endereços IP usados na rede.
Normalmente, um router como os utilizados em casa utiliza este protocolo para atribuir
os IPs aos computadores da rede.
Resumidamente, o DHCP opera da seguinte forma:
• Um cliente envia um pacote de dados UDP em broadcast (ou seja, destinado a
todas as máquinas) com um pedido DHCP
• Os servidores DHCP que capturarem este pacote irão responder com um pacote
de configurações onde constará, pelo menos, um endereço IP, uma máscara de
rede e outros dados opcionais, como o gateway, servidores de DNS, etc.
Critérios de atribuição de IPs
O DHCP oferece três tipos de atribuição (alocação) de endereços IP:
• Atribuição manual (IP estático) - existe uma tabela de associação entre o
endereço MAC do cliente e o endereço IP a fornecer. Esta associação é feita
manualmente pelo administrador da rede (por exemplo, configurando o router
para isso); por conseguinte, apenas os clientes cujo MAC consta nesta lista
poderão receber configurações desse servidor; os endereços das placas de rede
dos computadores têm de ser configuradas manualmente.

• Atribuição automática - Onde o cliente obtém um endereço de um espaço de
endereços possíveis, especificado pelo administrador. Geralmente qualquer
endereço MAC é aceite.

• Atribuição dinâmica - neste caso, é necessário que um computador ou outro
dispositivo (tipicamente, um router) que faça a atribuição dos endereços. Este
dispositivo utiliza o protocolo DHCP para atribuir IPs aos computadores da rede
que os requisitem. Para isso, os computadores deverão estar configurados para
requisitar um IP ao servidor de DHCP.
54
Na figura abaixo podemos ver a janela de configuração do endereço IP no sistema
operativo Windows XP. Repara nas duas opções de cima: “obter automaticamente um
endereço IP” (para pedir ao servidor DHCP um endereço) e “utilizar o seguinte
endereço IP” (para definir manualmente o endereço na caixa respectiva).
Nesta janela é possível configurar outros endereços, como o Gateway (ver adiante) e os
servidores DNS (como já vimos, o protocolo DHCP também é capaz de atribuir estes
endereços).

Configuração de endereços IP (Windows XP)
endereço da máquina (da
sua placa de rede)
máscara de sub-rede
endereço do Gateway
(ver adiante)
endereço dos servidores
DNS (normalmente são
disponibilizados pelo
fornecedor de Internet)
55
DNS
Domain Name System (Sistema de Nomes de Domínios), é um sistema que utiliza um
protocolo de gestão de nomes cuja função é traduzir os endereços escritos “por
palavras” em endereços IP escritos em números. Ou seja, os servidores DNS, contêm
listas de endereços onde os nomes estão relacionados com endereços IP. Por exemplo, o
endereço (URL) www.google.com pode corresponder, num servidor DNS, ao endereço
IP 64.68.92.29.
Funcionam como uma espécie de Páginas Amarelas gigante, com listas de milhares de
endereços de servidores existentes. Existem inúmeros servidores DNS “espalhados pela
Internet”; normalmente, os fornecedores de Internet têm os seus próprios servidores
DNS, e os seus clientes têm de configurar a sua rede de forma a obter os IPs a partir
desses servidores.

Funcionamento

Por exemplo, ao escrevermos www.google.com no browser, o nosso “pedido” vai para
um servidor DNS, que procura na sua lista o IP correspondente (por exemplo,
64.68.92.29) e o devolve ao nosso browser. A partir daí, o browser liga-se
automaticamente a esse endereço IP.

Normalmente, ao configurar uma rede/host é necessário definir o endereço IP do
servidor DNS. Se este não for automaticamente atribuído por DHCP, então, teremos de
saber esse endereço. Uma vez mais, na nossa rede doméstica, poderemos perguntar ao
fornecedor de Internet quais os endereços dos seus servidores DNS para configurarmos
a nossa rede (ou, então o nosso router obtém automaticamente esses endereços a partir
dos servidores do fornecedor de Internet).

56
IPX/SPX
Este protocolo é um protocolo proprietário (não é aberto/livre como o TCP/IP)
desenvolvido pela empresa Novell. IPX é o protocolo de um sistema operativo para
redes cliente-servidor chamado Netware. Fornece aos clientes serviços de partilha de
ficheiros, impressão, comunicação, fax, segurança, funções de correio eletrónico, etc.
O IPX/SPX tornou-se importante durante o início dos anos 80 como uma parte
integrante do Netware, da Novell. O NetWare tornou-se um padrão de facto para o
Sistema Operativo de Rede (SOR), da primeira geração de Redes Locais. A Novell
complementou o seu SOR com um conjunto de aplicações orientada para negócios, e
ferramentas para ligação das máquinas cliente.
NetBeui
É um protocolo de transporte de dados. É uma versão melhorada de um outro protocolo
– NETBIOS - usado por sistemas operativos de rede tais como: LAN Manager, LAN
Server, Windows for Workgroups, Windows 95 e Windows NT. O NetBIOS foi
desenvolvido para a IBM PC Network.
O NetBEUI foi melhorado pela IBM para o seu PC LAN Program e pela Microsoft para
o MS-NET em 1985. Mais tarde, a Microsoft e a Novel melhoraram-no para os seus
sistemas operativos de rede, LAN Manager e Netware.
O NetBEUI tem sido trocado pelo TCP/IP.
Ao contrário do TCP/IP, o NetBEUI foi concebido para ser usado apenas em pequenas
redes, e por isso acabou por se tornar um protocolo extremamente simples, que tem um
bom desempenho e não precisa de nenhuma configuração manual, como no TCP/IP. Em
compensação, o NetBEUI pode ser usado em redes de no máximo 25 máqunas e não é
permitido interligar duas redes com ele. É possível manter o NetBIOS activo juntamente
com o TCI/IP ou outros protocolos; neste caso os clientes tentarão comunicar usando
todos os protocolos disponíveis (se vires as propriedades de uma ligação de rede no
Windows, ainda podes encontrar o NetBEUI, juntamente com o TCP/IP).
Apesar de suas limitações, o NetBEUI ainda é usado em pequenas redes, por ser fácil de
instalar e utilizar, e ser razoavelmente rápido.