06 - Compartilhamento de Recursos e Aplicações
video: https://youtu.be/... no frontmatter da nota.Compartilhamento de Recursos e Aplicações
1. Definição e Motivação Histórica
Compartilhamento de recursos é a motivação original das redes de computadores. Antes das redes, cada computador era uma ilha: tinha sua própria impressora, seu próprio disco, seus próprios dados. Conectar computadores para compartilhar periféricos caros (impressoras, plotters, unidades de fita) e dados comuns foi o ganho econômico que justificou investimentos em infraestrutura de rede nos anos 1970-80. A ARPANET (1969) tinha como objetivo justamente compartilhar recursos computacionais caros e dispersos geograficamente entre universidades e centros de pesquisa do DoD.
A partir dos anos 1980, com a popularização do PC e o barateamento de periféricos, o foco mudou: o recurso mais valioso a ser compartilhado passou a ser a informação (arquivos, bancos de dados) e o acesso a aplicações remotas (web, email, ERP). Hoje, virtualmente todas as aplicações corporativas e residenciais dependem de rede para funcionar — o "standalone" praticamente não existe mais.
2. Tipos de Recursos Compartilhados
2.1 Periféricos (Impressoras, Scanners)
O compartilhamento de impressoras é o caso de uso mais antigo. Em uma LAN com 30 funcionários, é economicamente inviável ter 30 impressoras a laser; uma única impressora de alta capacidade atendida por uma fila de impressão atende a todos. Protocolos típicos:
| Protocolo | Porta | Plataforma | Observação |
|---|---|---|---|
| LPD/LPR | 515 | Unix/TCP-IP histórico | RFC 1179 |
| IPP | 631 | Multiplataforma | RFC 8011, com TLS obrigatório em IPP/IPPS |
| Raw JetDirect | 9100 | HP/Windows | Conexão TCP direta, ainda comum |
| SMB Print | 445 | Windows | Impressão via CIFS |
Em ambientes modernos, servidores de impressão centralizados (CUPS no Linux, Print Server no Windows Server) gerenciam filas, autenticação, contabilidade (quota por usuário) e balanceamento entre múltiplos dispositivos.
2.2 Arquivos e Diretórios
O compartilhamento de arquivos permite que múltiplos usuários acessem documentos comuns sem duplicá-los. Existem três grandes famílias de protocolos:
| Protocolo | Camada | Origem | Caso de Uso |
|---|---|---|---|
| SMB/CIFS | App (TCP 445) | Microsoft (IBM LAN Manager 1985) | Windows, ambientes corporativos |
| NFS | App (TCP/UDP 2049) | Sun Microsystems (1984) | Unix, storage, datacenters Linux |
| AFP | App (TCP 548) | Apple | macOS legado, substituído por SMB |
| WebDAV | App (HTTP 80/443) | IETF RFC 4918 | Acesso via HTTP, cloud |
| FTP/SFTP | App (21/22) | Histórico | Troca interempresas, legado |
O SMB 3.1.1 (Windows 10/Server 2016+) adicionou criptografia AES-GCM autenticada e integridade de pre-auth, mitigando ataques como SMBRelay. O NFS 4.2 adicionou suporte a COPY, pNFS (paralelismo em storage distribuído) e integridade forte via Kerberos RPCSEC_GSSv3.
2.3 Aplicações (Clientes/Servidores)
A rede permite que a lógica de aplicação fique em servidores centralizados e os clientes sejam "finos". Modelos:
- Cliente/Servidor clássico: web (HTTP/HTTPS), email (SMTP/IMAP), banco de dados (MySQL/PostgreSQL na porta 3306/5432), terminal services (RDP 3389, VNC 5900).
- Três camadas: cliente (browser) → servidor de aplicação (Tomcat, Node.js) → servidor de banco (PostgreSQL). Permite escalabilidade horizontal do tier intermediário.
- Microsserviços: dezenas de serviços pequenos comunicando via REST/gRPC/Kafka. Cada serviço pode ser escalado independentemente.
- Peer-to-Peer: BitTorrent, IPFS, blockchain. Cada nó é simultaneamente cliente e servidor; não há servidor central.
2.4 Conectividade Internet
O recurso mais ubíquo compartilhado via rede é o acesso à Internet. Em residências, um único roteador compartilha a conexão WAN (GPON, DOCSIS, 5G FWA) entre dezenas de dispositivos via NAT (RFC 1631). Em empresas, o compartilhamento é mediado por firewalls corporativos, proxies (Squid, Zscaler) e filtros de conteúdo, com autenticação integrada (SSO via SAML/OIDC) e QoS para priorizar tráfego crítico.
3. Casos de Uso por Ambiente
3.1 Residencial (SOHO)
Internet ── ONT/Modem ── Router/NAT ── Wi-Fi 6 AP
├── PC, smartphone, smart TV
├── Impressora Wi-Fi
└── NAS Synology (SMB/NFS)
Recursos típicos compartilhados: Internet, impressora, arquivos em NAS, streaming de mídia (Plex), IP cameras, automação (Home Assistant).
3.2 Corporativo (Escritório)
Em escritórios, redes LAN Ethernet servem dezenas a centenas de estações. Recursos compartilhados:
- Servidor de arquivos central (Windows Server com DFS, Samba no Linux).
- Servidor de impressão com fila e quotas.
- AD/LDAP para autenticação centralizada (Kerberos).
- Aplicações web internas (intranet, RH, ERP como SAP/Oracle).
- Banco de dados compartilhado entre múltiplas aplicações.
- Internet com proxy autenticado e filtro de conteúdo.
3.3 Datacenter
No datacenter, o compartilhamento assume escala e redundância máximas:
- Storage centralizado via SAN (FC, iSCSI, NVMe-oF) atendendo centenas de servidores.
- Bancos de dados em cluster (Oracle RAC, PostgreSQL + Patroni) servindo múltiplas aplicações.
- Balanceadores de carga (F5, HAProxy, NGINX) distribuindo tráfego entre farm de servidores.
- Serviços de fila (Kafka, RabbitMQ) desacoplando produtores e consumidores.
- APIs internas compartilhadas entre microsserviços via API Gateway (Kong, Apigee).
3.4 Cloud Computing
Em nuvem (AWS, Azure, GCP), o compartilhamento de recursos é a base do modelo de negócio:
| Serviço | Recurso Compartilhado | Exemplo |
|---|---|---|
| IaaS | VM, VPC, EBS | EC2, VPC, EBS |
| PaaS | Banco gerenciado, app runtime | RDS, App Engine |
| SaaS | Aplicação completa | Office 365, Salesforce |
| FaaS | Função serverless | Lambda, Cloud Functions |
A rede subjacente (VPC, peering, Transit Gateway) é ela mesma um recurso compartilhado que pode ser subdividido entre múltiplas contas e equipes.
4. Evolução Histórica
| Ano | Marco | Impacto |
|---|---|---|
| 1969 | ARPANET | Primeiro compartilhamento de CPU remota |
| 1980 | SMB (IBM) | Compartilhamento de arquivos em LANs NetBIOS |
| 1984 | NFS (Sun) | File sharing em Unix, base do storage moderno |
| 1991 | Samba (Andrew Tridgell) | Interoperabilidade SMB em Linux |
| 1995 | Windows 95 | Popularização de rede em casa |
| 2000 | NAS doméstico | Storage dedicado para residências |
| 2006 | AWS S3/EC2 | Compartilhamento de recursos em escala planetária |
| 2014 | Docker | Compartilhamento de kernel entre contêineres |
| 2020 | Serverless mainstream | Compartilhamento de execução sob demanda |
5. Protocolos e Portas Comuns
| Protocolo | Porta | Recurso Compartilhado |
|---|---|---|
| SMB/CIFS | 445 | Arquivos, impressoras (Windows) |
| NFS | 2049 | Arquivos (Unix) |
| AFP | 548 | Arquivos (Apple legado) |
| HTTP/HTTPS | 80/443 | Aplicações web |
| SMTP | 25/587 | |
| IMAP | 143/993 | Leitura de email |
| RDP | 3389 | Desktop remoto |
| SSH | 22 | Terminal e túneis |
| DNS | 53 | Resolução de nomes (compartilhado entre todos) |
| DHCP | 67/68 | Configuração automática de rede |
| SNMP | 161 | Gerência compartilhada |
6. Desafios do Compartilhamento
6.1 Concorrência e Locking
Quando dois usuários editam o mesmo arquivo, é preciso coordenação. O SMB implementa oplock (opportunistic lock) — o primeiro cliente recebe lock exclusivo; o segundo recebe versão read-only ou dispara reabertura. Em NFSv4, locks são stateful via protocolo de lease. Bancos de dados usam MVCC (PostgreSQL) ou lock em linha (Oracle) para mesma finalidade.
6.2 Segurança
Compartilhar recursos multiplica a superfície de ataque. Práticas essenciais:
- Princípio do menor privilégio (ACL granular por usuário/grupo).
- Segmentação de rede (VLANs separando servidores de arquivos de estações).
- Criptografia em trânsito (SMB 3.0+, NFSv4 com Kerberos, TLS em HTTP).
- Auditoria (Samba audit logs, Windows Security Logs encaminhados a SIEM).
- Backup regular (regra 3-2-1: 3 cópias, 2 mídias, 1 offsite).
6.3 Desempenho
Acesso compartilhado gera contenção. Mitigações clássicas:
- Cache local: clientes cacheiam leituras (SMB oplock, NFS attribute cache).
- Read-ahead e write-behind: filesystem buffer.
- Jumbo frames: MTU 9000 em storage network reduz overhead.
- QoS: priorizar IO de banco de dados sobre IO de backup.
7. Boas Práticas
- Documentar matriz de compartilhamento (quem acessa o quê).
- Revisar ACLs trimestralmente (limpeza de contas órfãs).
- Isolar storage crítico em SAN ou VLAN dedicada.
- Monitorar IOPS e latência por LUN/share.
- Aplicar DLP (Data Loss Prevention) em shares com dados sensíveis.
- Implementar Quotas por share/usuário.
- Versionar arquivos corporativos (Shadow Copies, snapshots ZFS/Btrfs).
8. Diagnóstico
| Sintoma | Causa Típica | Ferramenta |
|---|---|---|
| Lentidão em share SMB | saturação de rede, oplock churn | smbstatus, Performance Monitor |
| Falha de montagem NFS | firewall bloqueando rpcbind | rpcinfo -p, nfsstat |
| Impressão lenta | spooler sobrecarregado | CUPS web, Windows Print Management |
| RDP travando | latência alta, QoS ausente | psping, mtr |
| Web lento | DNS lento, proxy sobrecarga | dig, curl -w |
9. Conclusão
Compartilhamento de recursos é o propósito fundamental das redes de computadores — sem ele, nenhuma infraestrutura de rede se justifica economicamente. Da impressora de uma pequena empresa ao storage zettabyte de um hyperscaler, o princípio é o mesmo: conectar, mediar, autenticar, auditar e otimizar o acesso a recursos caros ou únicos. Compreender os protocolos e arquiteturas que viabilizam esse compartilhamento é pré-requisito para qualquer engenheiro de redes ou sistemas.