Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

ARQUITETURA E PROTCOLOS TCP/IP 
 
1 WWW.DOMINACONCURSOS.COM.BR 
Arquitetura e Protocolos TCP/IP 
O conjunto de protocolos TCP/IP foi projetado especialmente para ser o protocolo utilizado na Inter-
net. Sua característica principal é o suporte direto a comunicação entre redes de diversos tipos. Neste 
caso, a arquitetura TCP/IP é independente da infra-estrutura de rede física ou lógica empregada. De 
fato, qualquer tecnologia de rede pode ser empregada como meio de transporte dos protocolos 
TCP/IP, como será visto adiante. 
 
Endereçamento IP 
Existem duas versões dos protocolos IP: IPV4 e IPV6. A primeira é utilizada atualmente e está se es-
gotando devido a quantidade devido ao número de máquinas conectadas na Internet utilizando-o. Já 
o IPV6 está vindo para solucionar esse problema de escassez, sendo uma versão melhorada. 
IPV4 
Os endereços IP são compostos por 4 blocos de 8 bits (32 bits), sendo representados de 0 a 255, 
ou seja, as 256 possibilidades dos 8 bits. Cada bloco é chamado de “octeto”. A sua utilização em 
“octetos” é apenas para facilitar a visualização, mas quando processados, são apenas números biná-
rios. Total de endereços IP é de 4.294.967.296. 
Existem algumas faixas de IP que são reservadas para redes locais, que são as que iniciam da se-
guinte forma: 
10.x.x.x 
192.168.x.x 
172.16.x.x até 172.31.x.x 
O endereço IP é formado por duas informações principais: o endereço de rede e o endereço de host 
dentro da rede. Veja o exemplo do IP “10.0.0.4”, onde o primeiro octeto, o “10”, é o endereço de 
rede, já o segundo até o quarto octeto “0.0.4” é o endereço de host. Outro exemplo seria o IP 
“172.22.45.23”, onde “172.22” é o endereço de rede e “45.23” é o endereço de host. 
Existe também algumas regras quanto a validade de um IP, sendo os listados abaixo como inválidos: 
0.xxx.xxx.xxx – Nenhum IP pode começar com zero. Somente utilizado é para responder às requisi-
ções DHCP de uma máquina que entrou na rede; 
127.xxx.xxx.xxx – Chamado de “loopback”. Seria o endereço reservado para testes e para interface 
chamada de “loopback”, ou seja, a própria máquina. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
2 WWW.DOMINACONCURSOS.COM.BR 
255.xxx.xxx.xxx, xxx.255.255.255, xxx.xxx.255.255 – Nenhum identificador de rede pode ser 255 e 
nenhum endereço de host pode ser composto apenas de endereços 255, independente de classe do 
endereço. 
xxx.0.0.0, xxx.xxx.0.0 – Nenhum identificador de host pode ser composto apenas de zeros, pois são 
endereços reservados da rede. 
xxx.xxx.xxx.255, xxx.xxx.xxx.0 – Nenhum endereço de classe C pode terminar com 0 ou 255, pois 
são utilizados para envio de pacotes broadcast. 
Classes de Endereçamento IP 
Inicialmente os endereços IP foram divididos em classes que reservam um número diferente de octe-
tos para o endereçamento da rede, sendo elas chamadas de A, B, C, D e E. Dentre elas, apenas as 
classes A B e C são utilizadas realmente, pois a D e E são para utilização futura. Veja abaixo a sepa-
ração das classes: 
Classe A: 
Com tamanho de 8 bits no endereço de rede; 
Tamanho de 24 bits para endereços de hosts; 
O primeiro octeto decimal entre 1 e 126; 
Utiliza máscara de rede 255.0.0.0; 
Total de redes de 27-2 = 126; 
Total de hosts de 224-2 = 16.777.214; 
Classe B: 
Com tamanho de 16 bits no endereço de rede; 
Tamanho de 16 bits para endereços de hosts; 
O primeiro octeto decimal entre 128 e 191; 
Utiliza máscara de rede 255.255.0.0; 
Total de redes de 214-2 = 16.380; 
Total de hosts de 216-2 = 65.532; 
Classe C: 
Com tamanho de 24 bits no endereço de rede; 
Tamanho de 8 bits para endereços de hosts; 
O primeiro octeto decimal entre 192 e 223; 
Utiliza máscara de rede 255.255.255.0; 
Total de redes de 221-2 = 2.097.150; 
Total de hosts de 28-2 = 254; 
Classe D: 
Reservado para multicasting; 
Sendo o primeiro octeto decimal entre 224 e 239; 
ARQUITETURA E PROTCOLOS TCP/IP 
 
3 WWW.DOMINACONCURSOS.COM.BR 
Classe E: 
Reservado para pesquisas; 
Sendo o primeiro octeto decimal entre 240 e 247; 
IPV6 
Como já falei anteriormente, o IPV6 veio para resolver o problema da escassez de endereços IP do 
IPV4. 
Os endereços IP são compostos por 8 blocos de 4 caracteres do sistema hexadecimal em cada 
bloco, ou seja, 16 caracteres, totalizando 128 bits, sendo representados de 0 à F, ou seja, as 16 
possibilidades para cada caractere. Cada bloco é chamado de “octeto”. A sua utilização em “octe-
tos” é apenas para facilitar a visualização, mas quando processados, são apenas números binários. 
Total de endereços IP é de 340.282.366.920.938.463.463.374.607.431.768.211.456. 
Algumas outras características: 
Autoconfiguração do endereço, não sendo mais necessário o uso do DHCP; 
Endereçamento hierárquico, o que simplifica as tabelas de encaminhamento das tabelas dos roteado-
res da rede, o que diminui a carga de processamento deles; 
O cabeçalho foi totalmente remodelado; 
Cabeçalhos de extensão para guardar detalhes adicionais; 
Suporte a qualidade diferenciada para conexões diferenciadas para áudio e vídeo; 
Capacidade de extensão, podendo adicionar novas especificações de forma simples; 
Encriptação. Suporte a extensões que permitem opções de segurança. 
Um detalhe curioso sobre o endereçamento no IPV6 é a sua capacidade de ser encurtado. Veja o se-
guinte exemplo de endereço: 2001:247f:0000:0000:cd89:d4e2:bcd7:a36e. Onde tem os blocos com 
0000, podemos simplesmente substituir por um único zero, fi-
cando 2001:247f:0:0:cd89:d4e2:bcd7:a36e ou até mesmo 2001:247f::cd89:d4e2:bcd7:a36e 
Pode-se ainda: 
Utilizar letras minúsculas e maiúsculas; 
Utilizar as regras de abreviação, como omitir zeros à esquerda e representar zeros contínuos por “::“ 
Tipos de endereços 
Unicast – O endereço identifica apenas uma interface de rede. Desse modo, um pacote enviado a 
um endereço unicast é entregue a uma única interface. Cada endereço IPv4 unicast inclui uma ID de 
rede e uma ID de host. 
 
Multicast – Multicast é a entrega de informação para múltiplos destinatários simultaneamente usando 
a estratégia mais eficiente onde as mensagens só passam por um link uma única vez e somente são 
duplicadas quando o link para os destinatários se divide em duas direções. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
4 WWW.DOMINACONCURSOS.COM.BR 
 
Anycast – Um pacote destinado a um endereço multicast é enviado para todas as interfaces do 
grupo, mas somente um deles é escolhido. 
Há também uma uma associação entre endereços de rede e endpoints de rede: cada endereço de 
destino identifica um jogo de endpoints do receptor, mas somente um deles é escolhido em todo o 
tempo dado para receber a informação de qualquer remetente dado. 
 
Broadcast – Permite que a informação seja enviada para todas as maquinas de 
uma LAN, MAN, WAN e TANS, redes de computadores e sub-redes. 
 
Camadas TCP/IP 
TCP/IP é um acrônimo para o termo Transmission Control Protocol/Internet Protocol Suite, ou seja, é 
um conjunto de protocolos, onde dois dos mais importantes (o IP e o TCP) deram seus nomes à ar-
quitetura. O protocolo IP, base da estrutura de comunicação da Internet é um protocolo baseado no 
paradigma de chaveamento de pacotes (packet-switching). 
Os protocolos TCP/IP podem ser utilizados sobre qualquer estrutura de rede, seja ela simples como 
uma ligação ponto-a-ponto ou uma rede de pacotes complexa. 
Como exemplo, pode-se empregar estruturas de rede como Ethernet, Token-Ring, FDDI, PPP, ATM, 
X.25, Frame-Relay, barramentos SCSI, enlaces de satélite, ligações telefônicas discadas e várias ou-
tras como meio de comunicação do protocolo TCP/IP. 
A arquitetura TCP/IP, assim como OSI realiza a divisão de funções do sistema de comunicação em 
estruturas de camadas. Em TCP/IP as camadas são: 
ARQUITETURA E PROTCOLOS TCP/IP 
 
5 WWW.DOMINACONCURSOS.COM.BR 
Aplicação 
Transporte 
Inter-Rede 
Rede 
 
Vamos analisar cada uma das camadas da Arquitetura TCP/IP e vamos falar sobre os protocolos que 
são utilizados em cada uma delas.Camada Física / Enlace / Host / Rede 
A camada de rede é responsável pelo envio de datagramas construídos pela camada Inter-Rede. 
Esta camada realiza também o mapeamento entre um endereço de identificação de nível Inter-rede 
para um endereço físico ou lógico do nível de Rede. A camada Inter-Rede é independente do nível de 
Rede. 
Também chamada camada de abstração de hardware, tem como função principal à interface do mo-
delo TCP/IP com os diversos tipos de redes (X.25, ATM, FDDI, Ethernet, Token Ring, Frame Relay, 
sistema de conexão ponto-a-ponto SLIP, etc.). Como há uma grande variedade de tecnologias de 
rede, que utilizam diferentes velocidades, protocolos, meia transmissão, etc. esta camada não é nor-
matizada pelo modelo, o que provê uma das grandes virtudes do modelo TCP/IP: a possibilidade de 
interconexão e interoperação de redes heterogêneas. 
Os protocolos existentes nesta camada são: 
- Protocolos com estrutura de rede própria (X.25, Frame-Relay, ATM) 
- Protocolos de Enlace OSI (PPP, Ethernet, Token-Ring, FDDI, HDLC, SLIP, …) 
- Protocolos de Nível Físico (V.24, X.21) 
- Protocolos de barramento de alta-velocidade (SCSI, HIPPI, …) 
Protocolos de mapeamento de endereços (ARP – Address Resolution Protocol) – Este protocolo pode 
ser considerado também como parte da camada Inter-Rede. 
2-Camada de Rede / Inter-Rede / Internet 
Esta camada realiza a comunicação entre máquinas vizinhas através do protocolo IP. Para identificar 
cada máquina e a própria rede onde estas estão situadas, é definido um identificador, chamado ende-
reço IP, que é independente de outras formas de endereçamento que possam existir nos níveis inferi-
ores. No caso de existir endereçamento nos níveis inferiores é realizado um mapeamento para possi-
bilitar a conversão de um endereço IP em um endereço deste nível. 
Os protocolos existentes nesta camada são: 
- Protocolo de transporte de dados: IP – Internet Protocol; 
ARQUITETURA E PROTCOLOS TCP/IP 
 
6 WWW.DOMINACONCURSOS.COM.BR 
- Protocolo de controle e erro: ICMP – Internet Control Message Protocol; 
- Protocolo de controle de grupo de endereços: IGMP – Internet Group Management Protocol; 
- Protocolos de controle de informações de roteamento como BGP, OSPF e o RIP; 
Protocolo ARP “Address Resolution Protocol” – Permite certo computador se comunicar com outro 
computador em rede quando somente o endereço de IP é conhecido pelo destinatário. 
Protocolo RARP “Reverse Address Resolution Protocol” – Faz o contrário do protocolo ARP, ao invés 
de obter o endereço MAC da máquina, o protocolo RARP requisita o endereço de IP. 
O protocolo IP realiza a função mais importante desta camada que é a própria comunicação inter-re-
des. Para isto ele realiza a função de roteamento que consiste no transporte de mensagens entre 
redes e na decisão de qual rota uma mensagem deve seguir através da estrutura de rede para che-
gar ao destino. 
O protocolo IP utiliza a própria estrutura de rede dos níveis inferiores para entregar uma mensagem 
destinada a uma máquina que está situada na mesma rede que a máquina origem. Por outro lado, 
para enviar mensagem para máquinas situadas em redes distintas, ele utiliza a função de roteamento 
IP. Isto ocorre através do envio da mensagem para uma máquina que executa a função de roteador. 
Esta, por sua vez, repassa a mensagem para o destino ou a repassa para outros roteadores até che-
gar no destino. 
3-Camada de Transporte 
Esta camada reúne os protocolos que realizam as funções de transporte de dados fim-a-fim, ou seja, 
considerando apenas a origem e o destino da comunicação, sem se preocupar com os elementos in-
termediários. A camada de transporte possui dois protocolos que são o UDP (User Datagram Proto-
col) e TCP (Transmission Control Protocol). 
O protocolo UDP realiza apenas a multiplexação para que várias aplicações possam acessar o sis-
tema de comunicação de forma coerente. 
O protocolo TCP realiza, além da multiplexação, uma série de funções para tornar a comunicação en-
tre origem e destino mais confiável. São responsabilidades do protocolo TCP: o controle de fluxo, o 
controle de erro (checksum), a sequenciação e a multiplexação de mensagens. 
A camada de transporte oferece para o nível de aplicação um conjunto de funções e procedimentos 
para acesso ao sistema de comunicação de modo a permitir a criação e a utilização de aplicações de 
forma independente da implementação. Desta forma, as interfaces socket ou TLI (ambiente Unix) e 
Winsock (ambiente Windows) fornecem um conjunto de funções-padrão para permitir que as aplica-
ções possam ser desenvolvidas independentemente do sistema operacional no qual rodarão. 
4-Camada de Aplicação / Apresentação / Sessão 
A camada de aplicação reúne os protocolos que fornecem serviços de comunicação ao sistema ou ao 
usuário. Pode-se separar os protocolos de aplicação em protocolos de serviços básicos ou protocolos 
de serviços para o usuário: 
Protocolos de serviços básicos, que fornecem serviços para atender as próprias necessidades do sis-
tema de comunicação TCP/IP: DNS, BOOTP, DHCP 
Protocolos de serviços para o usuário: FTP, HTTP, Telnet, SMTP, POP3, IMAP, TFTP, NFS, NIS, 
LPR, LPD, ICQ, RealAudio, Gopher, Archie, Finger, SNMP e outros 
Tabelas de Roteamento 
Quando um pacote chega em uma das interfaces do roteador, ele analisa a sua tabela de rotea-
mento, para verificar se contém uma rota para a rede de destino. Pode ser uma rota direta ou então 
para qual roteador o pacote deve ser enviado. Este processo continua até que o pacote seja entregue 
na rede de destino, ou até que o limite de 16 hopes tenha sido atingido. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
7 WWW.DOMINACONCURSOS.COM.BR 
Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento: 
 
Cada linha é uma entrada da tabela. Por exemplo, a linha a seguir é que define o Default Gateway da 
ser utilizado: 
200.175.106.54 200.175.106.54 1 
Neste tópico você aprenderá sobre os campos que compõem uma entrada da tabela de roteamento e 
o significado de cada campo. Também aprenderá a interpretar a tabela de roteamento que existe em 
um computador com o Windows 2000, Windows XP ou Windows Server 2003. 
Entenda os campos que compõem as entradas de uma tabela de roteamento: 
Uma entrada da tabela de roteamento possui os campos indicados no esquema a seguir e explicados 
logo em seguida: 
 
Network ID: Este é o endereço de destino. Pode ser o endereço de uma rede (por exemplo: 10.10. 
10.0), o endereço de um equipamento da rede, o endereço de uma sub-rede (veja detalhes sobre 
sub-rede mais adiante) ou o endereço da rota padrão (0.0.0.0). 
A rota padrão significa: "a rota que será utilizada, caso não tenha sido encontrada uma rota específica 
para o destino". Por exemplo, se for definida que a rota padrão deve ser envida pela interface com IP 
10.10.5.2 de um determinado roteador, sempre que chegar um pacote, para o qual não existe uma 
rota específica para o destino do pacote, este será enviado pela roda padrão, que no exemplo seria a 
interface 10.10.5.2. Falando de um jeito mais simples: Se não souber para onde mandar, manda para 
a rota padrão. 
Network Mask: A máscara de sub-rede utilizada para a rede de destino. 
Next Hop: Endereço IP da interface para a qual o pacote deve ser enviado. Considere o exemplo a 
seguir, como sendo uma entrada de um roteador, com uma interface de WAN configurada com o IP 
número 10.200.200.4: 
 
ARQUITETURA E PROTCOLOS TCP/IP 
 
8 WWW.DOMINACONCURSOS.COM.BR 
Esta entrada indica que pacotes enviados para a rede definida pelos parâmetros 10.100.100.0/255. 
255.255.0, deve ser enviada para o gateway 10.200.200.1 e para chegar a este gateway, os pacotes 
de informação devem ser enviados pela interface 10.200.200.120. 
Neste exemplo, está entrada está contida na tabela interna de roteamento de um computador com o 
Windows Server 2003, cujo número IP é 10.200.200.120 e o default gateway configurado é 
10.200.200.1. 
Neste caso, quandoeste computador quiser se comunicar com um computador da rede 10.100.100.0, 
será usada a entrada de roteamento descrita neste item. Nesta entrada está especificado que paco-
tes para a rede 10.100.100.0, com máscara 255.255.255.0, devem ser enviados para o default gate-
way 10.200.200.1 e que este envio deve ser feito através da interface de rede 10.200.200.120, que 
no nosso exemplo é a placa de rede do computador. 
Uma vez que o pacote chegou no default gateway (na interface de LAN do roteador), o processo de 
roteamento, até a rede de destino (rede 10.100.100.0) é o processo descrito nas análises anteriores. 
Interface: É a interface através da qual o pacote deve ser enviado. Por exemplo, se você estiver anali-
sando a tabela de roteamento interna, de um computador com o Windows Server 2003, o número IP 
do campo interface, será sempre o número IP da placa de rede, a não ser que você tenha mais de 
uma placa de rede instalada. 
Metric: A métrica é um indicativo da distância da rota, entre destino e origem, em termos de hopes. 
Conforme descrito anteriormente, pode haver mais de um roteador entre origem e destino. Também 
pode haver mais de um caminho entre origem e destino. 
Se for encontrada duas rotas para um mesmo destino, o roteamento será feito pela rota de menor va-
lor no campo Metric. Um valor menor indica, normalmente, um número menor de hopes (roteadores) 
entre origem e destino. 
Analisando a tabela de roteamento de um computador com o Windows (2000, 2003 ou XP): 
Agora que você já conhece os conceitos de tabelas de roteamento e também conhece os campos 
que formam uma entrada em uma tabela de roteamento, é hora de analisar as entradas de uma ta-
bela de roteamento em um computador com o Windows Server 2003 instalado. 
No Windows Server 2003, o protocolo TCP/IP é instalado automaticamente e não pode ser desinsta-
lado (esta é uma das novidades do Windows Server 2003). 
Ao instalar e configurar o protocolo TCP/IP, o Windows Server 2003 cria, na memória do servidor, 
uma tabela de roteamento. 
Esta tabela é criada, dinamicamente, toda vez que o servidor é inicializado. Ao desligar o servidor o 
conteúdo desta tabela será descartado, para ser novamente recriado durante a próxima inicialização. 
A tabela de roteamento é criada com base nas configurações do protocolo TCP/IP. 
Existem também a possibilidade de adicionar entradas estáticas. Uma entrada estática fica gravada 
em disco e será adicionada a tabela de roteamento durante a inicialização do sistema. 
Ou seja, além das entradas criadas automaticamente, com base nas configurações do TCP/IP, tam-
bém podem ser acrescentadas rotas estáticas, criadas com o comando route, o qual descreverei mais 
adiante. 
Para exibir a tabela de roteamento de um computador com o Windows Server 2003 (ou com o Win-
dows 2000, ou Windows XP), abra um Prompt de comando, digite o comando indicado a seguir e 
pressione Enter: 
Route Print 
Será exibida uma tabela de roteamento, semelhante a indicada na Figura a seguir, onde é exibida a 
tabela de roteamento para um servidor com o número IP: 10.204.200.50: 
ARQUITETURA E PROTCOLOS TCP/IP 
 
9 WWW.DOMINACONCURSOS.COM.BR 
 
Vamos analisar cada uma destas entradas e explicar a função de cada entrada, para que você possa 
entender melhor os conceitos de roteamento. Rota padrão: 
 
Esta rota é indicada por uma identificação de rede 0.0.0.0 com uma máscara de sub-rede 0.0.0.0. 
Quando o TCP/IP tenta encontrar uma rota para um determinado destino, ele percorre todas as entra-
das da tabela de roteamento em busca de uma rota específica para a rede de destino. Caso não seja 
encontrada uma rota para a rede de destino, será utilizada a rota padrão. 
Em outras palavras, se não houver uma rota específica, mande para a rota padrão. Observe que a 
rota padrão é justamente o default gateway da rede (10.204.200.1), ou seja, a interface de LAN do 
roteador da rede. 
O parâmetro Interface (10.204.200.50) é o número IP da placa de rede do próprio servidor. Em outras 
palavras: Se não houver uma rota específica manda para a rota padrão, onde o próximo hope da rede 
é o 10.204.200.1 e o envio para este hope é feito através da interface 10.204.200.50 (ou seja, a pró-
prio placa de rede do servidor). 
Endereço da rede local: 
 
Esta rota é conhecida como Rota da Rede Local. Ele basicamente diz o seguinte: "Quando o ende-
reço IP de destino for um endereço da minha rede local, envia as informações através da minha placa 
de rede através da minha placa de rede (observe que tanto o parâmetro Gateway como o parâmetro 
Interface estão configurados com o número IP do próprio servidor). Ou seja, se for para uma das má-
quinas da minha rede local, manda através da placa de rede, não precisa enviar para o roteador. 
Local host (endereço local): 
 
Este endereço faz referência ao próprio computador. Observe que 10.204.200.50 é o número IP do 
servidor que está sendo analisado (no qual executei o comando route print). Esta rota diz que os pro-
gramas do próprio computador, que enviarem pacotes para o destino 10.204.200.50 (ou seja, envia-
rem pacotes para si mesmo, como no exemplo de dois serviços trocando informações entre si), de-
vem usar como Gateway o endereço de loopback 127.0.0.1, através da interface de loopback 
127.0.0.1. Esta rota é utilizada para agilizar as comunicações que ocorrem entre os componentes do 
ARQUITETURA E PROTCOLOS TCP/IP 
 
10 WWW.DOMINACONCURSOS.COM.BR 
próprio Windows Server 2003, dentro do mesmo servidor. Ao usar a interface de loopback, toda a co-
municação ocorre a nível de software, ou seja, não é necessário enviar o pacote através das diversas 
camadas do protocolo TCP/IP, até que o pacote chege na camada de enlace (ou seja, a placa de 
rede), para depois voltar. 
Ao invés disso é utilizada a interface de loopback para direcionar os pacotes corretamente. Observe 
que esta entrada tem como máscara de sub-rede o número 255.255.255.255. Esta máscara indica 
que a entrada é uma rota para um endereço IP específico (no caso o próprio IP do servidor) e não 
uma rota para um endereço de rede. 
Network broadcast (Broadcast de rede): 
 
Esta rota define o endereço de broadcast da rede. Broadcast significa enviar para todos os computa-
dores da rede. Quando é utilizado o endereço de broadcast, todos os computadores da rede recebem 
o pacote e processam o pacote. 
O broadcast é utilizado por uma série de serviços, como por exemplo o WINS, para fazer verificações 
periódicas de nomes, para enviar uma mensagem para todos os computadores da rede, para obter 
informações de todos os computadores e assim por diante. 
Observe que o gateway é o número IP da placa de rede do servidor e a Interface é este mesmo nú-
mero, ou seja, para enviar um broadcast para a rede, envie através da placa de rede do servidor, não 
há necessidade de utilizar o roteador. Um detalhe interessante é que, por padrão, a maioria dos rote-
adores bloqueia o tráfego de broadcast, para evitar congestionamentos nos links de WAN. 
Rede/endereço de loopback: 
 
Comentei anteriormente que os endereços da rede 127.0.0.0 são endereços especiais, reservados 
para fazer referência a si mesmo. Ou seja, quando faço uma referência a 127.0.0.1 estou me refe-
rindo ao servidor no qual estou trabalhando. Esta roda indica, em palavras simples, que para se co-
municar com a rede de loopback (127.0.0.0/255.0.0.0), utilize "eu mesmo" (127.0.0.1). 
Multicast address (endereço de Multicast): 
 
O tráfego IP, de uma maneira simples, pode ser de três tipos: Unicast é o tráfego direcionado para 
um número IP definido, ou seja, com um destinatário. Broadcast é o tráfego dirigido para todos os 
computadores de uma ou mais redes. 
E tráfego Multicast é um tráfego direcionado para um grupo de computadores, os quais estão configu-
rados e "inscritos" para receber o tráfego multicast. 
Um exemplo prático de utilização do multicast é para uma transmissão de vídeo através da rede. Va-
mos supor que de uma rede de 1000computadores, apenas 30 devem receber um determinado ar-
quivo de vídeo com um treinamento específico. 
Se for usado tráfego unicast, serão transmitidas 30 cópias do arquivo de vídeo (o qual já é um arquivo 
grande), uma cópia para cada destinatário. Com o uso do Multicast, uma única cópia é transmitida 
através do link de WAN e o tráfego multicast (com base no protocolo IGMP), entrega uma cópia do 
arquivo apenas para os 30 computadores devidamente configurados para receber o tráfego multicast. 
Esta rota define que o tráfego multicast deve ser enviado através da interface de rede, que é o nú-
mero IP da placa de rede do servidor.Lembrando do Capítulo 2, quando falei sobre classes de ende-
reços, a classe D é reservada para tráfego multicast, com IPs iniciando (o primeiro número) a partir de 
224. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
11 WWW.DOMINACONCURSOS.COM.BR 
Limited Broadcast (Broadcast Limitado): 
 
Esta é a rota utilizada para o envio de broadcast limitado. O endereço de broadcast limitado é formato 
por todos os 32 bits do endereço IP sendo iguais a 1 (255.255.255.255). Este endereço é utilizado 
quando o computador tem que fazer o envio de um broadcast na rede local (envio do tipo um para to-
dos na rede), porém o computador não conhece a número da rede local (network ID). 
Você pode perguntar: Mas em que situação o computador não conhecerá a identificação da rede lo-
cal? Por exemplo, quando você inicializa um computador, configurado para obter as configurações do 
TCP/IP a partir de um servidor DHCP, a primeira coisa que este computador precisa fazer é localizar 
um servidor DHCP na rede e requisitar as configurações do TCP/IP. Ou seja, antes de receber as 
configurações do DHCP, o computador ainda não tem endereço IP e nem máscara de sub-rede, mas 
tem que se comunicar com um servidor DHCP. 
Esta comunicação é feita via broadcast limitado, onde o computador envia um pacote de formato es-
pecífico (chamado de DHCP Discover), para tentar descobrir um servidor DHCP na rede. Este pacote 
é enviado para todos os computadores. Aquele que for um servidor DHCP irá responder a requisição 
do cliente. Aí o processo de configuração do DHCP continua (conforme descreverei na seção sobre 
DHCP), até que o computador esteja com as configurações do TCP/IP definidas, configurações estas 
obtidas a partir do servidor DHCP. 
Sub-Redes e Super-Redes IPv4 
Inicialmente o espaço de endereçamento era largamente superior a qualquer tipo de necessidade em 
qualquer instituição isoladamente. 
À medida que as várias redes IPv4 foram interligadas, vindo a formar o que hoje é conhecido por "in-
ternet", começou a avolumar-se um grave problema porque todos os endereços tinham de ser únicos. 
O espaço de endereçamento começou a não ser suficiente para as crescentes necessidades. 
Para além do espaço de endereçamento limitado (32 bits), as regras de endereçamento que dividem 
as redes em classes revelaram-se também muito restritivas, levando ao "desperdicio" de muitos en-
dereços, pois o aproveitamento de cada rede apenas se verifica para um número exacto de nós, que 
raramente corresponde às situações concretas. 
Para resolver este problema começou mais tarde o desenvolvimento do IPv6, com endereços de 128 
bits. O desenvolvimento do IPv6 foi algo demorado e tiveram de ser encontradas soluções mais expe-
ditas para manter o IPv4 no activo, elas são fundamentalmente duas: 
Sub-redes e Super-redes - Trata-se de reduzir ou eliminar o referido desperdicio de endereços devido 
à divisão em classes. 
Tradução de endereços (NAT) - esta técnica permite ligar uma rede IP à "internet" usando um único 
endereço oficial, em lugar de um endereço para cada nó no interior dessa rede. 
Apesar de estas soluções serem consideradas temporárias, resolveram de forma muito eficiênte o 
problema da escasses de endereços do IPv4 e acabaram por retardar a adopção do IPv6, que ainda 
não é muito usado. 
Sub-Redes e Super-Redes 
Trata-se de uma mesma técnica que consiste na manipulação da máscara de rede, inicialmente as 
máscaras de rede possuiam apenas três valores possíveis correspondentes às três classe de rede: 
FF.00.00.00 (11111111.00000000.00000000.00000000) - classe A 
FF.FF.00.00 (11111111.11111111.00000000.00000000) - classe B 
FF.FF.FF.00 (11111111.11111111.11111111.00000000) - classe C 
ARQUITETURA E PROTCOLOS TCP/IP 
 
12 WWW.DOMINACONCURSOS.COM.BR 
Note-se ainda que estas máscaras de rede estão implicitamente associadas aos endereços porque 
os dois primeiros bits do endereço identificam a classe. 
0?????(...) - classe A (FF.00.00.00) 
10????(...) - classe B (FF.FF.00.00) 
11????(...) - classe C (FF.FF.FF.00) 
A manipulação da máscara de rede consiste no avanço ou recuo da máscara, no primeiro caso criam-
se sub-redes, no segundo caso criam-se super-redes. 
Divisão em sub-redes 
O avanço da máscara consiste em activar bits (passar ao valor 1) imediatamente à direita dos bits 
que estão activos na máscara "normal". Isso significa que o número de bits usados para identificar os 
nós em cada rede diminui, teremos então redes mais pequenas, mas por outro lado teremos mais bits 
para identificar a rede, o que significa que teremos mais redes (sub-redes). 
Agrupamento em super-redes 
O recuo da máscara consiste em desactivar bits (passar ao valor 0) imediatamente à esquerda dos 
bits que estão inactivos na máscara "normal". Isso significa que o número de bits usados para identifi-
car os nós em cada rede aumenta, teremos então uma rede de maior dimensão (super-rede), mas 
por outro lado teremos menos bits para identificar a rede, o que significa que teremos menos redes. 
SIMULADOR DE MASCARAS DE REDE IPv4 
(JavaScript) 
Cuidados na manipulação da máscara de rede 
A manipulação da máscara de rede tem um impacto enorme sobre o aproveitamento dos endereços, 
um dos exemplos mais evidente é a interligação de nós intermédios através de ligações dedicadas: 
Tratando-se de nós IP é necessário definir uma rede IP sobre a ligação dedicada, sem criar sub-re-
des, a única solução era atribuir a essa ligação uma rede de classe C. Isso constituia um despedicio 
enorme de endereços, já que dos 254 endereços de nó de uma rede de classe C, apenas eram usa-
dos 2. 
Usando sub-redes podemos avançar a máscara até que apenas fiquem 2 bits com o valor 0 (mascara 
FF.FF.FF.FC), nestas condições, uma única rede de classe C permite criar 64 sub-redes com capaci-
dade para dois nós cada. 
O exemplo apresentado ilustra também outro facto, em termos teóricos a divisão em sub-redes con-
duz a um desperdicio de endereços, dos 254 nós de uma rede de classe C passamos a ter 64 redes 
com dois nós cada, ou seja, 128 nós. 
Este facto deve-se ao facto de em cada rede estarem reservados o endereço do nó 0 (endereço da 
rede) e o endereço de nó com os bits todos 1 (endereço de "broadcast"). Para além destes dois ende-
reços, a definição de uma rede implica também a ligação a um encaminhador ("router") o que ocupa 
ainda mais um endereço. 
Este desperdicio é meramente teórico pois é largamente compensado pela melhor adaptação do ta-
manho das redes às realidades existentes. 
A manipulação da máscara de rede deve ser realizada de uma forma consciente: 
O primeiro cuidado fundamental é garantir que nunca existe sobreposição das redes (endereços co-
muns). 
- Ao definir uma super-rede vamos ocupar espaço de endereçamento de várias redes. Por exemplo, 
em redes de classe C, para criar uma super-rede por recuo de um bit na máscara de rede será neces-
sário usar as duas redes de classe C correspondentes aos dois valores possíveis para esse bit, para 
ARQUITETURA E PROTCOLOS TCP/IP 
 
13 WWW.DOMINACONCURSOS.COM.BR 
recuar 2 bits serão necessárias as 4 redes de classe C correspondentes aos valores possiveis desses 
bits. 
- Na divisão em sub-redes colocam-se os mesmos problemas, embora a separação das várias sub-
redes seja normalmente clara, se forem aplicadas simultanemente várias mascaras a uma mesma 
rede é necessárioter cuidado para evitar qualquer tipo de sobreposição. 
Problema exemplo: necessitamos de 6 ligações dedicadas a 6 redes com cerca de 20 nós cada: 
 
Uma rede de classe C é suficiente: 
se usarmos a mascara FF.FF.FF.E0 (27 bits - avanço de 3 bits) obtemos 8 sub-redes com capaci-
dade para 30 nós cada. 
das oito redes disponíveis, 6 seriam directamente usadas e uma das duas restantes poderia ser sub-
divididas usando a mascara FF.FF.FF.FC (30 bits), daqui resultariam 8 sub-redes de dois nós cada. 
As tabelas seguintes mostram os valores binários do último octeto, para as várias sub-redes, com a 
parte de nó preenchida com "?". Pode-se verificar que não existem sobreposições, e por isso a solu-
ção é válida. 
Aplicando a mascara FF.FF.FF.E0 obtemos 8 redes com capacidade para 30 nós: 
.000|????? 30 nós - .1 a .30 
.001|????? 30 nós - .33 a .62 
.010|????? 30 nós - .65 a .94 
.011|????? 30 nós - .97 a .126 
.100|????? 30 nós - .129 a .158 
.101|????? 30 nós - .161 a .190 
.110|????? 30 nós - .193 a .222 
.111|????? 30 nós - .225 a .254 
 
Se garantirmos que (por exemplo) a última rede não é usada (.225 a .254), podemos aplicar-lhe a 
mascara FF.FF.FF.FC e deste modo obter 8 redes com dois nós cada: 
.111|000|?? 2 nós - .225 e .226 
.111|001|?? 2 nós - .229 e .230 
ARQUITETURA E PROTCOLOS TCP/IP 
 
14 WWW.DOMINACONCURSOS.COM.BR 
.111|010|?? 2 nós - .233 e .234 
.111|011|?? 2 nós - .237 e .238 
.111|100|?? 2 nós - .241 e .242 
.111|101|?? 2 nós - .245 e .246 
.111|110|?? 2 nós - .249 e .250 
.111|111|?? 2 nós - .253 e .254 
 
Tomando como exemplo a rede de classe C 193.201.232, a solução com todos os endereços especi-
ficados poderia ser: 
 
Note-se ainda o respeito por um princípio prático importante, segundo o qual devemos deixar sempre 
disponíveis endereços para ampliação da infraestrutura, a curto prazo. Neste caso particular, além de 
cada rede poder ser ampliada até 29 nós, existe uma rede de reserva, bem como endereços para a 
respectiva ligação dedicada. 
Este tipo de soluções é bastante flexível, mas deve ser sempre validado com cuidado, tal como aqui 
se usam duas mascaras diferentes sobre uma mesma rede de classe C, nada nos impede de usar 
um qualquer número de mascaras distintas sobre uma qualquer rede de qualquer classe. O que é im-
portante é que não existam endereços que pertençam a mais do que uma rede. 
O segundo aspecto critico na manipulação das máscaras de rede consiste em compreender para que 
servem as máscaras e deste modo perceber o impacto que a sua manipulação vai ter. 
As máscaras de rede servem para extrair de uma forma expedita a parte de rede de um dado ende-
reço, para isso é efetuado o "AND" lógico, bit-a-bit com a máscara de rede. 
Esta operação é o primeiro passo para o encaminhamento correcto dos dados IP que se baseia sem-
pre unicamente na parte de rede: 
Nós finais - Quando um nó pretende enviar dados aplica a máscara de rede ao endereço de destino, 
se obtém o endereço da rede em que se encontra sabe que pode comunicar diretamente, caso con-
trário terá de enviar os dados a um encaminhador/nó intermédio ("router"). 
Nós intermédios - os nós intermédios têm como missão encaminhar os dados até ao destino correcto, 
para o efeito possuem tabelas com endereços de rede, respectiva mascara, e próximo nó. Quando 
chegam dados a um nó intermédio, as várias máscaras existentes na tabela vão ser aplicadas ao en-
dereço de destino, se o resultado é o endereço de rede correspondente, então os dados são envia-
dos para o "próximo nó" correspondente. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
15 WWW.DOMINACONCURSOS.COM.BR 
Como é fácil deduzir, para que as manipulações das máscaras de rede funcionem sem problemas é 
necessário que em todos os nós onde as respectivas redes são definidas estejam sempre presentes 
as máscaras corretas. 
Contudo este tipo de informação não pode normalmente ser propagada para os encaminhadores da 
"internet", isto que dizer que estes encaminhadores trabalham na suposição de que as máscaras não 
são manipuladas. Podemos por isso afirmar que a manipulação das máscaras de rede é uma defini-
ção apenas com efeito local. 
Isto significa que, por exemplo, não é possível dividir uma rede em duas sub-redes e ligar as mesmas 
a dois pontos distintos da "internet". As sub-redes, sob o ponto de vista da "internet", têm de estar 
agrupadas no mesmo ponto de acesso, porque sob o ponto de vista da "internet" continuam a ser 
uma única rede. 
Tradução ae Endereços (NAT) 
O manuseamento das máscaras de rede (divisão em sub-redes e agrupamento em super-redes), per-
mite eliminar os grandes desperdícios de endereços que de outra forma seriam inevitáveis. O número 
de endereços disponibilizado desta forma acabou por se revelar insuficiente para a grande expansão 
da "internet" e o que verdadeiramente "salvou" o IPv4 de uma substituição rápida pelo IPv6 foi a tra-
dução de endereços. 
Ao observar o tipo de nós finais ligados à "internet", facilmente se constata que a grande maioria as-
sume unicamente o papel de cliente, ou seja apenas recebem respostas aos pedidos por eles formu-
lados, nunca recebem pedidos provenientes da "internet". 
Os nós finais nestas condições não necessitam de estar directamente ligados à "internet", para isto 
ser possível o "router" que assegura a ligação é substituido por servidores "proxy" de aplicações. 
 
Os servidores "proxy" têm como finalidade optimizar o acesso aos servidores na "internet", para isso 
colocam-se numa posição de intermediários entre cliente e servidor. 
Por exemplo quando um cliente na rede local (configurado para usar o servidor "proxy"), usa um 
"browser" para abrir uma página "WEB": 
O cliente, em lugar de contactar o servidor onde a página reside, contacta o servidor "proxy" e for-
nece-lhe o endereço da página. 
O servidor "proxy" verifica se possui uma cópia da página em questão e se a cópia está actualizada, 
se tal não acontecer contacta o servidor e copia a página para a sua "cache". 
O servidor "proxy" responde ao cliente, enviando-lhe a página pedida. 
 
ARQUITETURA E PROTCOLOS TCP/IP 
 
16 WWW.DOMINACONCURSOS.COM.BR 
Como se pode verificar os clientes não necessitam de ter acesso à "internet", basta-lhes aceder ao 
servidor "proxy". Por seu lado o servidor "proxy" necessita de acesso à "internet". 
Nestas condições os podemos dizer que os endereços dos clientes são privados porque nunca comu-
nicam diretamente com a "internet", ou seja os pedidos relativos a estes clientes circulam na "internet" 
tendo como endereço de origem o endereço do servidor "proxy", do mesmo modo as respectivas res-
postas têm como destino o endereço do servidor "proxy", os endereços dos clientes nunca transpare-
cem para a "internet". Sob o ponto de vista da "internet" estes clientes não existem. 
Numa configuração deste tipo a rede local com endereços privados é também conhecida por rede pri-
vada, teoricamente numa rede privada podem ser usados quaisquer endereços, contudo para evitar 
consequências para a "internet" no caso de haver uma falha e "passarem" endereços privados para a 
"internet" foram estabelecidas determinadas gamas de endereços para este efeito: 
10.XXX.XXX.XXX - uma rede de classe A 
172.16.XXX.XXX a 172.31.XXX.XXX - 16 redes de classe B 
192.168.0.XXX a 192.168.255.XXX - 256 redes de classe C 
Uma vez que estes endereços não estão atribuídos a ninguém, o facto de por acidente se deixarem 
escapar pacotes com estes endereços não deverá afetar terceiros. 
As redes privadas baseadas em "proxies" de aplicação são perfeitamente funcionais, mas na prática 
apenas são aconselháveis para ambientes em que o leque de aplicações de rede usadas é muito li-
mitado. 
Para que uma rede privada baseada em "proxies" de aplicação funcione é necessário um servidor 
"proxy" (processo/aplicação) para cada protocolo de aplicação usado, além disso a utilização deste 
tipo de "proxy" não é directa, isto é cada protocolo de aplicação usado e respectivo "software" clientede rede tem de suportar a utilização de "proxy". 
Se para alguns protocolos como o HTTP e o FTP o suporte de "proxy" é um dado adquirido, para ou-
tros protocolos isso nem sempre acontece. 
Apesar destes inconvenientes os "proxies" de aplicação têm algumas vantagens únicas: 
Eficiência de acesso - para os protocolos de acesso a ficheiros públicos em modo de leitura o "proxy" 
armazena cópias locais dos ficheiros evitando sucessivos acessos via "internet". 
Segurança - ao trabalhar com um protocolo de aplicação estes "proxies" podem analisar e controlar 
os acessos atendendo às especificidades do protocolo, por exemplo analizando o nome de utilizador 
e respectiva autenticação. 
NAT - Proxy Transparente 
Os "proxy" transparentes funcionam a um nível muito inferior, em lugar do nível de aplicação traba-
lham no nível de rede ou transporte, ao contrário dos anteriores assemelham-se muito a um encami-
nhador ("router"). 
Os "proxies" transparentes encaminham pacotes (Ex.: "datagramas" UDP) de forma absolutamente 
idêntica à de um vulgar "router", contudo manipulam os endereços de origem e destino, algo que um 
"router" "normal" não faz. Deste facto provem a designação "Network Address Translation" (NAT). 
A manipulação dos endereços tem como objectivo "esconder" uma ou várias redes (privadas) "por 
trás" de um ou vários endereços oficiais. 
 
ARQUITETURA E PROTCOLOS TCP/IP 
 
17 WWW.DOMINACONCURSOS.COM.BR 
Para evitar que os endereços privados cheguem à rede oficial ("internet"), o "proxy" transparente 
substitui os endereços de origem de todos os pacotes que são enviados para a rede oficial pelo seu 
próprio endereço oficial. 
Para manter a capacidade de encaminhar os dados para o endereço de origem correcto na rede pri-
vada usa-se um artificio baseado nos números de porto, imagine-se que um cliente na rede privada 
envia um pedido para a "internet": 
O cliente requesita um "porto" ao sistema operativo local. 
O cliente usa o "porto" para enviar para o "router" 
O "router" aplica o algoritmo de encaminhamento e desloca o pedido para a interface com a "internet". 
Depois de internamente encaminhado, o "router" abre um porto para proceder ao envio do pacote 
para a "internet". 
O "router" fixa (numa tabela NAT) que esse "porto" corresponde ao endereço de origem que o pacote 
tem (Endereço de Rede + Número de Porto). 
O "router" altera o endereço de origem do pacote e envia-o. 
Algures na "internet" o servidor responde, enviando a resposta para o "porto" do "router", por consulta 
da tabela NAT o "router" determina que o endereço de destino deve ser substituido pelos valores (En-
dereço de Rede + Número de Porto), que se encontram na tabela. 
O "router" encaminha a resposta para o cliente. 
Com este modo de funcionamento, nem cliente, nem servidor se apercebem do que se está a passar, 
esta técnica é, portanto, independente dos protocolos de aplicação, destas caracteristicas provém a 
designação "transparente". 
Note-se que a tradução de endereços passa-se únicamente na interface ligada à rede oficial e exclu-
indo as manipulações realizadas nessa interface, todo o restante funcionamento é o de um "router" 
"normal". 
 
Note-se que estão em jogo duas traduções de endereços: 
Na saída do pedido o endereço de origem é alterado - SNAT ("Source NAT"). 
Na entrada da resposta o endereço de destino é alterado - DNAT ("Destination NAT"). 
NAT estático 
Como foi visto, quando os pedidos são originários dos clientes que se encontram na rede privada, a 
tabela NAT é criada automaticamente. Estas entradas na tabela NAT servem para indicar que a che-
gada de dados a um dado porto da interface externa deve ser redireccionada (DNAT) para um dado 
número de porto e endereço IP na rede privada. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
18 WWW.DOMINACONCURSOS.COM.BR 
Sendo isto verdade, então também será possível definir estáticamente entradas DNAT nessa tabela e 
com isso conseguimos facultar o acesso externo a servidores na rede privada. Cada uma destas en-
tradas estáticas deverá conter: 
Número de porto a escutar na interface da "internet". 
Endereço IP de destino (na rede privada). 
Número de porto de destino. 
Os clientes residentes na "internet" apenas podem contactar estes servidores usando o endereço IP 
oficial que assegura a ligação externa do "router". 
Quando chega um pedido a um "porto" nestas condições, vai passar-se o seguinte: 
O pedido é aceite na interface externa do router e o seu endereço e porto de destino são alterados 
para coincidir com o que está na tabela (DNAT). 
O pedido é encaminhado, chegando ao servidor no interior da rede privada. 
O servidor responde, tendo como destino o endereço do cliente na internet. 
Depois de encaminhado no "router", é verificado que existe uma entrada na tabela NAT correspon-
dente a esse endereço/número de porto de origem e por isso o endereço de origem/número de porto 
é alterado (SNAT) por forma a coincidir com a entrada estática na tabela. 
Sob o ponto de vista do cliente, localizado na "internet", aparentemente está a comunicar com um 
servidor que se encontra localizado na interface externa do "router". 
Continuam a existir duas traduções de endereços, mas agora em ordem inversa: 
Na entrada do pedido o endereço de destino é alterado - DNAT ("Destination NAT"). 
Na saída da resposta o endereço de origem é alterado - SNAT ("Source NAT"). 
A definição de entradas estáticas DNAT permite facultar o acesso a vários servidores no interior da 
rede privada, contudo estes servidores terão de ser de tipos diferentes para que usem diferentes nú-
meros de porto e assim possam ser distinguidos na interface externa. Se pretendermos facultar 
acesso a vários servidores do mesmo tipo na rede privada, o problema complica-se. 
Para facultar acesso a vários servidores do mesmo tipo terá de ser usado outro fator além do número 
de porto, pois este será igual para todos estes servidores. 
A técnica mais simples consiste em atribuir mais do que um endereço oficial à interface externa do 
"router", deste modo torna-se simples distinguir os vários servidores no interior da rede privada, cada 
endereço oficial corresponde a um servidor distinto. As entradas estáticas DNAT passam então a 
conter: 
Número de porto a escutar na interface da "internet" (externa). 
Endereço IP a escutar na interface da "internet" (externa). 
Endereço IP de destino (na rede privada). 
Número de porto de destino. 
Controlo de fluxo e erros 
Estas são duas funções fundamentais para assegurar a ligação lógica. O controlo de fluxo é um me-
canismo que evita que um nó receba mais dados do que pode absorver. O controlo de erros tem por 
missão corrigir erros na transmissão dos dados, o mecanismo mais usado é o ARQ ("Automatic Re-
peat Request"). 
ARQUITETURA E PROTCOLOS TCP/IP 
 
19 WWW.DOMINACONCURSOS.COM.BR 
Em ambos os casos os mecanismos usados envolvem retorno de informação de controlo do receptor 
para o emissor logo são fortemente afectados pelo atraso de propagação normalizado. 
Controlo de Fluxo 
Um receptor usa um "buffer" finito tipo FIFO para armazenar temporariamente os dados até que os 
níveis superiores os absorvam (grosso modo trata-se de uma fila de espera), como o "buffer" é finito 
existe sempre alguma probabilidade de encher com consequente perda de dados. 
Para evitar esta situação o receptor tem de dar a conhecer ao emissor o estado do seu "buffer", o me-
canismo mais simples de controlo de fluxo é conhecido por "stop & wait": 
O emissor envia um pacote de cada vez, de seguida espera por um "acknowledgment" (ACK) do re-
ceptor, só depois de o receber é que pode enviar outro pacote. 
O receptor só envia o ACK ao emissor se possui espaço suficiente no "buffer" de recepção. 
Este procedimento é muito afectado pelo atraso de propagação 
O tempo total necessário para o envio de um pacote é dado pela soma das seguintes parcelas: tempo 
de transmissão do pacote (Tt); atraso de propagação; tempo de processamento no receptor; tempode transmissão do ACK; atraso de propagação; tempo de processamento no receptor. Ou seja: 
Ttot = Tt + Tprop + Tproc + Tack + Tprop + Tproc 
Normalmente os valores mais significativos são Tt e Tprop, num cálculo aproximado podemos des-
prezar os restantes, sendo então: Ttot = Tt + 2 x Tprop 
A eficiência de utilização da linha de transmissão (U) é dada pela razão entre o tempo de transmissão 
de um pacote e o tempo de ocupação do sistema que isso produz, ou seja: 
U = Tt / (Tt + 2 x Tprop) 
Usando o atraso de propagação normalizado temos então: U = 1 / (1 + 2a) 
As redes locais não são neste aspecto muito afectadas pelo atraso de transmissão, numa rede local 
os valores de a estão geralmente na gama 0,01 a 0,1 dando normalmente origem a eficiências entre 
83% e 98%. 
Em ligações de longa distância este fenómeno torna-se mais pesado, o caso extremo são as ligações 
por satélite onde os valores de a podem atingir a ordem dos milhares, e a eficiência se situa muitas 
vezes abaixo dos 10%. 
Aparentemente os valores elevados no atraso de propagação poderiam ser compensados pela utiliza-
ção de pacotes de maior dimensão, originando valores mais elevados de Tt, contudo existem diver-
sas razões pelas quais isso não é conveniente: 
Obriga a um aumento proporcional nos "buffers" de emissão e recepção. 
Como o controlo de erros é efectuado pacote a pacote, quanto maior for o seu tamanho maior é a 
probabilidade de um pacote conter um erro, obrigando à retransmissão de todo o pacote. Se forem 
usados pacotes pequenos a quantidade de dados retransmitida é muito menor. 
Em meios físicos partilhados a utilização de pacotes grandes produz uma ocupação prolongada do 
meio de transmissão por um nó, originando tempos de espera elevados nos outros nós. 
Protocolo de Janela Deslizante ("Sliding Window Protocol") 
A solução consiste no envio e ACK de pacotes em conjunto, o emissor começa por enviar um número 
de pacotes w que designaremos de "tamanho da janela". O tamanho da janela é o número de pacotes 
que podem ser enviados sem qualquer ACK do receptor. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
20 WWW.DOMINACONCURSOS.COM.BR 
O tamanho de janela é conhecido tanto pelo emissor como pelo receptor, até porque este último tem 
de reservar inicialmente um "buffer" com capacidade para w pacotes, com "stop & wait" apenas ne-
cessitava de reservar espaço para um pacote. 
Para garantir o funcionamento do mecanismo, tanto os pacotes como os ACK são númerados de 0 a 
w. Esta númeração evita que o receptor tenha de enviar ACK individuais para todos os pacotes. 
Compreende-se facilmente o funcionamento sabendo que a regra base é de que o número de paco-
tes que podem ser enviados sem ACK do receptor é w. Por exemplo: 
Se o receptor envia ACK-8 quer dizer que já retirou do "buffer" todos os pacotes até PAC-8, nesta si-
tuação o emissor fica a saber que pode manter sem ACK os w pacotes depois do PAC-8. 
A eficiência deste método depende do facto de o ACK-0 chegar antes ou depois de o emissor en-
viar w pacotes (esgotar a janela). Esta questão só se põe numa linha "full-duplex", se a linha é "half-
duplex", tal como na animação acima, só depois de os pacotes chegarem ao destino e a linha se en-
contrar livre é que o receptor pode enviar o ACK. Numa linha "half-duplex" a eficiência nunca será de 
100%. 
Pelo contrário, numa linha "full-duplex", tal como se pode verificar no esquema seguinte, desde que o 
ACK-0 chegue ao emissor antes de este esgotar a janela a emissão de pacotes pode ser continua. A 
figura seguinte ilustra o funcionamento numa linha "full-duplex" com w=4 e uma eficiência de 100%: 
 
O tempo necessário a esgotar a janela é: w x Tt, normalizando (relativamente a Tt) será : w 
O tempo necessário para receber o ACK-0 é : Tt + 2 x Tprop, normalizando será : 1 + 2a 
Assim, se: 
w > 1 + 2a 
, o ACK-0 chega ao emissor antes de esgotar a janela, logo a emissão de pacotes é continua, a efici-
ência é de 100 %. 
w < 1 + 2a 
, o emissor esgota a janela antes de chegar o ACK-0, logo para enviar w pacotes necessitou de 
tempo adicional, exactamente o tempo necessário ao envio de 1 + 2a pacotes. 
A eficiência é portanto: U = w / (1 + 2a) 
É importante verificar que estes calculos supõem uma linha dedicada "full-duplex", caso contrário 
nunca seria possivel enviar um ACK enquanto o emissor está a transmitir uma "rajada" de pacotes. 
Os nós funcionam simultanemente como emissores e receptores, existindo circulação de pacotes e 
ACK nos dois sentidos, a técnica conhecida por "piggybacking" permite que os sinais de ACK sejam 
colocados nos pacotes que circulam em sentido inverso, aumentando a eficiência de utilização. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
21 WWW.DOMINACONCURSOS.COM.BR 
O campo de "piggybacking" é implementado nos pacotes de dados e geralmente, mesmo que já te-
nha sido enviado um ACK individual, ele volta a ser enviado no pacote de dados pois é necessário 
preencher o campo e de qualquer modo este ACK funciona como um "backup" caso o primeiro se 
perca. 
O procedimento descrito explica a razão pela qual, para uma janela de w pacotes, existem w+1 nú-
meros de sequência, imagine-se a seguinte situação numa linha "full-duplex": 
Os números de sequência são 0 a 3. 
A janela é de 4 pacotes. 
O emissor transmite o PKT-0 
O receptor responde com ACK-0 
O emissor transmite o PKT-1;PKT-2;PKT-3;PKT-0 (perfeitamente legal porque depois do ACK-0 a ja-
nela ficou novamente em 4). 
O emissor recebe ACK-0. Trata-se de uma réplica do primeiro ACK-0 devido ao "piggybacking" ou da 
confirmação dos últimos quatro pacotes enviados? 
Para evitar esta situação a largura da janela deve ser inferior à gama de valores para os números de 
sequência. 
Como os números de sequência são transmitidos na forma binária com n bits têm gamas com 2n va-
lores distintos, enquanto a janela tem um comprimento w = 2n - 1. 
Mesmo sem "piggybacking", a utilização de w = 2n colocaria problemas sempre que ocorressem erros 
nos ACK: 
Os números de sequência são 0 a 3. 
A janela é de 4 pacotes. 
O emissor transmite o PKT-0 a PKT-3 
O receptor responde com ACK-3 e espera receber a seguir PKT-0 da nova janela 
O ACK-3 não chega ao emissor, este esgota o temporizador e retransmite PKT-0 a PKT-3. 
O receptor recebe PKT-0 a PKT-3 e supõe que são pacotes distintos dos anteriores 
Controlo de Erros 
Os erros podem ser detectados recorrendo a diversas técnicas tais como o CRC, uma vez detectado 
o erro é necessário tomar providencias para o corrigir. A solução mais comum consiste na retransmis-
são do pacote danificado, este mecanismo é conhecido por ARQ ("Automatic Repeat Request"). 
"stop & wait" ARQ 
A implementação mais simples é o "stop & wait" ARQ que é em tudo semelhante ao esquema adop-
tado para o controlo de fluxo, a grande diferença é que a informação enviada ao emissor pode ser 
ACK ou NAK ("Negative Acknowledgment"): 
ACK indica ao emissor que o pacote foi recebido sem erros e pode enviar o seguinte. 
NAK indica ao emissor que o pacote foi recebido com erros e deve ser enviado novamente. 
Este esquema simples é insuficiente pois o pacote pode nem sequer chegar ao destino, a solução é 
usar um temporizador no emissor, se após algum tempo depois do envio não é recebido nenhum 
ACK ou NAK o emissor volta a enviar o pacote. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
22 WWW.DOMINACONCURSOS.COM.BR 
Existe ainda uma situação a considerar: o pacote chega ao destino, mas o ACK ou NAK perde-se e 
não chega ao emissor, esta volta a emitir o mesmo pacote que é aceite pelo receptor como se fosse 
um pacote novo. Para evitar esta situação tanto os pacotes como os ACK são numerados de 0 a 1. 
Tal como acontecia no controlo de fluxo o mecanismo "stop & wait" é fortemente afectado pelo atraso 
de propagação normalizado: 
Sem erros a eficiência é : U = 1 / (1 + 2a) 
Se considerarmos que o número médio de retransmissões por pacote é Nr, então a expressão será: 
U = 1 / (1 + 2a)Nr 
Sendo p a probabilidade de um pacote ter umerro, pode-se chegar a que Nr = 1 / (1 - p) 
, então a eficiência do "stop & wait" ARQ considerando erros nos pacotes (e ignorando erros nos ACK 
e NAK) é: 
U = (1 - p)/(1 + 2a) 
Com ou sem erros, com valores elevados de a a eficiência torna-se muito baixa. 
A solução é recorrer novamente ao protocolo de janela deslizante, a aplicação do protocolo de janela 
deslizante ao ARQ é conhecida por "ARQ continuo", existindo duas variantes: "go-back-any" e "se-
lective-repeat". 
A técnica é absolutamente igual ao que foi descrito para o controlo de fluxo: 
O emissor pode transmitir sem confirmação w pacotes que são númerados de 0 a w. 
O receptor envia ACK com o número do pacote mais antigo que se encontra no "buffer" ou que es-
pera receber (quando o "buffer" está vazio). 
Quando um pacote é recebido com erro o receptor envia NAK em lugar de ACK e o emissor deverá 
proceder à retransmissão. 
ARQ continuo "go-back-any" 
Quando é recebido um pacote com erro, é enviado um NAK ao emissor e todos os pacotes seguin-
tes são ignorados até que o erro seja corrigido. 
Imagine-se uma situação em que w=7: 
O emissor envia os pacotes 0 a 6 
O receptor detecta um erro no pacote 2 e responde com NAK-2, ignorando os pacotes seguintes. 
O emissor recebe o NAK-2 e é obrigado a retransmitir os pacotes 2 a 6. 
Supondo que desta vez não ocorre qualquer erro o receptor responde com ACK-6. 
ARQ continuo "selective-repeat" 
O objectivo desta implementação é evitar que pacotes recebidos sem erros sejam retransmitidos. 
Retornando à situação anterior (w=7): 
O emissor envia os pacotes 0 a 6. 
O receptor detecta um erro no pacote 2 e responde com NAK-2, mas continua a receber os pacotes 
seguintes (3 a 6). 
O emissor recebe o NAK-2 e retransmite apenas o pacote 2. 
Supondo que desta vez não ocorre qualquer erro o receptor responde com ACK-6. 
O "selective repeat" é sem duvida mais eficiênte, mas também mais complexo, até porque pode em 
algumas situações colocar problemas adicionais, voltando ao exemplo, com w=7, suponha-se o se-
guinte: 
ARQUITETURA E PROTCOLOS TCP/IP 
 
23 WWW.DOMINACONCURSOS.COM.BR 
O emissor envia os pacotes 0 a 6. 
O receptor recebe o pacote 2 com erro e responde com NAK-2. 
O NAK-2 perde-se, o emissor esgota o temporizador e volta a transmitir os pacotes 0 a 6. 
Numa implementação "go-back-any" não se levantam grandes problemas, o receptor ignora os paco-
tes 0 e 1, aceita os pacotes 2 a 6 e responde com ACK-6. 
Numa implementação "selective-repeat" tudo se complica porque os pacotes 3 a 6 foram recebidos 
sem erro e por isso o receptor fica disponível para aceitar o pacote 2 e os pacotes 7;0;1;2;3;4. Vai por 
isso aceitar correctamente o pacote 2, mas incorrectamente os pacotes 0 a 4 que vai colocar na ja-
nela seguinte, mas ainda pertencem à janela anterior. 
O problema é que como são aceites pacotes fora de sequência as retransmissões por "timeout" vão 
ser desastrosas. A solução é obrigar a que o tamanho da janela seja igual a metade da gama dos nú-
mero de sequência, deste modo nunca é possivel que pacotes retransmitidos por "timeout" tenham 
números de sequência aceitaveis para o receptor: 
w = 2n/2 ou w = 2n-1 
O "selective-repeat" é assim mais exigente quanto à largura da janela, nas implementações anteriores 
bastava w = 2n-1. 
Voltando novamente ao exemplo, para manter w=7 os números de sequencia terão de ser 0 a 13: 
O emissor envia os pacotes 0 a 6. 
O receptor recebe o pacote 2 com erro e responde com NAK-2. 
O NAK-2 perde-se, o emissor esgota o temporizador e volta a transmitir os pacotes 0 a 6. 
Numa implementação "selective-repeat" tudo fica agora claro, os pacotes 3 a 6 foram recebidos sem 
erro e por isso o receptor fica disponível para aceitar o pacote 2 e os pacotes 7;8;9;10;11;12. Vai por 
isso aceitar correctamente o pacote 2, e vai ignorar os restantes pacotes. 
O esquema seguinte ilustra o funcionamento do "go-back-any" e do "selective-repeat", com uma ja-
nela de 4 pacotes, numa linha "full-duplex", quando ocorre um erro na transmissão do pacote 2. 
 
As duas linha a traço interrompido no esquema "go-back-any" correspondem a pacotes que são igno-
rados pelo receptor. 
Eficiência do ARQ "selective-repeat" e do ARQ "go-back-any" 
Tinhamos já visto que nos protocolos de janela deslizante a expressão geral da eficiência é: 
100% quando w > 2a +1 
w/(2a +1) quando w < 2a + 1 
ARQUITETURA E PROTCOLOS TCP/IP 
 
24 WWW.DOMINACONCURSOS.COM.BR 
Estas expressões são válidas quando não ocorrem erros. 
Aplicando o mesmo raciocinio usado no "stop & wait" ARQ temos que o número de retransmissões 
médio de cada pacote é Nr = 1 / (1-p) , sendo p a probabilidade de ocorrencia de erro num pacote. 
O caso "selective-repeat" é em tudo semelhante ao "stop & wait": cada erro origina apenas uma re-
transmissão. 
Basta então dividir as expressões que ignoram os erros por Nr. 
Eficiência do "selective repeat": 
1 - p quando w > 2a + 1 
w(1-p) / (2a +1) quando w < 2a + 1 
Para o "go-back-any" o raciocinio é o mesmo, mas Nr deve ser redefinido pois um erro num pacote 
provoca a retransmissão de k pacotes. 
Poderia obter-se que: Nr = (1 - p + kp) / (1- p) 
O valor de k depende da relação entre w e 2a + 1: 
Se w > 2a +1 
O NAK correspondente ao pacote com erro chega ao emissor antes de este esgotar a janela, nessa 
altura forma já emitidos 2a + 1 pacotes que terão de ser retransmitidos, logo k = 2a + 1. 
Se w < 2a +1 
O NAK correspondente ao pacote com erro chega ao emissor depois de este esgotar a janela, nessa 
altura forma já emitidos w pacotes que terão de ser retransmitidos, logo k = w. 
Podemos agora dividir a expressão geral por Nr. 
Eficiência do "go-back-any": 
(1 - p) / (1 + 2ap) quando w > 2a + 1 
w(1-p) / (2a + 1)(1 - p + wp) quando w < 2a + 1 
S O C K E T S 
Formalmente falando os sockets foram a forma de permitir que dois processos se comuniquem (Inter-
process communication). Esses processos podem ou não estar na mesma máquina. Nesse artigo ire-
mos entender como os sockets são implementados dentro do ambiente Unix, como linguagens e apli-
cações fazem uso dele. 
Diversas aplicações que utilizamos no dia-a-dia fazem uso de sockets pra se comunicar. Nosso nave-
gador web utiliza sockets pra requisitar páginas. Quando um sistema se integra com um banco de da-
dos ele abre um socket. Quando fazemos um ssh em um servidor estamos abrindo e utilizando 
um socket. 
Originalmente a implementação dos sockets foi feita no 4.2BSD em 1983. Essa implementação foi 
portada para o Linux com poucas modificações. Na forma de uma API, os sockets abstraem a ca-
mada de rede para que uma aplicação possa se comunicar com outra sem ter que se preocupar com 
detalhes da pilha TCP/IP que gere a rede abaixo dessa aplicação. 
Pra entender melhor o funcionamento dos sockets vamos começar voltando na estrutura onde ele se 
encaixa enquanto API. 
O modelo OSI especifica um padrão de redes para criação de protocolos. Esse modelo divide uma 
pilha de redes em 7 camadas, cada uma com suas responsabilidades. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
25 WWW.DOMINACONCURSOS.COM.BR 
A Internet utiliza como base para todas as suas comunicações a pilha TCP/IP que possui apenas 4 
camadas. Baseado no modelo OSI, o TCP/IP é, atualmente, o padrão de comunicação em redes. A 
imagem abaixo apresenta uma comparação do modelo OSI com suas 7 camadas em relação as res-
pectivas 4 camadas do modelo TCP/IP: 
 
Considerando a Internet e o TCP/IP, os sockets estão entre a camada de transporte e a de aplica-
ções. Estando nesse ponto de intercessão, eles conseguem fazer uma interface entre a aplicação e 
rede de maneira bem transparente. 
Assim, aplicações são implementadas através de uma comunicação lógica. Lógica no sentido de que 
para esses programas, eles estão se comunicando diretamente um com o outro, mas na prática, eles 
estão passando pela rede para trocar mensagens. 
A imagem a seguir mostra essa divisão lógica e física de comunicação dentro da pilha TCP/IPe onde 
exatamente entre as camadas de transporte e aplicação se encaixa a API de sockets: 
 
Até agora vimos que os sockets foram criados na forma de uma API que possibilita aplicações/pro-
cessos se comunicarem. Quais são essas interfaces que permitem essas comunicações? Abaixo lis-
tamos alguns das principais funções utilizadas ao criar um programa utilizando sockets. 
 
ARQUITETURA E PROTCOLOS TCP/IP 
 
26 WWW.DOMINACONCURSOS.COM.BR 
Quando se programa utilizando sockets, uma arquitetura muito comum para esses programas, é utili-
zar o Cliente / Servidor (client/server). Para essa arquitetura temos que implementar um programa cli-
ente e um programa servidor. Ambos fazem uso da mesma API de sockets. 
Exemplos de programas nessa arquitetura e que utilizam sockets seriam os pares de cliente -> servi-
dor: ssh -> sshd, chromium -> nginx, ftp -> ftpd. A lista de funções mostradas acima são a implemen-
tação dos sockets em C. 
No geral, a maioria das linguagens não rescreve essas funções. Elas fazem uso da biblioteca compi-
lada disponível no sistema operacional. Assim, internamente essas linguagens estão chamando exa-
tamente essa biblioteca em C. 
No sistema operacional Linux por exemplo, essa API faz chamadas de sistema, logo a linguagem pre-
cisa explicitamente usar essa API para conseguir abrir um socket. É até uma questão de segurança! 
Apenas o núcleo (Kernel) do sistema operacional pode abrir sockets. Ele controla inclusive qual pro-
cesso (programa em execução) tem direito a ler e escrever em determinado socket aberto. 
Usando as mesmas funções vistas acima, um cliente e um servidor trocam mensagens através de 
seus sockets para tomar decisões de aplicação. Um exemplo do fluxo de trabalho (workflow) utili-
zando sockets seria: 
 
 
CLIENTE 
O programa cliente primeiro cria um socket através da função socket(). Em seguida ele se conecta ao 
servidor através da função connect() e inicia um loop (laço) que fica fazendo send() (envio) 
e recv() (recebimento) com as mensagens específicas da aplicação. É no par send, recv que temos a 
comunicação lógica. Quando alguma mensagem da aplicação diz que é o momento de terminar a co-
nexão, o programa chama a função close() para finalizar o socket. 
 
SERVIDOR 
O programa servidor também utiliza a mesma API de sockets. Ou seja, inicialmente ele também cria 
um socket. No entanto, diferentemente do cliente, o servidor precisa fazer um bind(), que associa 
o socket a uma porta do sistema operacional, e depois utilizar o listen() para escutar novas conexões 
de clientes nessa porta. 
 
Quando um novo cliente faz uma nova conexão, a chamada accept() é utilizada para começar a se 
comunicar. Da mesma forma que no cliente, o servidor fica em um loop (laço) recebendo e enviando 
ARQUITETURA E PROTCOLOS TCP/IP 
 
27 WWW.DOMINACONCURSOS.COM.BR 
mensagens através do par de funções send() e recv(). Quando a comunicação com o cliente termina, 
o servidor volta a aguardar novas conexões de clientes. 
 
 
Tipos De Sockets 
No geral existem dois tipos de sockets: TCP e UDP. Os dois tipo são controlados pela API de so-
ckets de maneira a abstrair detalhes da rede para o desenvolvedor. Esses tipos são exatamente os 
protocolos mostrados na figura que situamos a API de sockets na pilha TCP/IP. Vimos que ela está 
imediatamente acima da camada de transporte e abaixo da camada de aplicação. 
 
Os sockets do tipo TCP são orientados a conexão e tem um canal exclusivo de comunicação entre 
cliente e servidor. Eles garantem a ordem dos pacotes, são considerados confiáveis e sem perda. No 
entanto, quando se trata de se recuperar de falhas e perda de pacotes ele é mais burocrático e lento. 
 
Já os sockets do tipo UDP desconsidera ordem de pacotes, recuperação de falhas e garantia de or-
dem. No entanto, por ser extremamente menos burocrático e simples, ele é mais rápido que o TCP 
para alguns tipos de aplicações. 
Uma aplicação que faz transações bancárias deveria usar o sockets TCP, pois operações financeiras 
não podem ter dados e valores corrompidos durante sua transmissão via rede. Já um jogo, que envia 
apenas posições atuais de seus jogadores, pode assumir que pacotes podem se perder e que o mais 
importante é a posição atual. O mesmo pode ser dito para uma transmissão de vídeo. Se eu perdi 
um frame (pedaço) do vídeo porque minha rede atrasou a entrega dos pacotes, não é necessário pe-
dir novamente o envio do pacote perdido. É muito mais importante receber o atual e continuar a trans-
missão. 
Endereçamento IP 
O endereco IP indentifica a localização de um host na rede, assim como um endereço de uma casa 
identifica a localização da mesma no pais/cidade/estado/bairro/rua. 
Cada endereço IP possui uma identificação de rede e uma de host. A identificação de rede indica em 
qual (segmentação) de rede o host esta e qualquer host da mesma rede deverá ter a mesma identifi-
cação. A identificação de host indica um host na rede, esse endereço deve ser único. 
Um endereço de IP possui 32 bits divididos em 4 octetos de 8 bits, cada octeto é convertido em nú-
mero de base decimal que abrange de [0-255] e são separados por ponto. 
Atualmente existem 5 tipos de classes definidas. Estas classes são usadas para definir quantos bits 
são alocados para endereço de rede e endereço de hosts, podem ser usadas tambem para dimensio-
nar o tamanho da rede. 
A classe A possui endereços de 1.0.0.0 até 127.0.0.0, o 1 octeto (8 bits) é endereço de rede, os 3 últi-
mos octetos (24 bits restantes) são endereços de hosts, assim como (N.H.H.H), então teremos 126 
redes e 16.777.214 hosts por rede. 
A classe B possui endereços de 128.0.0.0 até 191.255.0.0, os 2 primeiros octetos (16 bits) são ende-
reços de rede, os 2 últimos octetos (16 bits restantes) são endereços de hosts, assim como 
(N.N.H.H), então teremos 16.385 redes e 65.534 hosts por rede. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
28 WWW.DOMINACONCURSOS.COM.BR 
A classe C possui endereços de 192.0.0.0 até 223.255.255.0, os 3 primeiros octetos (24 bits) são en-
dereços de rede, o último octeto (8 bits restantes) é endereço de hosts, assim como (N.N.N.H), então 
teremos 2.097.152 redes e 254 hosts por rede. 
A classe D possui endereços de 224.0.0.0 até 239.255.255.255, essa classe é usada para protocolos 
multicast conforme (RFC 2236). 
A classe E possui endereços de 240.0.0.0 até 255.255.255.255, essa classe é experimental e reser-
vada para uso futuro. 
O (primeiro) endereço da rede e o (último) endereço da rede não são usados para endereçar hosts 
por serem reservados, assim como exemplo seguinte. 
O endereço 192.168.192.3 pertence a classe C, tendo como seu endereço de rede 192.168.192.0, 
endereço de broadcast 192.168.192.255 e 255.255.255.0 para mascara de subrede. 
Um endereço de broadcast é usado para endereçar todos os hosts de uma mesma rede ou (seg-
mento), ou seja, quado se envia um pacote broadcast, o mesmo será enviado para toda a rede. 
Compreenda endereços IP de Um ou Mais Servidores Cisco ICM NT 
Um endereço IP de Um ou Mais Servidores Cisco ICM NT é um endereço usado a fim identificar ex-
cepcionalmente um dispositivo em uma rede IP. O endereço é composto de 32 bit binários, que po-
dem ser divisíveis em uma porção de rede e hospedar a parcela com a ajuda de uma máscara de 
sub-rede. Os 32 bits binários estão divididos em quatro octetos (1 octeto = 8 bits). Cada octeto é con-
vertido em decimal e separado por um ponto final (ponto). Por esse motivo, um endereço IP deve ser 
expressado no formato decimal pontuado (por exemplo, 172.16.81.100). O valor em cada octeto varia 
de 0 a 255 decimais ou de 00000000 a 11111111 binários. 
Aqui está como os octetos binários são convertidos em decimal: O direito a maioria de bit, ou bit me-
nos significativo, de um octeto guarda um valor de 20. O bit apenas à esquerda daquele guarda um 
valor de 21. Isto continua até o bit mais à esquerda, ou o bit mais significativo, que guarda um valor de 
27. Dessa forma, se todos os bits binários fossemum, o equivalente decimal seria 255 conforme mos-
trado aqui: 
1 1 1 1 1 1 1 1 
128 64 32 16 8 4 2 1 (128+64+32+16+8+4+2+1=255) 
Aqui está uma conversão de octeto de exemplo quando nem todos os bits estão definidos como 1. 
 0 1 0 0 0 0 0 1 
 0 64 0 0 0 0 0 1 (0+64+0+0+0+0+0+1=65) 
E esta amostra mostra um endereço IP de Um ou Mais Servidores Cisco ICM NT representado no bi-
nário e no decimal. 
 10. 1. 23. 19 (decimal) 
 00001010.00000001.00010111.00010011 (binary) 
Esses octetos são divididos para fornecer um esquema de endereçamento que possa acomodar re-
des grandes e pequenas. Há cinco classes diferentes de redes, de A a E. Este documento centra-se 
sobre as classes A ao C, desde que as classes D e E são reservadas e o exame delas é além do al-
cance deste documento. 
Dado um endereço IP de Um ou Mais Servidores Cisco ICM NT, sua classe pode ser determinada 
dos três bit de alta ordem (os três bit leftmost no primeiro octeto). A Figura 1mostra o significado nos 
três bits mais altos e a faixa de endereços em que cai cada classe. Para fins informativos, os endere-
ços das classes D e E também são mostrados. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
29 WWW.DOMINACONCURSOS.COM.BR 
 
Em um endereço de Classe A, como o primeiro octeto é a porção da rede, o exemplo da Classe A 
na Figura 1 tem um endereço de rede principal de 1.0.0.0 a 127.255.255.255. Os octetos 2, 3 e 4 (os 
24 bits seguintes) são para o gerente de rede dividir em sub-redes e hosts quando possível. Os ende-
reços da Classe A são utilizados em redes que têm mais de 65.536 hosts (na verdade, até 16777214 
hosts!). 
Em um endereço de Classe B, como os dois primeiros octetos são a porção da rede, o exemplo da 
Classe B na Figura 1 tem um endereço de rede principal de 128.0.0.0 a 191.255.255.255. Os octetos 
3 e 4 (16 bits) são para sub-redes local e hosts. Os endereços da Classe B são usados em redes que 
tenham entre 256 e 65534 hosts. 
Em um endereço da Classe C, os primeiros três octetos são a porção da rede. O exemplo do C da 
classe em figura 1 tem um principal endereço de rede de 192.0.0.0 - 223.255.255.255. O Octeto 4 (8 
bits) é para sub-redes local e hosts - perfeito para redes com menos de 254 hosts. 
Máscaras de rede 
Uma máscara de rede ajuda você a saber qual porção do endereço identifica a rede e qual porção do 
endereço identifica o nó. As redes das classes A, B, e C têm máscaras padrão, também conhecidas 
como máscaras naturais, conforme mostrado aqui: 
Class A: 255.0.0.0 
Class B: 255.255.0.0 
Class C: 255.255.255.0 
Um endereço IP em uma rede da Classe A que não esteja em uma sub-rede teria um par ende-
reço/máscara semelhante a: 8.20.15.1 255.0.0.0. A fim ver como a máscara o ajuda a identificar as 
peças da rede e do nó do endereço, converta o endereço e a máscara aos números binários. 
8.20.15.1 = 00001000.00010100.00001111.00000001 
255.0.0.0 = 11111111.00000000.00000000.00000000 
Uma vez que você tem o endereço e a máscara representados no binário, a seguir a identificação da 
rede e do ID do host é mais fácil. Todos os bits de endereço com bits de máscara correspondentes 
definidos como 1 representam a ID de rede. Todos os bits de endereço com bits de máscara corres-
pondentes definidos como 0 representam a ID de nó. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
30 WWW.DOMINACONCURSOS.COM.BR 
8.20.15.1 = 00001000.00010100.00001111.00000001 
255.0.0.0 = 11111111.00000000.00000000.00000000 
 ----------------------------------- 
 net id | host id 
netid = 00001000 = 8 
hostid = 00010100.00001111.00000001 = 20.15.1 
Compreenda o sub-rede 
A sub-rede permite criar várias redes lógicas que existem dentro de uma rede única de classe A, B ou 
C. Se não criar uma sub-rede, você só poderá utilizar uma rede das classes A, B, ou C, o que é irreal. 
Cada enlace de dados em uma rede deve ter uma ID de rede exclusiva, com todos os nós nesse link 
sendo um membro da mesma rede. Se dividir uma rede principal (classes A, B ou C) em sub-redes 
menores, isso permitirá a você criar uma rede de sub-redes interconectadas. 
Dessa forma, cada enlace de dados nessa rede teria uma ID de rede/sub-rede exclusiva. Todo o dis-
positivo, ou o gateway, que conecta redes n/sub-redes têm endereços IP de Um ou Mais Servidores 
Cisco ICM NT distintos n, um para cada rede/sub-rede que interconecta. 
A sub-rede uma rede, estende a máscara natural com os alguns dos bit da parcela do ID do host do 
endereço a fim criar uma identificação da sub-rede por exemplo, dada uma rede Classe C de 
204.17.5.0 que tenha uma máscara natural de 255.255.255.0, você pode criar sub-redes desse modo: 
204.17.5.0 - 11001100.00010001.00000101.00000000 
255.255.255.224 - 11111111.11111111.11111111.11100000 
 --------------------------|sub|---- 
Estendendo a máscara para ser 255.255.255.224, você usou três bit (indicados pela "sub") da porção 
de host original do endereço e os utilizou para criar sub-redes. Com esses três bits é possível criar 
oito sub-redes Com os cinco bits de ID de host restantes, cada sub-rede pode ter até 32 endereços 
de host, 30 dos quais pode ser realmente atribuídos a um dispositivo, pois ids de host de todos os ze-
ros ou de todos os uns não são permitidos (é muito importante lembrar-se disso). Dessa forma, com 
isso em mente, essas sub-redes foram criadas. 
204.17.5.0 255.255.255.224 host address range 1 to 30 
204.17.5.32 255.255.255.224 host address range 33 to 62 
204.17.5.64 255.255.255.224 host address range 65 to 94 
204.17.5.96 255.255.255.224 host address range 97 to 126 
204.17.5.128 255.255.255.224 host address range 129 to 158 
204.17.5.160 255.255.255.224 host address range 161 to 190 
204.17.5.192 255.255.255.224 host address range 193 to 222 
204.17.5.224 255.255.255.224 host address range 225 to 254 
O esquema de criação de sub-redes para a rede nesta seção permite oito sub-redes, e a rede talvez 
apareça como: 
Figura 2 
ARQUITETURA E PROTCOLOS TCP/IP 
 
31 WWW.DOMINACONCURSOS.COM.BR 
 
Observe que cada um dos roteadores na Figura 2 está conectado a quatro sub-redes, uma sub-rede 
é comum a ambos os roteadores. Além disso, cada roteador tem um endereço IP para cada sub-rede 
a que está conectado. Cada sub-rede pode oferecer suporte a até 30 endereços de host. 
Isso ativa um ponto interessante. Quanto mais bits de host você utiliza para uma máscara de sub-
rede, mais sub-redes são disponibilizadas. No entanto, quanto mais sub-redes estiverem disponíveis, 
menos endereços de host disponíveis por sub-rede haverá. 
Por exemplo, uma rede da Classe C de 204.17.5.0 e uma máscara de 255.255.255.224 (/27) permite 
a você ter oito sub-redes, cada uma com 32 endereços de host (30 das quais poderiam ser atribuídas 
a dispositivos). Se você usar uma máscara de 255.255.255.240 (/28), a divisão será: 
204.17.5.0 - 11001100.00010001.00000101.00000000 
255.255.255.240 - 11111111.11111111.11111111.11110000 
 --------------------------|sub |--- 
Como agora você tem quatro bits para fazer sub-redes, há apenas quatro bits remanescentes para 
endereços de host. Portanto, nesse caso, pode haver até 16 sub-redes, cada uma das quais com até 
16 endereços de host (14 dos quais podem ser atribuídos a dispositivos). 
Observe como uma rede da Classe B pode estar em uma sub-rede. Se tiver a rede 172.16.0.0, você 
saberá que sua máscara natural é 255.255.0.0 ou 172.16.0.0/16. A extensão da máscara para algo 
além de 255.255.0.0 significa que você está criando uma sub-rede. É possível ver rapidamente que 
você pode criar muito mais sub-redes do que com a rede de Classe C. Se você usar uma máscara de 
255.255.248.0 (/21), quantas sub-redes e hosts por sub-rede isso permitirá? 
172.16.0.0 - 10101100.00010000.00000000.00000000 
255.255.248.0 - 11111111.11111111.11111000.00000000 
 -----------------| sub |----------- 
Você usa cinco bits dos bit originais do host para sub-redes. Isto permite que você tenha 32 sub-re-
des (25). Depois deusar os cinco bits para a sub-rede, você ficará com 11 bits para endereços de 
host. Isto permite cada sub-rede assim que tem 2048 endereços de host (211), 2046 de que poderia 
ser atribuído aos dispositivos. 
Redes de Comunicação de Dados 
A linha de conhecimento e pesquisa “Redes de Comunicação de Dados” concentra as áreas tradicio-
nalmente chamadas de “Redes de Comunicações e Redes de Computadores”. A distinção entre es-
tas áreas era mais aparente no passado, no entanto, com o advento da convergência das tecnologias 
de computação e de comunicação os seus limites se tornarem quase indistintos e uma acaba sobre-
pondo outra. 
Esta matéria trata de uma forma mais resumida, alguns conceitos vistos em “Redes de Comunicação 
de Dados”, principalmente por acadêmicos em “Tecnologia da Informação e Comunicação” e áreas 
afins, ou por curiosos e simpatizantes, navegantes da Internet. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
32 WWW.DOMINACONCURSOS.COM.BR 
Comunicação de Dados 
A Comunicação Dados é uma disciplina da área de “Ciências da Computação” que trata da trans-
missão de informação entre sistemas computacionais e dispositivos diferentes através de um meio 
de transmissão. A transmissão de informação pressupõe a passagem de sinais através dos meios fí-
sicos de comunicação que compõem as redes. 
Quanto a Eficiência 
Quando falamos sobre eficiência de um sistema de comunicação de dados, é necessário conhecer 3 
fundamentais características: Serviço de Entrega, Confiabilidade e Tempo de Atraso. 
 Entrega (ou delivery): Os dados devem ser recebidos somente pelo dispositivo ou usuário de des-
tino, ou seja, o sistema deve entregar os dados ao destino correto; 
 Confiabilidade: Dados modificados ou corrompidos em uma transmissão são pouco úteis, portanto, 
o sistema deve garantir a entrega dos dados; 
 Tempo de atraso: Dados entregues tardiamente são pouco úteis. Por exemplo, no caso de trans-
missões multimídia, como vídeo, os atrasos não são desejáveis, de modo que eles devem ser entre-
gues praticamente no mesmo instante em que foram produzidos, isto é, sem atrasos significativos. 
Neste caso, o sistema deve entregar dados em um tempo predeterminado e evitar ao máximo os 
atrasos. 
Quanto aos Componentes 
Para que a comunicação seja realizada, o processo é composto de elementos básicos, são estes: 
 Mensagem: é a informação a ser transmitida. Pode ser constituída de texto, números, figuras, áudio 
e vídeo – ou qualquer combinação desses; 
 Transmissor (TX): é o dispositivo que envia a mensagem de dados. Pode ser um computador, uma 
estação de trabalho, um telefone, uma câmera de vídeo e assim por diante; 
 Receptor (RX): é o dispositivo que recebe a mensagem. Pode ser um computador, uma estação de 
trabalho, um telefone, uma câmera de vídeo e assim por diante; 
 Meio de Transmissão: é o caminho físico por onde viaja uma mensagem originada e dirigida ao 
receptor; 
 Protocolo: é um conjunto de regras que governa a comunicação de dados. Ele representa um 
acordo entre os dispositivos que se comunicam. 
 
Transmissão de Dados 
A Transmissão de Dados é uma matéria cada vez mais importante para qualquer pessoa que opere 
com equipamentos que estejam inseridos num sistema de comunicação, que explora maneiras ou 
técnicas, através das quais as informações são transmitidas. Para uma transmissão dada numa via 
de comunicação entre duas máquinas, a comunicação pode ser realizada de diferentes formas, defi-
nindo-se por: 
 Sentido da Transmissão (Trocas): 
 Simples; 
ARQUITETURA E PROTCOLOS TCP/IP 
 
33 WWW.DOMINACONCURSOS.COM.BR 
 Half-duplex; 
 Full-duplex. 
 Modo de Transmissão (Meio). Trata-se do número de bits enviadas simultaneamente: 
 Paralela; 
 Serial. 
 Sincronização (Tipos). Trata-se da sincronização entre emissor e receptor: 
 Síncrono; 
 Assíncrono. 
Para podermos esclarecer cada uma das técnicas acima citadas vamos falar mais um pouco de cada 
uma delas. 
Sentido da Transmissão 
O sentido de transmissão (ou sentido das trocas) entre dois dispositivos em redes pode acontecer de 
três maneiras diferentes: Simplex, Half-duplex ou Full-duplex. 
 Simplex: A comunicação simplex é aquela em que há somente um transmissor e um receptor. A co-
municação é unidirecional, como em uma rua de mão única. Somente um dos dois dispositivos no link 
é capaz de transmitir, logo o outro só será capaz de receber. Como exemplo temos a transmissão de 
TV e rádio AM e FM onde apenas podemos receber os dados enviados pelo receptor e não interagi-
mos com o sistema. 
 
 Half-duplex: Neste modo, cada estação pode transmitir e receber, mas nunca ao mesmo tempo. 
Quando um dispositivo está transmitindo o outro está recebendo e vice-versa. Em uma transmissão 
half-duplex, toda a capacidade do canal é dada ao dispositivo que estiver transmitindo no momento. 
Como exemplo temos a comunicação usada por exemplo por um Walk Talking assim como o rádio 
Nextel. 
 
 Full-duplex: Neste modo, ambas estações podem transmitir e receber simultaneamente, ou seja, 
ao mesmo tempo. Sinais em direções opostas compartilham a capacidade do link ou canal. Como 
ARQUITETURA E PROTCOLOS TCP/IP 
 
34 WWW.DOMINACONCURSOS.COM.BR 
exemplo temos a comunicação através de um telefone celular, onde conseguimos falar e ouvir ao 
mesmo tempo. 
 
Modos de Transmissão 
O modo de transmissão designa o número de unidades elementares de informações (bits) que po-
dem ser transmitidas simultaneamente pelo canal de comunicação, ou seja, trata diretamente, a 
quantidade de bits a ser transmitida ao mesmo tempo. 
 Transmissão em modo Paralelo: Na transmissão em modo paralelo, os bits que compõem o ca-
rácter são enviados simultaneamente através de várias vias de dados. Uma via é, por exemplo, um 
fio, um cabo ou qualquer outro suporte físico. A ligação paralela dos computadores de tipo PC neces-
sita geralmente de 10 fios. A imagem abaixo, exemplifica o modo de transmissão. 
 
 
Estas vias podem ser 
 N linhas físicas: neste caso, cada bit é enviado para uma linha física (é a razão pela qual os cabos 
paralelos são compostos de vários fios em cobertura); 
 Uma linha física dividida em vários sub-canais compartilhando a mesma banda. Assim, cada bit é 
transmitido numa frequência diferente. 
Dado que os fios condutores estão próximos numa cobertura, existem perturbações / interferências 
que degradam a qualidade do sinal. 
 Transmissão em modo Série: Na transmissão em modo série, os bits que compõem a informação 
são enviados um a um através de uma única via de dados. 
 
ARQUITETURA E PROTCOLOS TCP/IP 
 
35 WWW.DOMINACONCURSOS.COM.BR 
Quanto a Sincronização 
Dados os problemas com a transmissão paralela, é a em modo série que é mais utilizada. Entretanto, 
como é apenas um só fio que transporta a informação, existe um problema de sincronização entre o 
emissor e o receptor, ou seja, o receptor não pode a priori distinguir os caracteres (ou mesmo, de ma-
neira mais geral, as sequências de bits) porque os bits são enviadas sucessivamente. Existem então 
dois tipos de transmissão que permitem remediar este problema: Síncrona e Assíncrona. 
 Transmissão Assíncrona: No modo de transmissão Assíncrono os dados são enviados um a um 
sem controle de tempo entre um e outro. Agora, imagine que só um bit é transmitido durante um 
longo período de silêncio, onde o receptor não poderia saber que se trata de 00010000, ou 10000000 
ou ainda 00000010. 
 Para remediar este problema, cada dado é precedido de uma informação que indica o início da 
transmissão deste (a informação de início de emissão chama-se bit START) e termina com o envio de 
uma informação de fim de transmissão (chamada bit STOP, pode eventualmente haver vários bits 
STOPS). Normalmente utilizada quando não é estabelecido, no receptor, nenhum mecanismo de sin-
cronização relativamente ao emissor. 
Características: 
- Baixo Rendimento (alto overhead). 
- Fácil Implementação; 
- Baixa Velocidade; 
 TransmissãoSíncrono: Na transmissão em modo Síncrono os dados são enviados em blocos e 
em intervalos de tempo definidos, dados de sincronismo são enviados durante a transmissão para 
manter o sincronismo entre as máquinas. 
 O receptor recebe continuamente (mesmo quando nenhum bit é transmitido) as informações ao 
ritmo em que o emissor as envia. É por isso é necessário que emissor e receptor estejam sincroniza-
dos à mesma velocidade. Além disso, informações suplementares são inseridas para garantir a au-
sência de erros na transmissão. 
Características: 
- Boa qualidade de transmissão; 
- Custo de transmissão mais elevado; 
- Equipamento mais sofisticado; 
- Ideais para transmissão de sinais sensíveis a atraso (voz, música, vídeo); 
- Transmissão com maior confiabilidade; 
- Adequado para aplicações multimídia. 
1. Entrega (delivery): o sistema deve entregar os dados ao destino correto. Os dados devem ser re-
cebidos somente pelo dispositivo ou usuário de destino. 
2. Confiabilidade: o sistema deve garantir a entrega dos dados. Dados modificados ou corrompidos 
em uma transmissão são pouco úteis. 
Hoje, a maioria das linguagens de programação são orientadas a objetos como Java, C#, 
Python e C++e, apesar de terem algumas diferenças na implementação, todas seguem os mesmos 
princípios e conceitos. Muitos programadores, apesar de utilizarem linguagens orientadas a objetos, 
não sabem utilizar alguns dos principais conceitos desse paradigma orientado a objetos e, por isso, 
desenvolvem sistemas com alguns erros conceituais e acabam escrevendo mais código que o neces-
sário, não conseguindo reutilizar o código como seria possível. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
36 WWW.DOMINACONCURSOS.COM.BR 
Este artigo fará uma revisão dos principais conceitos de orientação a objetos e mostrará diversos 
exemplos de implementação dos conceitos de orientação a objetos em Java. Os principais concei-
tos do paradigma orientado a objetos são Classes e Objetos, Associação, Encapsulamento, Herança 
e Polimorfismo. 
Classe e Objeto 
Uma classe é uma forma de definir um tipo de dado em uma linguagem orientada a objeto. Ela é for-
mada por dados e comportamentos. 
Para definir os dados são utilizados os atributos, e para definir o comportamento são utilizados méto-
dos. Depois que uma classe é definida podem ser criados diferentes objetos que utilizam a classe. 
A Listagem 1 mostra a definição da classe Empresa, que tem os atributos nome, endereço, CNPJ, 
data de fundação, faturamento, e também o método imprimir, que apenas mostra os dados da em-
presa. 
Programação Orientada a Objetos (POO) 
Trata-se de um paradigma de programação relativamente recente, que se baseia fundamentalmente 
no conceito de Objetos. É uma forma de desenvolvimento de sistemas de software que o trata como 
um conjunto de componentes que interagem entre si para resolver um problema. Esses componentes 
são denominados Objetos. Os objetos são os “blocos de construção” de software na OO. 
Objeto 
Trata-se de uma ocorrência específica de uma classe; é uma “instância de classe”. Os objetos são a 
base da OO (Orientação a Objetos). Os objetos representam entidades do mundo real, como aviões, 
pessoas, contas correntes, etc., mas também podem representar outros conceitos, como gráficos (cír-
culos, quadrados, cones, esferas, etc.) Um objeto possui características próprias (atributos) e executa 
determinadas ações (métodos), sendo esses atributos e métodos provenientes da classe que origina 
o objeto. 
Abstração abstrair significa selecionar aspectos específicos de um problema a ser analisado, dei-
xando de lado outros aspectos. É a representação de uma entidade do mundo real na forma de 
idéias. As entidades abstraídas podem se comunicar entre si, por meio da troca de Mensagens 
Mensagens os objetos se comunicam a partir da troca de mensagens. Uma mensagem é um sinal 
enviado de um objeto a outro, o qual requisita um serviço, usando uma operação programada no ob-
jeto chamado. 
Por exemplo, para que um objeto execute um método, é necessário enviar a este objeto uma mensa-
gem solicitando a execução do método desejado. As mensagens somente ocorrem entre objetos que 
possuem uma Associação. As mensagens também são programadas. Quando uma mensagem é re-
cebida, uma operação é invocada no objeto chamado. Há vários formatos de mensagens: procedures 
(subs e functions), passagem de sinais entre threads, acionamento de eventos, etc 
. 
Classes 
Uma Classe é uma coleção de objetos que são descritos com os mesmos atributos e as mesmas 
operações. Uma classe representa uma idéia ou conceito e classifica objetos que tenham proprieda-
des similares. As classes representam os blocos de construção mais importantes dos sistemas orien-
tados a objetos, e devem possuir responsabilidades bem definidas dentro da aplicação. 
Uma classe é como se fosse um tipo abstrato de dados, um “molde” para a criação de objetos. Um 
objeto é, portanto, um “Instância de uma Classe” As classes possuem atributos e métodos. Atribu-
ARQUITETURA E PROTCOLOS TCP/IP 
 
37 WWW.DOMINACONCURSOS.COM.BR 
tos são características da classe, que são comuns a todos os objetos derivados, e que podem apre-
sentar valores diversos. Já os Métodos são as operações possíveis em uma classe (nos objetos ins-
tanciados a partir dela). 
 
Atributo de Classe Ou Propriedade: Característica particular de uma ocorrência de uma classe, 
como por exemplo o nome e a idade de uma pessoa. Existem dois tipos principais de propriedades: - 
Estáticas: Mantém o mesmo valor durante toda a sua existência. Por exemplo, a data de nascimento 
de uma pessoa é uma propriedade estática, pois mantém o mesmo valor durante toda a existência do 
objeto instanciado. 
Dinâmicas: Podem ter valores que variam com o passar do tempo. A idade de uma pessoa pode ser 
considerada um atributo dinâmico, pois pode variar ao longo do tempo. 
É a lógica contida em uma classe para atribuir-lhe comportamentos. São as funções e procedimentos 
contidos na classe. O ato de invocar um método é a passagem de mensagens para o objeto. Toda 
classe possui um método especial chamado de método construtor, que inicializa o objeto instanciado. 
As classes também usam métodos destruidores para finalizar os objetos após seu uso. Um método é 
uma sequência de declarações (comandos) que possui um nome de identificação. 
É similar a uma função ou procedimento. Um método possui um nome e um corpo onde ficam os co-
mandos que serão executados quando o método for chamado, e também podem receber dados para 
processamento (parâmetros) e retornar informações. 
Os métodos são a forma principal de passagem de mensagens entre objetos. Um método deve exe-
cutar sempre uma operação única. Os métodos também precisam ter um tipo de retorno, que pode 
ser um tipo de valor, de referência ou ainda void (não retornam valor). 
Instância de Classe 
É o objeto, uma ocorrência específica de uma classe. As classes originam instâncias sob requisição, 
no processo denominado Instanciação. O projetista / analista cria a classe. A classe é então usada 
para criar objetos em tempo de execução. Veja a seguir um exemplo de criação de classe na lingua-
gem C# 
Herança 
Herança, em orientação a objetos, é a capacidade de um novo objeto tomar atributos e operações de 
um objeto existente. Assim, podemos criar classes mais complexas sem que precisemos repetir có-
digo. Aqui, a palavra-chave é Reuso de código, e é uma das metas a se atingir ao desenvolver sof-
tware. O reuso permite reduzir o esforço dispendido no desenvolvimento de software ao reaproveitar-
mos códigos de uma classe na criação de outras classes. 
A Herança é, portanto, um conceito extremamente importante em Orientação a Objetos. Usamos a 
herança, por exemplo, para evitar repetição ao definirmos classes com características em comum e 
que são relacionadas entre si. 
A herança é um relacionamento entre classes, que permite que uma classe “adquira” os membros 
(atributos e métodos) deoutra classe. Um exemplo clássico de herança seria a classificação de ma-
míferos no reino animal. 
Homens, Baleias e Gatos são mamíferos, que compartilham muitas características entre si, mas cla-
ramente possuem atributos que os diferem uns dos outros. Como podemos modelar Baleias, Gatos e 
Humanos em um software? Podemos criar classes distintas para cada animal, mas essas classes te-
riam muitos comportamentos (“métodos”) em comum entre eles, como Respirar, mamar e Reproduzir-
se, o que ocasionaria repetição desnecessária de código. 
ARQUITETURA E PROTCOLOS TCP/IP 
 
38 WWW.DOMINACONCURSOS.COM.BR 
Usamos então Herança para resolver esse problema. Podemos criar uma classe chamada Mamífero 
que possua as características comuns a todos os animais mamíferos, e então criar as classes Hu-
mano, Baleia e Gato herdando essas funcionalidades e também implementando as funcionalidades 
específicas de cada animal, como Falar, Nadar e Miar. 
Conceitos Básicos de Comunicação de Dados 
Definição 
Redes, genericamente, são sistemas que possibilitam a disponibilização e compartilhamento de re-
cursos e serviços. 
Exemplos 
 Rede Bancária 
 Rede de abastecimento de combustível 
 Rede Telefônica 
 Rede de Supermercados 
As redes de computadores provêem sistemas computacionais que permitem o compartilhamento 
dos recursos que eles fornecem. 
Exemplos 
 Sistemas de arquivos 
 Sistemas de impressão 
 Sistemas de identificação 
 Sistemas de troca de mensagens 
Classificação das Redes 
As redes podem ser classificadas de acordo com vários critérios. A seguir algumas classificações: 
Quanto ao Processamento 
Refere-se a onde o processamento é realizado, e pode ser: 
Computação Centralizada 
Grandes computadores (mainframes) centralizam o processamento, armazenamento e manipulação 
dos dados. 
Estes computados são acessíveis através de terminais “burros”, isto é, sem capacidade de processa-
mento. 
As redes nasceram da necessidade destes grandes computadores serem conectados entre si para 
compartilharem recursos. 
Computação Distribuída 
Neste modelo, as entidades têm capacidade própria de processamento. 
Por exemplo, uma rede com PCs. 
A aplicação é dividida em tarefas, e cada tarefa pode ser designada a uma das entidades em rede. 
Computação Colaborativa 
ARQUITETURA E PROTCOLOS TCP/IP 
 
39 WWW.DOMINACONCURSOS.COM.BR 
É um tipo de computação distribuída, no qual uma mesma tarefa pode ser atribuída a mais de uma 
entidade. 
Estas “colaboram” para a execução desta mesma tarefa. 
Quanto à disponibilização dos serviços 
É determinada pela forma em que os recursos são compartilhados. Podem ser classificadas em: 
Redes ponto-a-ponto 
Todas as máquinas provêem e solicitam serviços da rede. 
O sistema operacional é o mesmo em todas as máquinas. 
É um sistema adequado para redes pequenas, em que não há grande preocupação com controle de 
acesso aos recursos, como arquivos e serviços de impressão. Caso esse controle seja necessário, é 
difícil o gerenciamento nesta arquitetura. 
Modelo Cliente/Servidor 
Uma entidade provê serviços à rede, e outras consomem estes serviços. 
A máquina que provê os serviços é chamada de servidor, e as demais, clientes. 
Embora a máquina que atue como servidor normalmente tenha uma capacidade de hardware supe-
rior, o que a diferencia das demais é seu sistema operacional, concebido para compartilhar e geren-
ciar os recursos da rede. 
Exemplo: consultas a bases de dados, serviços como email, páginas web, etc 
Modelo Cliente/Rede 
É uma extensão do modelo cliente/servidor. Uma máquina que irá solicitar serviços (cliente) conecta-
se a um serviço de diretório ao invés de um servidor. 
Este diretório é responsável por gerenciar os serviços da rede, e os disponibilizará ao cliente de 
acordo com sua solicitação e nível de acesso. 
Esta é uma situação comum numa intranet, por exemplo, onde nos autenticamos uma única vez num 
diretório (Active Directory, eDirectory, SunOne, por exemplo) e ganhamos acesso a serviços providos 
por vários servidores instalados na rede. 
Quanto à Dimensão 
Com respeito às dimensões físicas de uma rede, ela pode ser classificada como: 
AN – Local Area Network 
Normalmente conectam um número relativamente pequeno de máquinas. 
Raramente ultrapassa alguns kilômetros. 
Não utiliza um grande número de tecnologias de conectividade. 
Tem o uso restrito a uma corporação. 
MAN – Metropolitan Area Network 
Situa-se na ordem de dezenas de kilômetros. 
Comum em serviços públicos de comunicação, de abrangência de uma cidade, como TV a Cabo 
ARQUITETURA E PROTCOLOS TCP/IP 
 
40 WWW.DOMINACONCURSOS.COM.BR 
Pode combinar mais de uma tecnologia para conectividade, como meios de comunicação com cabo 
em certos segmentos e sem cabo (wireless) em outros. 
WAN – Wide Area Network 
Dimensões de centenas ou milhares de kilômetros; podem ser nacionais ou internacionais. 
Utiliza grande variedade de tecnologias e dispositivos físicos. 
Pode ser de uso governamental, privado ou público. 
A Internet 
O termo internework refere-se a um conjunto de redes interconectadas. 
O exemplo mais conhecido de uma internetwork é a Internet. 
Assim, a Internet é um grande conjunto de muitas redes. 
Não deve ser confundida com WWW – World Wide Web, que é o serviço de páginas de hipertexto 
acessadas com um browser, e que usa a Internet como meio de comunicação. 
Elementos Essenciais na Comunicação 
As redes de computadores são na verdade apenas um mecanismo dedicado a realizar alguns aspec-
tos específicos de uma função muito maior, que é uma necessidade básica da humanidade: a comu-
nicação. 
Apesar do assunto ser muito mais amplo, para os fins desta introdução podemos identificar 3 elemen-
tos essenciais em qualquer processo de comunicação: 
1. Duas entidades com algo a compartilhar. 
2. Um meio de comunicação entre elas. 
3. Regras que controlem a comunicação. 
Numa rede de computadores encontramos eles mesmos elementos nos seguintes termos: 
1. Entidades com algo a compartilhar (máquinas e serviços) 
2. Meios de comunicação (cabos, fibras óticas, ondas eletromagnéticas) 
3. Regras de comunicação (protocolos e padrões) 
_________________________________________________________________________________ 
_________________________________________________________________________________ 
_________________________________________________________________________________ 
_________________________________________________________________________________ 
_________________________________________________________________________________ 
_________________________________________________________________________________ 
_________________________________________________________________________________ 
_________________________________________________________________________________ 
_________________________________________________________________________________ 
_________________________________________________________________________________

Mais conteúdos dessa disciplina