Capítulo 2: Modelo
de Referência de
Rede
1. Introdução
Bem-vindos ao capítulo sobre Modelos de Referência de Rede! Aqui, vamos
mergulhar fundo nos conceitos fundamentais que permitem a comunicação eficiente e
padronizada entre dispositivos e aplicações em uma rede. Neste capítulo, você
aprenderá como diferentes fabricantes e desenvolvedores de software podem criar
produtos compatíveis e interoperáveis graças aos modelos de referência de rede.
Na era digital em que vivemos, informações são constantemente transformadas
em dados, que precisam ser transmitidos de um lugar para outro. Mas como isso
acontece? Como aplicativos tão diversos como navegadores web, sistemas de
videoconferência e aplicativos de mensagens conseguem se comunicar de maneira
uniforme e eficiente? A resposta está na padronização e modelagem das redes.
Ao longo deste capítulo, abordaremos:
A Importância dos Dados e das Aplicações: Como diferentes tipos de dados,
como texto, imagem, áudio e vídeo, são gerados por aplicações e precisam ser
transmitidos através da rede.
Modelos de Referência de Rede: Exploraremos os dois principais modelos - OSI
e TCP/IP - que estruturam a comunicação de rede em camadas, detalhando as
funções e responsabilidades de cada camada.
Protocolos de Rede: Conheceremos os protocolos padrões mais comuns em cada
camada do modelo de referência e como eles contribuem para a comunicação de
rede.
Encapsulamento e Desencapsulamento de Dados: Entenderemos o processo pelo
qual os dados são preparados para transmissão através da rede e como são
recebidos no destino.
Organizações de Padronização: Descobriremos as principais organizações que
desenvolvem e mantêm os padrões de rede, como IETF, IEEE e ISO, e suas
contribuições para o desenvolvimento das redes de comunicação.
Vamos iniciar entendendo como as aplicações que usamos diariamente geram
dados e como esses dados são estruturados e transmitidos através de uma rede.
2. Aplicações e Dados
As aplicações que utilizamos no dia a dia, desde navegadores web até aplicativos
de videoconferência, são criadas para atender a várias necessidades. Cada uma dessas
aplicações gera dados que precisam ser transmitidos para outros dispositivos ou
servidores. Esses dados podem ser na forma de texto, imagens, vídeos ou áudio.
Exemplos de Aplicações e Dados
1. Navegadores Web: Quando você digita um endereço de site no navegador, como
[Link], o navegador envia uma solicitação ao servidor web
correspondente. Essa solicitação é um conjunto de dados que inclui o endereço
do site e informações sobre o navegador e o dispositivo utilizado. O servidor
responde com os dados que compõem a página web, incluindo texto, imagens,
vídeos e código HTML.
2. Aplicativos de Mensagens: Em aplicativos como WhatsApp ou Telegram, cada
mensagem de texto, imagem ou vídeo que você envia é convertida em dados e
transmitida através da rede. Por exemplo, ao enviar uma foto, o aplicativo
captura a imagem, a converte em um formato de dados (como JPEG) e a
transmite para o destinatário, onde é decodificada e exibida.
3. Videoconferência: Aplicativos como Zoom ou Microsoft Teams capturam dados
de áudio e vídeo em tempo real, codificam esses dados em um formato
apropriado e os transmitem através da rede para outros participantes da
chamada. Esse processo deve ser eficiente para garantir que a comunicação seja
clara e sem atrasos perceptíveis.
4. Streaming de Vídeo: Serviços como Netflix e YouTube transmitem grandes
quantidades de dados de vídeo para os usuários. Quando você seleciona um
vídeo para assistir, o aplicativo solicita os dados do vídeo ao servidor. Esses
dados são transmitidos em pequenos pacotes através da rede e são decodificados
e exibidos pelo aplicativo no seu dispositivo.
No campo da computação, os dados são vistos como portadores de informações.
A transmissão de dados é o processo pelo qual esses dados são enviados de um terminal
a outro, garantindo que a informação chegue ao seu destino de forma íntegra e
utilizável.
3. Modelo de Referência de Rede
Para facilitar a transmissão de dados e a comunicação entre diversas aplicações e
dispositivos, foram criados modelos de referência de rede. Esses modelos são divididos
em camadas, onde cada camada desempenha uma função específica. Os principais
modelos de referência são o modelo OSI (Open Systems Interconnection) e o modelo
TCP/IP (Transmission Control Protocol/Internet Protocol). Vamos explorar cada um
desses modelos, entender suas camadas e funções, e compará-los com o modelo TCP/IP
equivalente que é utilizado atualmente.
a) Modelo OSI
O modelo OSI, desenvolvido pela ISO (International Organization for
Standardization), é composto por sete camadas. Cada camada tem uma função
específica no processo de comunicação de dados. Vamos detalhar cada uma dessas
camadas:
1. Camada Física:
o Função: Transmite fluxos de bits através de meios de transmissão físicos,
como cabos e ondas de rádio.
o Especificações: Define as especificações elétricas, ópticas e mecânicas
para ativar, manter e desativar conexões físicas.
2. Camada de Enlace de Dados:
o Função: Encapsula pacotes em quadros, controla o fluxo de dados e
implementa a verificação e correção de erros.
o Exemplo: Ethernet, PPP (Point-to-Point Protocol).
3. Camada de Rede:
o Função: Define endereços lógicos e transfere dados de uma rede para
outra, roteando-os de acordo com os endereços IP.
o Exemplo: IP (Internet Protocol), ICMP (Internet Control Message
Protocol).
4. Camada de Transporte:
o Função: Estabelece, mantém e termina conexões de ponta a ponta,
controla o fluxo e a sequência de dados.
o Exemplo: TCP (Transmission Control Protocol), UDP (User Datagram
Protocol).
5. Camada de Sessão:
o Função: Estabelece, gerencia e encerra sessões entre aplicações de dois
dispositivos.
o Exemplo: RPC (Remote Procedure Call), PPTP (Point-to-Point
Tunneling Protocol).
6. Camada de Apresentação:
o Função: Traduz dados entre a camada de aplicação e a camada de sessão,
garantindo que os dados possam ser entendidos por diferentes sistemas.
o Exemplo: SSL (Secure Sockets Layer), TLS (Transport Layer Security),
JPEG.
7. Camada de Aplicação:
o Função: Fornece serviços de rede diretamente aos aplicativos do usuário.
o Exemplo: HTTP (Hypertext Transfer Protocol), FTP (File Transfer
Protocol), SMTP (Simple Mail Transfer Protocol).
b) Modelo TCP/IP
O modelo TCP/IP é amplamente utilizado na indústria e simplifica o modelo OSI em
quatro camadas. Vamos detalhar cada uma dessas camadas e comparar com o modelo
OSI.
1. Camada de Acesso à Rede (Link de Dados + Física):
oFunção: Combina as funções das camadas Física e de Enlace de Dados
do modelo OSI. Define os métodos de transmissão de dados através de
uma rede física.
o Exemplo: Ethernet, Wi-Fi, ARP (Address Resolution Protocol).
2. Camada de Internet:
o Função: Equivale à camada de Rede do modelo OSI. Gerencia o
roteamento dos pacotes de dados de uma origem para um destino através
de várias redes.
o Exemplo: IP, ICMP.
3. Camada de Transporte:
o Função: Equivale à camada de Transporte do modelo OSI. Garante a
entrega dos dados de ponta a ponta e controla a confiabilidade e o fluxo
de dados.
o Exemplo: TCP, UDP.
4. Camada de Aplicação (Aplicação + Apresentação + Sessão):
o Função: Combina as funções das camadas de Aplicação, Apresentação e
Sessão do modelo OSI. Fornece serviços de rede diretamente aos
aplicativos do usuário e garante a formatação e segurança dos dados.
o Exemplo: HTTP, FTP, SMTP, DNS (Domain Name System).
c) Modelo TCP/IP Equivalente
Com a evolução das tecnologias de transmissão de dados, surgiu uma variante do
modelo TCP/IP chamada modelo TCP/IP equivalente. Esse modelo reintroduz algumas
das separações de camadas vistas no modelo OSI para lidar melhor com as
complexidades das redes modernas.
1. Camada Física:
o Função: Transmite fluxos de bits através de meios físicos.
o Especificações: Define as especificações elétricas e mecânicas para
ativar, manter e desativar conexões físicas.
2. Camada de Enlace de Dados:
o Função: Controla o acesso ao meio de transmissão, encapsula pacotes em
quadros, e implementa verificação e correção de erros.
o Exemplo: Ethernet, PPP.
3. Camada de Rede (Internet):
o Função: Gerencia o endereçamento lógico e o roteamento dos pacotes de
dados entre redes.
o Exemplo: IP, ICMP.
4. Camada de Transporte (Host-to-Host):
o Função: Fornece serviços de comunicação de ponta a ponta e controle de
fluxo.
o Exemplo: TCP, UDP.
5. Camada de Aplicação:
o Função: Fornece serviços diretamente aos aplicativos e integra as
funções das camadas de Sessão, Apresentação e Aplicação do modelo
OSI.
o Exemplo: HTTP, FTP, SMTP.
d) Comparativo entre Modelos
Camada Modelo OSI Modelo TCP/IP Modelo TCP/IP Equivalente
1. Física Física Acesso à Rede Física
2. Enlace de Dados Enlace de Dados Acesso à Rede Enlace de Dados
3. Rede Rede Internet Rede (Internet)
4. Transporte Transporte Transporte Transporte (Host-to-Host)
5. Sessão Sessão Aplicação Aplicação
6. Apresentação Apresentação Aplicação Aplicação
7. Aplicação Aplicação Aplicação Aplicação
Camadas Combinadas: O modelo TCP/IP original combina as camadas de
Sessão, Apresentação e Aplicação do modelo OSI em uma única camada de
Aplicação. Ele também combina as camadas Física e de Enlace de Dados em
uma camada de Acesso à Rede.
Separação Detalhada: O modelo TCP/IP equivalente reintroduz a separação
entre as camadas Física e de Enlace de Dados, proporcionando uma
granularidade maior que ajuda a lidar com a complexidade das redes modernas.
Flexibilidade e Implementação: O modelo TCP/IP e seu equivalente são mais
flexíveis e práticos para implementações reais, sendo amplamente adotados na
indústria devido à sua eficiência e simplicidade.
Em resumo, o modelo OSI oferece uma visão detalhada e estruturada da
comunicação de rede, enquanto o modelo TCP/IP simplifica e integra funções para uma
implementação mais prática e eficiente. O modelo TCP/IP equivalente adapta essas
estruturas para melhor lidar com as necessidades modernas de redes. Entender esses
modelos é crucial para profissionais de redes, fornecendo uma base sólida para trabalhar
com tecnologias de rede contemporâneas.
4. Protocolos de Rede
Os protocolos são conjuntos de regras que determinam como os dados são transmitidos
e recebidos na rede. Cada camada dos modelos de referência de rede utiliza diferentes
protocolos para realizar suas funções específicas. Vamos detalhar os principais
protocolos utilizados em cada camada dos modelos OSI, TCP/IP e TCP/IP equivalente.
a. Protocolos da Camada de Aplicação
A camada de aplicação é responsável por fornecer serviços de rede diretamente aos
aplicativos dos usuários. Alguns dos principais protocolos dessa camada incluem:
HTTP (Hypertext Transfer Protocol): Utilizado para a transferência de páginas
web. Permite que navegadores web se comuniquem com servidores para acessar
e exibir conteúdo HTML.
HTTPS (HTTP Secure): Versão segura do HTTP, que utiliza SSL/TLS para
criptografar a comunicação entre o navegador e o servidor, garantindo segurança
e privacidade.
FTP (File Transfer Protocol): Utilizado para a transferência de arquivos entre
um cliente e um servidor. Permite upload e download de arquivos.
SMTP (Simple Mail Transfer Protocol): Utilizado para o envio de emails entre
servidores de correio eletrônico.
DNS (Domain Name System): Traduz nomes de domínio em endereços IP,
permitindo que os usuários acessem sites web utilizando nomes amigáveis em
vez de endereços numéricos.
Telnet: Protocolo de acesso remoto que permite aos usuários se conectarem e
controlarem dispositivos de rede de forma remota. No entanto, é menos seguro e
tem sido amplamente substituído pelo SSH (Secure Shell), que oferece
criptografia.
i. Protocolo HTTP
O que é o HTTP?
O Protocolo de Transferência de Hipertexto (HTTP - Hypertext Transfer Protocol) é um
dos protocolos de rede mais utilizados na Internet. Ele foi originalmente projetado para
fornecer um método para publicar e receber páginas HTML, permitindo a comunicação
entre um navegador web (cliente HTTP) e um servidor web (servidor HTTP).
Estrutura Cliente/Servidor
Servidor HTTP: É um dispositivo ou software que armazena e fornece páginas
web quando solicitado por um cliente HTTP. Ele espera por solicitações em uma
porta específica (normalmente a porta 80 para HTTP e 443 para HTTPS) e
responde com o conteúdo da página requisitada.
Cliente HTTP: É um programa, como um navegador web, que envia solicitações
HTTP ao servidor. O cliente solicita páginas web e outros recursos que são
necessários para exibir o conteúdo completo de uma página.
Funcionamento do HTTP
1. Estabelecimento de Conexão:
o O cliente HTTP (navegador web) inicia uma conexão TCP com o
servidor HTTP na porta 80 (ou 443 para HTTPS).
o Uma vez que a conexão TCP é estabelecida, o cliente envia uma
solicitação HTTP ao servidor.
2. Transferência de Dados:
o Solicitação HTTP: O cliente envia uma solicitação HTTP que inclui um
método (como GET ou POST), a URL do recurso solicitado e
informações adicionais como cabeçalhos.
o Resposta HTTP: O servidor processa a solicitação e responde com um
código de status HTTP (como 200 OK), cabeçalhos de resposta e o corpo
da resposta, que geralmente contém o conteúdo HTML da página
solicitada.
Estrutura da Mensagem HTTP
1. Mensagem de Solicitação HTTP:
o Linha de Solicitação: Inclui o método HTTP, a URL e a versão do
protocolo. Exemplo: GET /[Link] HTTP/1.1.
o Cabeçalhos de Solicitação: Fornecem informações adicionais sobre a
solicitação e o cliente. Exemplos: Host: [Link], User-
Agent: Mozilla/5.0.
o Corpo da Solicitação: Opcional, usado principalmente em métodos como
POST para enviar dados ao servidor.
2. Mensagem de Resposta HTTP:
o Linha de Status: Inclui a versão do protocolo, o código de status e uma
frase de status. Exemplo: HTTP/1.1 200 OK.
o Cabeçalhos de Resposta: Fornecem informações sobre a resposta e o
servidor. Exemplos: Content-Type: text/html, Set-Cookie:
sessionId=abc123.
o Corpo da Resposta: Contém o conteúdo real solicitado, como o HTML
da página.
Exemplo Prático
Vamos considerar um exemplo de um usuário acessando o site
[Link]:
1. Conexão:
o O usuário digita o URL [Link] no navegador.
o O navegador estabelece uma conexão TCP com o servidor da Huawei na
porta 80.
2. Solicitação e Resposta:
o O navegador envia uma solicitação HTTP: GET /[Link]
HTTP/1.1.
o O servidor da Huawei responde com: HTTP/1.1 200 OK seguido pelo
conteúdo HTML da página inicial.
3. Renderização:
o O navegador recebe a resposta, interpreta o HTML, e solicita quaisquer
recursos adicionais (como imagens, CSS, JavaScript) necessários para
renderizar a página completa.
o Cada recurso adicional também é requisitado e transferido utilizando o
mesmo processo de solicitação e resposta HTTP.
Segurança no HTTP
HTTPS: A versão segura do HTTP, chamada HTTPS (HTTP Secure), utiliza
SSL/TLS para criptografar a comunicação entre o cliente e o servidor. Isso
garante a confidencialidade e a integridade dos dados transmitidos.
Certificados Digitais: Servidores HTTPS utilizam certificados digitais para
validar sua identidade para os clientes, proporcionando uma camada adicional de
segurança contra ataques man-in-the-middle.
Vantagens e Desvantagens do HTTP
Vantagens:
o Simplicidade: HTTP é fácil de implementar e usar.
o Estateless: Cada solicitação é independente, o que simplifica a
comunicação e a escalabilidade.
o Amplamente Suportado: Quase todos os navegadores e servidores web
suportam HTTP.
Desvantagens:
o Segurança: HTTP padrão não fornece criptografia, tornando as
comunicações vulneráveis a interceptações.
o Performance: HTTP/1.1, sendo stateless, pode ser ineficiente em certas
situações devido à sobrecarga de estabelecer conexões repetidamente.
Em resumo, o HTTP é um protocolo robusto e fundamental para a web, permitindo a
publicação e o acesso a páginas HTML e outros recursos web. No entanto, devido às
suas limitações de segurança, o HTTPS é amplamente utilizado para proteger as
comunicações na Internet.
ii. Protocolo FTP
O que é o FTP?
O Protocolo de Transferência de Arquivos (FTP - File Transfer Protocol) é um
protocolo de rede utilizado para transferir arquivos de um host para outro através de
uma rede TCP, como a Internet. Este protocolo adota a estrutura cliente/servidor,
permitindo que um cliente se conecte a um servidor FTP para fazer upload e download
de arquivos.
Estrutura Cliente/Servidor
Servidor FTP: É um dispositivo que executa o serviço FTP, fornecendo funções
de acesso e operação para clientes remotos. Usuários podem acessar o servidor
FTP através de um programa cliente FTP, que lhes permite acessar e gerenciar
arquivos no servidor.
Cliente FTP: É um programa que envia comandos para operar arquivos em um
servidor remoto. Um usuário pode instalar um programa cliente FTP em seu
computador e configurar uma conexão com um servidor FTP para transferir
arquivos.
Funcionamento do FTP
1. Estabelecimento de Conexão:
o O cliente FTP inicia uma conexão com o servidor FTP. Esta conexão é
estabelecida através de uma sessão que utiliza portas TCP específicas,
geralmente as portas 20 e 21.
o A porta 21 é utilizada para controle (comandos e respostas).
o A porta 20 é utilizada para a transferência de dados.
2. Transferência de Arquivos:
o Após a conexão ser estabelecida, o cliente pode enviar comandos ao
servidor FTP para navegar pelos diretórios e transferir arquivos.
o Comandos comuns incluem USER para login, PASS para senha, LIST para
listar diretórios, RETR para baixar arquivos, e STOR para enviar arquivos.
3. Modos de Transferência:
o Modo Ativo: O cliente abre uma porta e informa ao servidor o número
dessa porta. O servidor, então, inicia a conexão com o cliente a partir da
porta 20.
o Modo Passivo: O servidor abre uma porta e informa ao cliente o número
dessa porta. O cliente, então, inicia a conexão para transferência de
dados.
Exemplo Prático
1. Conexão:
o O usuário abre um cliente FTP e se conecta ao servidor FTP com o
comando ftp [Link].
o O cliente envia o comando USER seguido do nome de usuário e PASS
seguido da senha.
2. Navegação e Transferência:
o Para listar os arquivos no diretório do servidor, o cliente usa o comando
LIST.
o Para baixar um arquivo do servidor, o cliente usa RETR
nome_do_arquivo.
o Para enviar um arquivo para o servidor, o cliente usa STOR
nome_do_arquivo.
Segurança no FTP
FTP: O FTP padrão não fornece encriptação, o que significa que os dados,
incluindo credenciais de login, são enviados em texto claro.
FTPS: Extensão do FTP que adiciona suporte para criptografia SSL/TLS,
oferecendo uma camada de segurança ao protocolo.
SFTP: Protocolo de Transferência de Arquivos SSH (Secure File Transfer
Protocol), que, embora funcionalmente similar ao FTP, é tecnicamente parte do
conjunto de protocolos SSH e oferece criptografia para a transferência de
arquivos.
Vantagens e Desvantagens do FTP
Vantagens:
o Amplamente suportado e utilizado para transferências de arquivos.
o Permite a transferência de grandes arquivos e diretórios.
o Suporta recomeço de transferências interrompidas.
Desvantagens:
o Falta de segurança intrínseca no FTP padrão, pois os dados são
transmitidos em texto claro.
o Dependência de múltiplas portas (20 e 21), o que pode complicar a
configuração de firewalls.
Em resumo, o FTP é um protocolo robusto e amplamente utilizado para
transferência de arquivos, com a flexibilidade de ser utilizado em modos ativo e
passivo. No entanto, devido às suas limitações de segurança, é frequentemente
substituído ou complementado por variantes mais seguras como FTPS e SFTP.
iii. Protocolo SMTP
O que é o SMTP?
O Protocolo de Transferência de Correio Simples (SMTP - Simple Mail Transfer
Protocol) é um protocolo de rede utilizado para a transferência de emails entre
servidores de correio eletrônico. Ele é o padrão para a comunicação de emails na
Internet e funciona na camada de aplicação do modelo OSI.
Estrutura Cliente/Servidor
Servidor SMTP: É um servidor de correio eletrônico que aceita emails enviados
por clientes SMTP e os encaminha para outros servidores SMTP até que
cheguem ao destino final.
Cliente SMTP: É um programa de correio eletrônico (como Microsoft Outlook,
Mozilla Thunderbird, ou um cliente de email baseado na web) que envia emails
para um servidor SMTP.
Funcionamento do SMTP
1. Estabelecimento de Conexão:
o O cliente SMTP inicia uma conexão TCP com o servidor SMTP na porta
25 (ou na porta 587 para conexões seguras usando STARTTLS, e na
porta 465 para SMTPS, que é SMTP sobre SSL/TLS).
o Uma vez estabelecida a conexão, o cliente e o servidor trocam comandos
e respostas para preparar a transferência do email.
2. Transferência de Mensagens:
o HELO/EHLO: O cliente inicia a comunicação enviando o comando
HELO ou EHLO (para indicar suporte a extensões SMTP).
o MAIL FROM: O cliente especifica o endereço de email do remetente.
o RCPT TO: O cliente especifica o endereço de email do destinatário.
o DATA: O cliente envia o corpo da mensagem de email, incluindo
cabeçalhos (como Subject, To, From) e o corpo da mensagem
propriamente dito. A mensagem termina com uma linha contendo apenas
um ponto (".").
o QUIT: O cliente termina a sessão SMTP enviando o comando QUIT.
Estrutura da Mensagem SMTP
Uma mensagem SMTP consiste em duas partes principais:
1. Cabeçalho da Mensagem:
o Inclui informações como remetente, destinatário, data e assunto.
o Exemplo:
From: user@[Link]
To: recipient@[Link]
Subject: Teste de email
Date: Wed, 05 Jun 2024 15:20:00 +0000
2. Corpo da Mensagem:
o Contém o texto do email. Pode incluir texto simples ou HTML, além de
anexos de arquivos codificados.
Exemplo Prático
Vamos considerar um exemplo de um usuário enviando um email através de um
cliente de email:
1. Conexão:
o O cliente de email inicia uma conexão TCP com o servidor SMTP na
porta 25.
o O cliente envia EHLO [Link] e o servidor responde com
250 OK.
2. Envio do Email:
o O cliente envia MAIL FROM:<user@[Link]> e o servidor responde
com 250 OK.
o O cliente envia RCPT TO:<recipient@[Link]> e o servidor
responde com 250 OK.
o O cliente envia DATA e o servidor responde com 354 End data with
<CR><LF>.<CR><LF>.
o O cliente envia o corpo da mensagem:
From: user@[Link]
To: recipient@[Link]
Subject: Teste de email
Date: Wed, 05 Jun 2024 15:20:00 +0000
Este é um email de teste.
.
o O servidor responde com 250 OK.
o O cliente envia QUIT e o servidor responde com 221 Bye.
Segurança no SMTP
STARTTLS: Método para iniciar a criptografia de uma conexão SMTP já
existente usando TLS (Transport Layer Security).
SMTPS: SMTP sobre SSL/TLS, que utiliza a porta 465 para fornecer uma
conexão criptografada desde o início.
Vantagens e Desvantagens do SMTP
Vantagens:
o Simplicidade: O SMTP é um protocolo simples e amplamente suportado.
o Eficiência: É eficiente para a transmissão de emails entre servidores de
correio.
Desvantagens:
o Segurança: O SMTP padrão não inclui criptografia, o que pode expor
emails a interceptações. É por isso que extensões como STARTTLS e
SMTPS são utilizadas para garantir a segurança.
o Spam: A simplicidade do SMTP também torna fácil o envio de emails
indesejados (spam).
Em resumo, o SMTP é um protocolo fundamental para a transmissão de emails
na Internet. Compreender seu funcionamento é essencial para configurar, gerenciar e
solucionar problemas em servidores de correio eletrônico.
iv. Protocolo DNS
O que é o DNS?
O Sistema de Nomes de Domínios (DNS - Domain Name System) é um
protocolo da camada de aplicação que traduz nomes de domínio legíveis por humanos
(como [Link]) em endereços IP legíveis por máquinas (como [Link]).
O DNS é essencial para a funcionalidade da Internet, pois permite que os usuários
acessem recursos da rede utilizando nomes de domínio amigáveis.
Estrutura Cliente/Servidor
Servidor DNS: É um servidor que responde a consultas DNS, fornecendo o
endereço IP correspondente a um nome de domínio. Existem diferentes tipos de
servidores DNS, como servidores de nomes raiz, servidores de nomes de TLD
(Top-Level Domain), e servidores de nomes autoritativos.
Cliente DNS: É o dispositivo ou software que envia uma consulta DNS para
resolver um nome de domínio em um endereço IP. Normalmente, o cliente DNS
é integrado ao sistema operacional ou ao navegador web.
Funcionamento do DNS
1. Estabelecimento de Conexão:
o O cliente DNS (como um navegador web) envia uma consulta DNS para
o servidor DNS configurado, geralmente na porta 53.
o Esta consulta pode ser um pedido de resolução de um nome de domínio
para um endereço IP.
2. Processo de Resolução de Nome:
o Consulta Recursiva: O cliente DNS envia uma consulta recursiva a um
servidor DNS, que assume a responsabilidade de resolver a consulta
totalmente, consultando outros servidores DNS conforme necessário e
retornando a resposta final ao cliente.
o Consulta Iterativa: O servidor DNS responde ao cliente com a melhor
informação que possui, geralmente uma referência a outro servidor DNS
que possa ter a resposta. O cliente então envia consultas subsequentes
diretamente a esses servidores referenciados.
Tipos de Registros DNS
1. A (Address): Mapeia um nome de domínio para um endereço IPv4.
2. AAAA (IPv6 Address): Mapeia um nome de domínio para um endereço IPv6.
3. CNAME (Canonical Name): Mapeia um nome de domínio para outro nome de
domínio (usado para aliasing).
4. MX (Mail Exchange): Especifica servidores de correio para o domínio.
5. NS (Name Server): Especifica servidores de nomes autoritativos para o domínio.
6. PTR (Pointer): Mapeia um endereço IP para um nome de domínio (usado em
buscas reversas).
7. TXT (Text): Armazena dados de texto arbitrários associados ao nome de
domínio, como informações de verificação de domínio e políticas de email
(SPF/DKIM).
Exemplo Prático
Vamos considerar um exemplo de um usuário acessando o site [Link]:
1. Consulta DNS:
o O usuário digita [Link] no navegador.
o O navegador envia uma consulta DNS ao servidor DNS configurado
(geralmente fornecido pelo ISP ou configurado manualmente).
2. Processo de Resolução:
o O servidor DNS recursivo recebe a consulta e, se não tiver a resposta em
cache, envia consultas iterativas começando pelos servidores raiz.
o Os servidores raiz referenciam os servidores de TLD (.com), que então
referenciam os servidores autoritativos para [Link].
o O servidor autoritativo para [Link] responde com o endereço IP do
servidor web.
3. Resposta DNS:
o O servidor DNS recursivo retorna a resposta ao navegador, que agora
sabe o endereço IP de [Link].
o O navegador estabelece uma conexão TCP com o servidor web no
endereço IP fornecido e solicita a página web.
Segurança no DNS
DNSSEC (DNS Security Extensions): Protocolo de segurança que adiciona
assinaturas digitais aos dados DNS para garantir sua autenticidade e integridade.
DNS sobre HTTPS (DoH) e DNS sobre TLS (DoT): Protocolos que
criptografam as consultas DNS para proteger a privacidade do usuário e evitar
interceptações.
Vantagens e Desvantagens do DNS
Vantagens:
o Usabilidade: Permite o uso de nomes de domínio amigáveis em vez de
endereços IP numéricos.
o Escalabilidade: A estrutura hierárquica do DNS facilita a gestão e a
expansão.
o Distribuição: O DNS é distribuído globalmente, o que melhora a
redundância e a resiliência.
Desvantagens:
o Segurança: Sem medidas como DNSSEC, o DNS é vulnerável a ataques
como spoofing e cache poisoning.
o Latência: Resoluções DNS podem introduzir atrasos, especialmente se
envolverem várias consultas recursivas.
Em resumo, o DNS é um protocolo essencial para a operação da Internet,
fornecendo uma maneira eficiente de traduzir nomes de domínio em endereços IP.
Compreender seu funcionamento é crucial para garantir a conectividade e a segurança
das redes .
v. Protocolo Telnet
O que é o Telnet?
Telnet é um protocolo padrão que fornece serviços de login remoto em uma
rede. Ele permite que os usuários operem dispositivos remotos através de um
computador local, proporcionando um acesso ao console do dispositivo remoto como se
os comandos estivessem sendo inseridos diretamente no console do servidor.
Estrutura Cliente/Servidor
Servidor Telnet: É um dispositivo ou software que aceita conexões Telnet,
permitindo que os usuários se conectem e controlem remotamente o dispositivo.
Cliente Telnet: É um programa utilizado pelo usuário para se conectar ao
servidor Telnet e enviar comandos.
Funcionamento do Telnet
1. Estabelecimento de Conexão:
o O cliente Telnet inicia uma conexão TCP com o servidor Telnet na porta
23.
o Uma vez estabelecida a conexão, o cliente e o servidor trocam dados em
uma sessão interativa.
2. Sessão Interativa:
o O usuário insere comandos no cliente Telnet.
o Esses comandos são enviados ao servidor Telnet, que os executa como se
fossem inseridos diretamente no console do servidor.
o A resposta do servidor é enviada de volta ao cliente Telnet e exibida para
o usuário.
Segurança no Telnet
Telnet transmite dados em texto claro, incluindo credenciais de login, o que o
torna vulnerável a interceptações (sniffing) e ataques man-in-the-middle. Devido à falta
de criptografia, Telnet está sendo amplamente substituído por SSH (Secure Shell), que
oferece comunicação criptografada.
Vantagens e Desvantagens do Telnet
Vantagens:
o Simplicidade: Fácil de usar e configurar.
o Utilidade: Permite controle remoto completo de dispositivos em rede.
Desvantagens:
o Segurança: Não fornece criptografia, tornando-se inseguro para uso em
redes não confiáveis.
o Substituição: Largamente substituído por SSH devido às suas
capacidades de segurança.
Exemplo Prático
Vamos considerar um exemplo de um usuário acessando um roteador através do
Telnet:
1. Conexão:
o O usuário abre um cliente Telnet e se conecta ao roteador com o
comando telnet [Link].
o O cliente Telnet estabelece uma conexão TCP com o servidor Telnet no
roteador na porta 23.
2. Login:
o O usuário insere suas credenciais de login.
o O servidor Telnet autentica o usuário e fornece acesso ao console do
roteador.
3. Comandos:
o O usuário insere comandos como show ip interface brief para
verificar o estado das interfaces do roteador.
o O servidor Telnet executa o comando e retorna a saída para o cliente
Telnet, onde é exibida para o usuário.
Comparativo entre Telnet e SSH
Característica Telnet SSH
Porta Padrão 23 22
Segurança Sem criptografia Criptografia robusta
Autenticação Simples, baseada em senha Baseada em senha e chave pública
Uso Gerenciamento remoto básico Gerenciamento remoto seguro
Telnet oferece uma maneira simples e direta de gerenciar dispositivos de rede
remotamente, mas devido às suas falhas de segurança, é amplamente substituído pelo
SSH, que fornece uma camada de segurança adicional necessária nas redes modernas.
b. Protocolos da Camada de Transporte
Os protocolos TCP (Transmission Control Protocol) e UDP (User Datagram
Protocol) são ambos protocolos de camada de transporte usados para a transmissão de
dados na rede, mas possuem características e estruturas de cabeçalho diferentes. Vamos
explorar as diferenças e semelhanças entre os cabeçalhos TCP e UDP.
i. Cabeçalho TCP
O cabeçalho TCP é mais complexo e possui um tamanho variável, geralmente de
20 a 60 bytes, dependendo do número de opções presentes. Ele contém campos que
suportam funcionalidades avançadas como controle de fluxo, confirmação de entrega e
gerenciamento de conexões.
Estrutura do Cabeçalho TCP:
Tamanho
Campo Descrição
(bits)
Porta de Origem 16 Identifica a aplicação remetente.
Porta de Destino 16 Identifica a aplicação destinatária.
Número de Sequência 32 Utilizado para ordenar os segmentos.
Número de
32 Confirma o recebimento dos dados.
Acknowledgment (ACK)
Data Offset 4 Indica o tamanho do cabeçalho TCP.
Reservado 3 Reservado para uso futuro.
Contém bits de controle (URG, ACK, PSH,
Flags (6 bits) 6
RST, SYN, FIN).
Controle de fluxo, especifica o tamanho da
Tamanho da Janela 16
janela de recepção.
Checksum 16 Verificação de integridade dos dados.
Ponteiro Urgente 16 Indica se há dados urgentes.
Pode incluir vários parâmetros como MSS
Opções Variável
(Maximum Segment Size).
Dados Variável Os dados reais a serem transmitidos.
Características do TCP:
Confiabilidade: Garante a entrega dos dados através de confirmação (ACK) e
retransmissão de segmentos perdidos.
Controle de Fluxo: Utiliza o campo Tamanho da Janela para evitar sobrecarregar
o receptor.
Controle de Congestionamento: Ajusta a taxa de transmissão com base no estado
da rede.
Conexão Orientada: Estabelece uma conexão antes da transmissão de dados
(handshake de três vias).
ii. Cabeçalho UDP
O cabeçalho UDP é mais simples e tem um tamanho fixo de 8 bytes. Ele não
fornece serviços de confiabilidade, controle de fluxo ou correção de erros, o que torna a
transmissão mais rápida, mas menos segura.
Estrutura do Cabeçalho UDP:
Tamanho
Campo Descrição
(bits)
Porta de Origem 16 Identifica a aplicação remetente.
Porta de Destino 16 Identifica a aplicação destinatária.
Comprimento total do datagrama UDP (cabeçalho +
Comprimento 16
dados).
Checksum 16 Verificação de integridade dos dados.
Dados Variável Os dados reais a serem transmitidos.
Características do UDP:
Baixa Latência: Ideal para aplicações que requerem transmissão rápida de dados,
como streaming de vídeo e jogos online.
Simplicidade: Cabeçalho menor e menos sobrecarga de processamento.
Não Confiável: Não garante a entrega dos dados ou a ordem de chegada dos
pacotes.
Sem Conexão: Não estabelece uma conexão antes da transmissão de dados.
iii. Comparativo dos Cabeçalhos TCP e UDP
Característica TCP UDP
Tamanho do
20-60 bytes 8 bytes
Cabeçalho
Não confiável (sem
Confiabilidade Confiável (usa ACK e retransmissão)
confirmação)
Controle de Fluxo Sim (campo Tamanho da Janela) Não
Controle de
Sim Não
Congestionamento
Orientação de Orientado a conexão (handshake de Sem conexão (datagramas
Conexão três vias) independentes)
Mais rápido (menos
Velocidade Menos rápido (mais processamento)
processamento)
Porta de Origem, Porta de Destino,
Porta de Origem, Porta de
Seq. Num, ACK Num, Data Offset,
Campos Principais Destino, Comprimento,
Flags, Janela, Checksum, Urgente,
Checksum
Opções
O TCP é ideal para aplicações que requerem transmissão confiável e ordenada
de dados, como navegação na web, email e transferência de arquivos. Já o UDP é mais
adequado para aplicações que necessitam de transmissão rápida e em tempo real, como
streaming de mídia e jogos online. Compreender as diferenças entre os cabeçalhos TCP
e UDP ajuda a escolher o protocolo mais apropriado para cada aplicação específica.
iv. Processo de Three-Way Handshake
O three-way handshake (handshake de três vias) é o processo utilizado pelo
protocolo TCP (Transmission Control Protocol) para estabelecer uma conexão confiável
entre um cliente e um servidor antes de iniciar a transmissão de dados. Este processo
garante que ambas as partes estejam prontas para comunicação e que os parâmetros de
conexão, como números de sequência e tamanhos de janela, estejam sincronizados.
Etapas do Three-Way Handshake
1. SYN (Synchronize):
o Cliente → Servidor: O cliente inicia o processo de conexão enviando um
segmento TCP com o bit SYN (Synchronize) ativado. Este segmento
também inclui um número de sequência inicial (ISN - Initial Sequence
Number) escolhido pelo cliente.
o Objetivo: Solicitar uma conexão e sincronizar os números de sequência.
2. SYN-ACK (Synchronize-Acknowledge):
o Servidor → Cliente: O servidor, ao receber o segmento SYN, responde
com um segmento que tem os bits SYN e ACK (Acknowledgment)
ativados. O bit SYN é para sincronizar os números de sequência do
servidor, e o bit ACK é para reconhecer o número de sequência do
cliente. O segmento inclui o número de sequência inicial do servidor e o
número de reconhecimento (ACK) correspondente ao ISN do cliente
mais um.
o Objetivo: Acknowledge o SYN do cliente e fornecer o SYN do servidor.
3. ACK (Acknowledge):
o Cliente → Servidor: Finalmente, o cliente envia um segmento com o bit
ACK ativado. Este segmento confirma o recebimento do SYN-ACK do
servidor, ajustando o número de reconhecimento ao ISN do servidor
mais um.
o Objetivo: Confirmar a recepção do SYN-ACK do servidor e concluir o
estabelecimento da conexão.
Fluxo de Dados no Three-Way Handshake
1. Primeira Etapa: SYN
o Cliente: SYN (Número de Sequência = X)
o Formato do segmento:
[SYN, Seq = X]
2. Segunda Etapa: SYN-ACK
o Servidor: SYN-ACK (Número de Sequência = Y, ACK = X + 1)
o Formato do segmento:
[SYN, Seq = Y, ACK, Ack = X + 1]
3. Terceira Etapa: ACK
o Cliente: ACK (ACK = Y + 1)
o Formato do segmento:
[ACK, Ack = Y + 1]
Exemplo Prático do Three-Way Handshake
Vamos considerar um exemplo em que um cliente deseja estabelecer uma
conexão TCP com um servidor web:
1. Primeira Etapa: Cliente → Servidor (SYN)
o O cliente inicia a conexão enviando um segmento SYN:
Origem: IP do Cliente, Porta 49152
Destino: IP do Servidor, Porta 80
Seq = 1000
[SYN]
2. Segunda Etapa: Servidor → Cliente (SYN-ACK)
o O servidor responde com um segmento SYN-ACK:
Origem: IP do Servidor, Porta 80
Destino: IP do Cliente, Porta 49152
Seq = 2000, Ack = 1001
[SYN, ACK]
3. Terceira Etapa: Cliente → Servidor (ACK)
o O cliente envia um segmento ACK para finalizar o handshake:
Origem: IP do Cliente, Porta 49152
Destino: IP do Servidor, Porta 80
Ack = 2001
[ACK]
Importância do Three-Way Handshake
1. Sincronização de Números de Sequência: Estabelece os números de sequência
iniciais para ambos os lados, garantindo a ordem correta dos pacotes.
2. Confirmação de Conexão: Garante que ambos os lados estão prontos para
transmitir e receber dados.
3. Estabelecimento de Parâmetros: Define parâmetros importantes como o tamanho
da janela para controle de fluxo.
Considerações de Segurança
SYN Flood Attack: Um tipo de ataque DoS (Denial of Service) onde um
atacante envia uma enxurrada de pacotes SYN, sem completar o handshake,
esgotando os recursos do servidor.
Mitigações: Técnicas como SYN cookies podem ser usadas para mitigar ataques
SYN flood, permitindo que o servidor responda a solicitações SYN sem alocar
recursos até que o handshake seja completado.
O three-way handshake é fundamental para a comunicação TCP, fornecendo
uma base confiável para a troca de dados subsequente entre o cliente e o servidor.
v. Funcionamento do Número de Sequência e
Confirmação
Os números de sequência e confirmação são elementos cruciais do protocolo
TCP (Transmission Control Protocol), garantindo a entrega confiável e ordenada dos
dados entre um cliente e um servidor. Vamos explorar como esses números funcionam
durante a comunicação TCP.
Número de Sequência (Sequence Number)
O número de sequência é um valor atribuído a cada byte transmitido na conexão
TCP. Ele é utilizado para rastrear quais dados foram enviados e em que ordem,
permitindo a reconstrução correta dos dados no destino.
Inicialização: O número de sequência inicial (ISN - Initial Sequence Number) é
escolhido aleatoriamente por cada lado da conexão (cliente e servidor) quando o
three-way handshake é iniciado.
Incremento: O número de sequência é incrementado pelo número de bytes
enviados. Por exemplo, se o número de sequência inicial é 1000 e o primeiro
segmento contém 100 bytes, o próximo número de sequência será 1100.
Número de Confirmação (Acknowledgment Number)
O número de confirmação é utilizado pelo receptor para informar ao remetente
qual foi o último byte recebido e reconhecido corretamente. Ele é essencial para a
confirmação de recebimento e para a retransmissão de dados perdidos.
Inicialização: O número de confirmação inicial é o número de sequência
recebido mais um.
Incremento: O número de confirmação é atualizado conforme os dados são
recebidos corretamente.
Processo de Comunicação com Números de Sequência e Confirmação
Vamos considerar um exemplo prático para ilustrar o funcionamento dos
números de sequência e confirmação:
1. Estabelecimento da Conexão (Three-Way Handshake):
o Cliente envia: SYN (Seq = 1000)
[SYN, Seq = 1000]
o Servidor responde: SYN-ACK (Seq = 2000, Ack = 1001)
[SYN, Seq = 2000, ACK, Ack = 1001]
o Cliente confirma: ACK (Seq = 1001, Ack = 2001)
[ACK, Seq = 1001, Ack = 2001]
2. Envio de Dados:
o Cliente envia 100 bytes de dados: (Seq = 1001, Ack = 2001)
[Data, Seq = 1001, Ack = 2001, Length = 100 bytes]
o Servidor recebe os dados e envia uma confirmação: (Seq = 2001, Ack =
1101)
[ACK, Seq = 2001, Ack = 1101]
3. Recepção e Confirmação de Dados:
o Servidor envia 50 bytes de dados: (Seq = 2001, Ack = 1101)
[Data, Seq = 2001, Ack = 1101, Length = 50 bytes]
o Cliente recebe os dados e envia uma confirmação: (Seq = 1101, Ack =
2051)
[ACK, Seq = 1101, Ack = 2051]
Detalhamento do Processo
1. Cliente → Servidor:
o Cliente envia 100 bytes de dados começando do número de sequência
1001.
o O segmento contém bytes de 1001 a 1100.
o Número de confirmação no servidor será 1101, indicando que os bytes
até 1100 foram recebidos.
2. Servidor → Cliente:
o Servidor envia 50 bytes de dados começando do número de sequência
2001.
o O segmento contém bytes de 2001 a 2050.
o Número de confirmação no cliente será 2051, indicando que os bytes até
2050 foram recebidos.
Importância dos Números de Sequência e Confirmação
1. Confiabilidade:
o Garante que todos os bytes enviados sejam recebidos corretamente.
o Permite a retransmissão de dados perdidos ou corrompidos.
2. Controle de Fluxo:
o Utiliza o campo de tamanho da janela para gerenciar a quantidade de
dados que podem ser enviados sem confirmação.
o Evita sobrecarregar o receptor com mais dados do que ele pode
processar.
3. Controle de Congestionamento:
o Utiliza algoritmos como o "slow start" para ajustar dinamicamente a taxa
de transmissão com base na capacidade da rede.
Exemplo de Retransmissão
Se o cliente não recebe uma confirmação para os dados enviados (por exemplo,
de Seq = 1001 a 1100), ele retransmite os dados após um tempo de espera (timeout):
Cliente retransmite: (Seq = 1001, Ack = 2001)
[Data, Seq = 1001, Ack = 2001, Length = 100 bytes]
Servidor recebe e confirma: (Seq = 2001, Ack = 1101)
[ACK, Seq = 2001, Ack = 1101]
Os números de sequência e confirmação são fundamentais para a operação do
TCP, garantindo a entrega ordenada e confiável dos dados. Eles permitem que ambos os
lados da conexão mantenham um controle preciso sobre quais dados foram enviados,
recebidos e precisam ser retransmitidos, proporcionando uma comunicação robusta e
eficiente.
vi. Funcionamento do Esquema de Numeração
de Portas
O esquema de numeração de portas é uma parte essencial dos protocolos de
transporte TCP e UDP, permitindo a multiplexação de serviços na mesma máquina.
Cada porta é identificada por um número de 16 bits, que varia de 0 a 65535, e serve para
identificar a aplicação ou serviço que está enviando ou recebendo dados.
Categorias de Portas
As portas são divididas em três categorias principais:
1. Portas Bem Conhecidas (Well-Known Ports):
o Intervalo: 0 a 1023
o Uso: Reservadas para serviços e aplicações mais comuns e reconhecidos
globalmente.
o Exemplos:
HTTP (porta 80)
HTTPS (porta 443)
FTP (porta 21)
SMTP (porta 25)
DNS (porta 53)
2. Portas Registradas (Registered Ports):
o Intervalo: 1024 a 49151
o Uso: Atribuídas a aplicações de usuário ou processos que não requerem
privilégio de administrador. Muitas destas portas são registradas na
IANA (Internet Assigned Numbers Authority) para evitar conflitos.
o Exemplos:
Microsoft SQL Server (porta 1433)
MySQL (porta 3306)
RDP (porta 3389)
3. Portas Dinâmicas ou Privadas (Dynamic/Private Ports):
o Intervalo: 49152 a 65535
o Uso: Usadas temporariamente por aplicativos para estabelecer conexões
e transferir dados. Geralmente, estas portas são atribuídas dinamicamente
e temporariamente para a duração de uma sessão.
o Exemplos:
Usadas para conexões temporárias em navegadores web ou
aplicativos de chat.
Funcionamento Prático do Esquema de Numeração de Portas
Vamos explorar como as portas funcionam no contexto de uma comunicação
cliente-servidor utilizando o protocolo HTTP como exemplo:
1. Estabelecimento de Conexão:
o Um usuário abre um navegador web e digita o endereço
[Link].
o O navegador resolve o endereço de domínio para um endereço IP
utilizando o DNS.
o O navegador tenta estabelecer uma conexão TCP com o servidor na porta
80 (porta padrão para HTTP).
2. Escolha da Porta do Cliente:
o O navegador (cliente) escolhe uma porta de origem dinâmica (por
exemplo, 49152) para iniciar a comunicação.
o O cliente envia um pacote SYN (início da conexão TCP) ao servidor
com o seguinte formato:
Origem: IP do Cliente, Porta 49152
Destino: IP do Servidor, Porta 80
3. Resposta do Servidor:
o O servidor HTTP recebe o pacote e responde com um pacote SYN-ACK
(sincronização e reconhecimento) utilizando sua porta bem conhecida
(80) como origem.
o O formato do pacote de resposta será:
Origem: IP do Servidor, Porta 80
Destino: IP do Cliente, Porta 49152
4. Estabelecimento da Conexão:
o O cliente envia um pacote ACK (reconhecimento) ao servidor para
completar o handshake de três vias.
o A conexão TCP está agora estabelecida, e a comunicação de dados pode
começar.
5. Transferência de Dados:
o O cliente envia uma solicitação HTTP ao servidor:
GET /[Link] HTTP/1.1
Host: [Link]
o O servidor processa a solicitação e envia a resposta com o conteúdo da
página.
6. Encerramento da Conexão:
o Após a transferência de dados, o cliente ou o servidor pode iniciar o
processo de encerramento da conexão TCP enviando um pacote FIN
(finalização).
Exemplo Prático
Vamos ilustrar o funcionamento com um exemplo mais específico:
1. Usuário acessa [Link]:
o O navegador resolve o endereço IP do servidor (por exemplo,
[Link]).
2. Navegador inicia conexão TCP:
o Porta de Origem do Cliente: 49152
o Porta de Destino no Servidor: 80 (HTTP)
3. Handshake TCP:
o Cliente envia: SYN (Origem: 49152, Destino: 80)
o Servidor responde: SYN-ACK (Origem: 80, Destino: 49152)
o Cliente envia: ACK (Origem: 49152, Destino: 80)
4. Troca de Dados:
o Cliente envia: GET /[Link] HTTP/1.1 (Origem: 49152, Destino:
80)
o Servidor responde: HTTP/1.1 200 OK com o conteúdo da página
(Origem: 80, Destino: 49152)
5. Encerramento da Conexão:
o Cliente envia: FIN (Origem: 49152, Destino: 80)
o Servidor responde: ACK e FIN (Origem: 80, Destino: 49152)
o Cliente envia: ACK (Origem: 49152, Destino: 80)
Este exemplo mostra como o esquema de numeração de portas facilita a
comunicação entre um cliente e um servidor, permitindo que múltiplas conexões
simultâneas sejam gerenciadas de maneira eficiente e organizada.
vii. Mecanismo de Deslizamento de Janela
O mecanismo de deslizamento de janela, também conhecido como "window
sliding" ou "sliding window", é uma técnica utilizada pelo protocolo TCP
(Transmission Control Protocol) para controle de fluxo e controle de congestionamento.
Este mecanismo permite que um remetente envie múltiplos segmentos de dados antes de
necessitar de uma confirmação (ACK) para cada segmento, melhorando a eficiência e a
utilização da rede.
Conceitos Fundamentais
1. Janela de Envio (Send Window):
o Define o intervalo de bytes que o remetente está autorizado a enviar
antes de receber uma confirmação.
o O tamanho da janela é determinado pelo receptor e enviado ao remetente
em cada segmento ACK.
2. Janela de Recepção (Receive Window):
o Define o intervalo de bytes que o receptor está preparado para receber e
armazenar.
o O tamanho da janela de recepção é enviado ao remetente para informar a
quantidade de dados que ele pode enviar sem sobrecarregar o receptor.
Funcionamento do Mecanismo de Deslizamento de Janela
O mecanismo de deslizamento de janela opera através do envio contínuo de
dados e do ajuste dinâmico da janela de envio com base nas confirmações recebidas.
Vamos detalhar o processo em etapas:
1. Inicialização:
o Durante o three-way handshake, o receptor informa o tamanho da janela
inicial (por exemplo, 4096 bytes).
2. Envio de Dados:
o O remetente começa a enviar segmentos de dados dentro do limite da
janela de envio.
o Cada segmento possui um número de sequência que identifica a posição
dos dados no fluxo total.
3. Recepção e Confirmação:
o O receptor recebe os segmentos e envia confirmações de volta ao
remetente, indicando os números de sequência dos dados recebidos e o
tamanho atualizado da janela de recepção.
o Por exemplo, se o receptor recebeu os primeiros 1000 bytes e a janela é
de 4096 bytes, ele pode enviar um ACK com Ack = 1001 e Window
Size = 3096.
4. Deslizamento da Janela:
o Ao receber uma confirmação, o remetente "desliza" a janela de envio,
permitindo o envio de novos dados.
o Por exemplo, se a janela de envio era de 4096 bytes e o remetente
recebeu um ACK para os primeiros 1000 bytes, ele pode enviar mais
1000 bytes, mantendo o tamanho total da janela de envio.
Exemplo Prático
Vamos ilustrar o funcionamento do deslizamento de janela com um exemplo
detalhado:
1. Estabelecimento da Conexão:
o Durante o three-way handshake, o receptor informa um tamanho de
janela inicial de 4096 bytes.
2. Primeiro Envio de Dados:
o O remetente envia quatro segmentos de 1000 bytes cada (Seq = 1001 a
5000).
3. Recepção e Confirmação:
o O receptor recebe os primeiros dois segmentos (Seq = 1001 a 3000) e
envia uma confirmação:
[ACK, Seq = 3001, Ack = 1001, Window Size = 3096]
o O receptor então recebe os próximos dois segmentos e confirma:
[ACK, Seq = 5001, Ack = 3001, Window Size = 2096]
4. Deslizamento da Janela:
o Ao receber as confirmações, o remetente ajusta a janela de envio,
permitindo o envio de novos dados. Se o ACK foi para Seq = 3001 e a
janela de envio é de 4096 bytes, o remetente pode agora enviar até Seq =
7096.
viii. Controle de Fluxo e Controle de
Congestionamento
O mecanismo de deslizamento de janela também desempenha um papel crucial no
controle de fluxo e controle de congestionamento:
1. Controle de Fluxo:
o O tamanho da janela de recepção é usado para evitar que o remetente
envie mais dados do que o receptor pode processar.
o O receptor ajusta dinamicamente o tamanho da janela de recepção com
base em sua capacidade de buffer disponível.
2. Controle de Congestionamento:
o TCP utiliza algoritmos como "Slow Start", "Congestion Avoidance",
"Fast Retransmit" e "Fast Recovery" para ajustar a taxa de envio com
base nas condições da rede.
o A janela de congestionamento (cwnd) é ajustada independentemente da
janela de recepção (rwnd), permitindo um controle fino sobre a taxa de
transmissão de dados.
Exemplo de Controle de Congestionamento
Durante o "Slow Start", a janela de congestionamento (cwnd) começa com um
segmento e dobra a cada RTT (Round-Trip Time) até atingir um limiar (ssthresh). Após
atingir o ssthresh, o TCP entra na fase de "Congestion Avoidance", onde cwnd aumenta
linearmente para evitar congestionamento na rede.
O mecanismo de deslizamento de janela é fundamental para a eficiência e
confiabilidade do TCP, permitindo a transmissão contínua de dados e o ajuste dinâmico
com base nas condições da rede e na capacidade do receptor. Este mecanismo não só
melhora o desempenho da rede, mas também garante a entrega ordenada e confiável dos
dados, tornando o TCP um protocolo robusto para a comunicação na Internet.
ix. Processo de Desligamento de Sessão -
Four-Way Handshake
O processo de desligamento de sessão no TCP (Transmission Control Protocol)
é realizado através de um mecanismo conhecido como "four-way handshake"
(handshake de quatro vias). Este processo garante que ambos os lados da conexão
(cliente e servidor) estejam de acordo para encerrar a comunicação de maneira ordenada
e que todos os dados pendentes sejam transmitidos antes do encerramento completo da
sessão.
Etapas do Four-Way Handshake
1. Primeira Etapa: FIN
o Cliente/Servidor → Cliente/Servidor: O lado que deseja encerrar a
conexão (por exemplo, o cliente) envia um segmento TCP com o bit FIN
(Finish) ativado. Isso indica que ele terminou de enviar dados.
o Formato do segmento:
[FIN, Seq = X]
2. Segunda Etapa: ACK
o Cliente/Servidor → Cliente/Servidor: O lado oposto (por exemplo, o
servidor) reconhece a solicitação de finalização enviando um segmento
com o bit ACK ativado, confirmando o número de sequência do
segmento FIN recebido.
o Formato do segmento:
[ACK, Seq = Y, Ack = X + 1]
3. Terceira Etapa: FIN
o Cliente/Servidor → Cliente/Servidor: Após enviar o ACK, o servidor
também envia um segmento com o bit FIN ativado para indicar que ele
também deseja encerrar a conexão.
o Formato do segmento:
[FIN, Seq = Z]
4. Quarta Etapa: ACK
o Cliente/Servidor → Cliente/Servidor: Finalmente, o cliente envia um
segmento com o bit ACK ativado, confirmando o recebimento do FIN do
servidor.
o Formato do segmento:
[ACK, Seq = X + 1, Ack = Z + 1]
Exemplo Prático do Four-Way Handshake
Vamos considerar um exemplo em que um cliente deseja encerrar a conexão TCP com
um servidor após a transferência de dados:
1. Primeira Etapa: Cliente envia FIN
o O cliente decide encerrar a conexão e envia um segmento FIN.
Cliente → Servidor: [FIN, Seq = 1001]
2. Segunda Etapa: Servidor envia ACK
o O servidor recebe o segmento FIN e responde com um segmento ACK.
Servidor → Cliente: [ACK, Seq = 2001, Ack = 1002]
3. Terceira Etapa: Servidor envia FIN
o O servidor também deseja encerrar a conexão e envia um segmento FIN.
Servidor → Cliente: [FIN, Seq = 2001]
4. Quarta Etapa: Cliente envia ACK
o O cliente recebe o segmento FIN e responde com um segmento ACK,
finalizando o processo de desligamento.
Cliente → Servidor: [ACK, Seq = 1002, Ack = 2002]
Importância do Four-Way Handshake
1. Encerramento Ordenado:
o Garante que todos os dados pendentes sejam transmitidos antes do
encerramento completo da conexão.
o Permite que ambos os lados da conexão reconheçam o encerramento e
liberem recursos associados à conexão.
2. Confirmação de Encerramento:
oUtiliza segmentos ACK para confirmar o recebimento dos segmentos
FIN, garantindo que nenhuma informação se perca durante o processo de
encerramento.
3. Manutenção da Confiabilidade:
o O processo de four-way handshake mantém a confiabilidade do TCP,
mesmo durante o encerramento da conexão, evitando a perda de dados.
Considerações de Tempo e Espera
Após o envio do último ACK, o lado que enviou o ACK (geralmente o cliente)
entra em um estado conhecido como TIME_WAIT por um período de tempo
(geralmente 2*MSL - Maximum Segment Lifetime). Esse estado garante que qualquer
segmento TCP atrasado seja corretamente descartado antes de liberar completamente a
conexão.
O processo de desligamento de sessão no TCP através do four-way handshake é
essencial para encerrar conexões de maneira ordenada e confiável. Ele garante que todas
as partes da conexão estejam cientes do encerramento e que todos os dados pendentes
sejam transmitidos antes do fechamento da conexão. Este mecanismo reforça a robustez
do TCP na gestão de sessões de comunicação na rede.
c. Protocolos da Camada de Rede
A camada de rede gerencia o roteamento dos pacotes de dados entre diferentes
redes. Os principais protocolos dessa camada são:
IP (Internet Protocol): Responsável pelo endereçamento e roteamento dos
pacotes na rede. Existem duas versões amplamente utilizadas:
o IPv4: Utiliza endereços de 32 bits, permitindo cerca de 4,3 bilhões de
endereços únicos.
o IPv6: Utiliza endereços de 128 bits, permitindo um número
extremamente maior de endereços, projetado para substituir o IPv4.
ICMP (Internet Control Message Protocol): Utilizado para enviar mensagens de
controle e erro entre dispositivos de rede. É essencial para diagnósticos e
gerenciamento de redes (por exemplo, o comando ping).
IGMP (Internet Group Management Protocol): Utilizado para gerenciar a
associação de dispositivos a grupos multicast, permitindo que um único fluxo de
dados seja distribuído para múltiplos dispositivos.
Processo de Trabalho de um Protocolo da Camada de Rede
Para explicar o processo de trabalho de um protocolo da camada de rede, vamos
usar o IP (Internet Protocol) como exemplo. O IP é responsável pelo endereçamento e
roteamento dos pacotes de dados na rede, garantindo que eles cheguem ao destino
correto.
i. Estrutura do Protocolo IP
O IP é um protocolo sem conexão que encapsula dados em pacotes chamados
"datagramas IP". Cada datagrama contém um cabeçalho com informações essenciais
para o roteamento e a entrega dos dados, como os endereços IP de origem e destino.
Etapas do Processo de Trabalho do IP
1. Fragmentação e Encapsulamento
2. Roteamento
3. Entrega ao Destino
Vamos detalhar cada uma dessas etapas:
1. Fragmentação e Encapsulamento
1. Fragmentação:
o Se os dados a serem enviados excedem o tamanho máximo de
transmissão (MTU - Maximum Transmission Unit) da rede, o IP
fragmenta os dados em pedaços menores. Cada fragmento é enviado
como um datagrama IP separado.
o Exemplo: Se o MTU é 1500 bytes e os dados têm 4000 bytes, eles serão
fragmentados em três datagramas IP.
2. Encapsulamento:
o O protocolo de camada de transporte (por exemplo, TCP ou UDP)
encapsula os dados em segmentos ou datagramas e passa-os para a
camada de rede.
o O IP encapsula esses segmentos ou datagramas em datagramas IP,
adicionando um cabeçalho IP.
o Cabeçalho IP típico inclui:
Endereço IP de origem
Endereço IP de destino
Número de identificação (para reassemble de fragmentos)
Informações de fragmentação (flags, offset)
TTL (Time to Live)
2. Roteamento
1. Envio ao Roteador:
o O datagrama IP é enviado ao roteador mais próximo, que decide a
próxima etapa no caminho para o destino.
o Cada roteador analisa o cabeçalho IP para determinar o endereço IP de
destino e usa tabelas de roteamento para decidir para onde enviar o
datagrama a seguir.
2. Processo de Roteamento:
o O roteador verifica a tabela de roteamento e encaminha o datagrama IP
para o próximo salto (outro roteador ou dispositivo final).
o A cada salto, o roteador decrementa o valor do TTL. Se o TTL chega a
zero, o datagrama é descartado para evitar loops infinitos na rede.
o Se necessário, o datagrama pode ser fragmentado ainda mais para se
ajustar aos MTUs dos diferentes links na rota.
3. Entrega ao Destino
1. Recepção pelo Destino:
o Quando o datagrama IP chega ao roteador final, ele é encaminhado ao
dispositivo de destino.
o O dispositivo de destino verifica se os datagramas IP recebidos são
fragmentos e, se necessário, reagrupa os fragmentos no datagrama
original.
2. Processamento pelo Protocolo de Transporte:
o O datagrama IP é passado para o protocolo de camada de transporte
(TCP, UDP) no dispositivo de destino.
o O protocolo de transporte remove o cabeçalho IP e processa os dados
encapsulados para entrega à aplicação correta.
Exemplo Prático do Processo de Trabalho do IP
Vamos considerar um exemplo de um cliente enviando dados a um servidor:
1. Fragmentação e Encapsulamento:
o Cliente deseja enviar 4000 bytes de dados ao servidor.
o O protocolo TCP encapsula os dados em um segmento.
o O IP fragmenta o segmento em três datagramas IP (MTU de 1500 bytes).
2. Roteamento:
o O primeiro datagrama é enviado ao roteador A.
o Roteador A verifica a tabela de roteamento e encaminha o datagrama
para o roteador B.
o Roteador B encaminha o datagrama para o roteador C, e assim por
diante, até o datagrama chegar ao roteador final.
3. Entrega ao Destino:
o O roteador final encaminha os datagramas IP para o servidor.
o O servidor reagrupa os fragmentos no segmento original.
o O TCP no servidor processa o segmento e entrega os dados à aplicação
correta.
O protocolo IP é fundamental para o endereçamento e roteamento de pacotes na
rede, garantindo que os dados sejam entregues ao destino correto de maneira eficiente.
Com a fragmentação, roteamento e entrega final, o IP lida com diversos desafios de
transmissão de dados, tornando-se um pilar crucial para a comunicação na Internet.
d. Protocolos da Camada de Enlace de
Dados
A camada de enlace de dados controla o acesso ao meio físico e fornece
comunicação direta entre dispositivos na mesma rede física. Alguns dos principais
protocolos incluem:
Ethernet: Protocolo de enlace de dados mais utilizado em redes locais (LANs).
Define métodos para o formato dos quadros e a transmissão de dados através de
cabos.
PPP (Point-to-Point Protocol): Utilizado para estabelecer uma conexão direta
entre dois nós de rede. É comum em conexões de internet discada.
PPPoE (PPP over Ethernet): Combina as características do PPP com a Ethernet,
permitindo que múltiplos usuários compartilhem uma conexão de banda larga.
i. Endereços Ethernet e MAC de Origem
Os endereços Ethernet e MAC (Media Access Control) são fundamentais para a
comunicação na camada de enlace de dados em redes locais (LANs). Eles identificam
unicamente dispositivos em uma rede, permitindo que os dados sejam corretamente
encaminhados de um dispositivo para outro.
Endereço MAC
Definição: O endereço MAC é um identificador único atribuído a uma interface
de rede para comunicação na camada de enlace de dados do modelo OSI. É
também conhecido como endereço físico ou endereço de hardware.
Formato: Um endereço MAC é composto por 48 bits, geralmente representados
em 12 dígitos hexadecimais. Exemplo: 00:1A:2B:3C:4D:5E.
Estrutura:
o Primeiros 24 bits: Identificador único do fabricante (OUI -
Organizationally Unique Identifier).
o Últimos 24 bits: Identificador específico da interface de rede, atribuído
pelo fabricante.
Endereço Ethernet
O endereço Ethernet é sinônimo de endereço MAC quando falamos de redes
Ethernet. É utilizado para encaminhamento de quadros Ethernet dentro de uma rede
local.
Função dos Endereços MAC de Origem e Destino
MAC de Origem: O endereço MAC de origem é o identificador único da
interface de rede que envia o quadro. Ele é incluído no cabeçalho do quadro
Ethernet para que o dispositivo de destino saiba de onde o quadro veio.
MAC de Destino: O endereço MAC de destino é o identificador único da
interface de rede que deve receber o quadro. Os switches Ethernet utilizam este
endereço para encaminhar o quadro ao dispositivo correto.
Processo de Comunicação com Endereços MAC
Vamos detalhar como os endereços MAC de origem e destino são utilizados em
uma rede Ethernet para enviar dados de um computador a outro:
1. Preparação do Quadro Ethernet:
o O computador A deseja enviar dados ao computador B.
o O computador A encapsula os dados em um quadro Ethernet.
o O quadro Ethernet inclui:
Endereço MAC de Destino: MAC do computador B.
Endereço MAC de Origem: MAC do computador A.
2. Envio do Quadro Ethernet:
o O computador A envia o quadro Ethernet para a rede.
o Exemplo de cabeçalho Ethernet:
Destino: 00:1B:44:11:3A:B7
Origem: 00:1A:2B:3C:4D:5E
Tipo: 0x0800 (IPv4)
Dados: ...
3. Encaminhamento pelo Switch Ethernet:
o O quadro chega a um switch na rede.
o O switch lê o endereço MAC de destino e consulta sua tabela de
encaminhamento para determinar a porta correta para encaminhar o
quadro.
o O switch encaminha o quadro pela porta correspondente ao MAC de
destino.
4. Recepção pelo Destino:
o O quadro chega ao computador B através da porta correta do switch.
o O computador B verifica o endereço MAC de destino no quadro.
o Se o endereço MAC de destino corresponde ao seu próprio MAC, ele
aceita e processa o quadro.
Exemplo Prático de Comunicação Ethernet
1. Computador A (00:1A:2B:3C:4D:5E) deseja enviar uma mensagem ao
Computador B (00:1B:44:11:3A
).
2. Preparação e Envio:
o Computador A cria um quadro Ethernet:
Destino: 00:1B:44:11:3A:B7
Origem: 00:1A:2B:3C:4D:5E
Dados: "Olá, Computador B!"
oComputador A envia o quadro para a rede.
3. Encaminhamento:
o O quadro chega a um switch.
o O switch verifica o endereço MAC de destino e encaminha o quadro pela
porta correta.
4. Recepção e Processamento:
o Computador B recebe o quadro.
o Verifica que o endereço MAC de destino é o seu.
o Processa os dados contidos no quadro ("Olá, Computador B!").
Os endereços Ethernet e MAC são essenciais para a comunicação dentro de uma rede
local. Eles garantem que os dados sejam enviados e recebidos corretamente entre
dispositivos, permitindo que as redes funcionem de maneira eficiente e ordenada.
Compreender como esses endereços funcionam é fundamental para a configuração,
manutenção e solução de problemas em redes Ethernet.
ii. Protocolo ARP (Address Resolution
Protocol)
O que é o ARP?
O ARP (Address Resolution Protocol) é um protocolo de rede utilizado para
mapear endereços IP a endereços MAC em uma rede local (LAN). Ele opera na camada
de enlace de dados e na camada de rede do modelo OSI, permitindo que os dispositivos
se comuniquem dentro de uma mesma rede física.
Função do ARP
A principal função do ARP é resolver endereços IP em endereços MAC,
permitindo que os dispositivos enviem quadros Ethernet ao destino correto dentro de
uma rede local.
Tipos de Mensagens ARP
1. ARP Request (Solicitação ARP):
o Utilizada para solicitar o endereço MAC correspondente a um endereço
IP conhecido.
o Enviada como um broadcast (para todos os dispositivos na rede local).
2. ARP Reply (Resposta ARP):
o Utilizada para responder a uma solicitação ARP, fornecendo o endereço
MAC correspondente ao endereço IP solicitado.
o Enviada como unicast (diretamente para o dispositivo que fez a
solicitação).
Estrutura da Mensagem ARP
Uma mensagem ARP típica contém os seguintes campos:
Hardware Type: Tipo de hardware (por exemplo, Ethernet é 1).
Protocol Type: Tipo de protocolo de rede (IPv4 é 0x0800).
Hardware Address Length: Tamanho do endereço de hardware (MAC) em bytes
(6 bytes para Ethernet).
Protocol Address Length: Tamanho do endereço de protocolo (IP) em bytes (4
bytes para IPv4).
Operation: Indica se a mensagem é uma solicitação (1) ou uma resposta (2).
Sender Hardware Address: Endereço MAC do remetente.
Sender Protocol Address: Endereço IP do remetente.
Target Hardware Address: Endereço MAC do destino (preenchido com zeros em
solicitações).
Target Protocol Address: Endereço IP do destino.
Funcionamento do ARP
Vamos detalhar o funcionamento do ARP através de um exemplo prático onde
um computador A deseja se comunicar com um computador B na mesma rede local.
1. Computador A deseja enviar dados para Computador B:
o Computador A conhece o endereço IP de Computador B (por exemplo,
[Link]), mas não conhece o endereço MAC correspondente.
2. Computador A envia uma solicitação ARP:
o Computador A envia uma mensagem ARP Request para todos os
dispositivos na rede local (broadcast) solicitando o endereço MAC
associado ao endereço IP [Link].
o Exemplo de solicitação ARP:
Hardware Type: 1 (Ethernet)
Protocol Type: 0x0800 (IPv4)
Hardware Address Length: 6
Protocol Address Length: 4
Operation: 1 (ARP Request)
Sender MAC: 00:1A:2B:3C:4D:5E
Sender IP: [Link]
Target MAC: 00:00:00:00:00:00
Target IP: [Link]
3. Computador B recebe a solicitação ARP:
o Todos os dispositivos na rede recebem a solicitação ARP, mas apenas
Computador B reconhece o endereço IP solicitado como seu.
o Computador B prepara uma mensagem ARP Reply com seu endereço
MAC.
4. Computador B envia uma resposta ARP:
o Computador B envia uma mensagem ARP Reply diretamente para
Computador A (unicast), fornecendo seu endereço MAC.
o Exemplo de resposta ARP:
Hardware Type: 1 (Ethernet)
Protocol Type: 0x0800 (IPv4)
Hardware Address Length: 6
Protocol Address Length: 4
Operation: 2 (ARP Reply)
Sender MAC: 00:1B:44:11:3A:B7
Sender IP: [Link]
Target MAC: 00:1A:2B:3C:4D:5E
Target IP: [Link]
5. Computador A atualiza sua tabela ARP:
o Computador A recebe a resposta ARP e atualiza sua tabela ARP com o
endereço MAC de Computador B.
o Agora, Computador A pode enviar quadros Ethernet diretamente para
Computador B usando o endereço MAC 00:1B:44:11:3A
6. Envio dos Dados:
o Computador A encapsula os dados em um quadro Ethernet com o
endereço MAC de origem (00:1A:2B:3C:4D:5E) e o endereço MAC de
destino (00:1B:44:11:3A).
o Computador A envia o quadro Ethernet pela rede local.
o Computador B recebe o quadro Ethernet, processa os dados e responde
conforme necessário.
Exemplo Prático de Comunicação ARP
Vamos considerar um exemplo detalhado para ilustrar o processo ARP:
1. Computador A ([Link], MAC: 00:1A:2B:3C:4D:5E) deseja enviar um
pacote ao Computador B ([Link]).
2. Computador A envia ARP Request:
o Mensagem ARP Request:
Hardware Type: 1
Protocol Type: 0x0800
Hardware Address Length: 6
Protocol Address Length: 4
Operation: 1
Sender MAC: 00:1A:2B:3C:4D:5E
Sender IP: [Link]
Target MAC: 00:00:00:00:00:00
Target IP: [Link]
3. Computador B ([Link], MAC: 00:1B:44:11:3A) recebe ARP Request e
envia ARP Reply:
o Mensagem ARP Reply:
Hardware Type: 1
Protocol Type: 0x0800
Hardware Address Length: 6
Protocol Address Length: 4
Operation: 2
Sender MAC: 00:1B:44:11:3A:B7
Sender IP: [Link]
Target MAC: 00:1A:2B:3C:4D:5E
Target IP: [Link]
4. Computador A atualiza sua tabela ARP e envia dados para Computador B:
o Tabela ARP do Computador A:
IP: [Link] MAC: 00:1B:44:11:3A:B7
o Quadro Ethernet enviado:
Destino: 00:1B:44:11:3A:B7
Origem: 00:1A:2B:3C:4D:5E
Dados: ...
O protocolo ARP é essencial para a comunicação dentro de uma rede local,
permitindo que os dispositivos mapeiem endereços IP a endereços MAC para o envio
correto de quadros Ethernet. Compreender o funcionamento do ARP é fundamental para
configurar e solucionar problemas em redes locais.
e. Protocolos da Camada Física
A camada física define as especificações elétricas e físicas para a ativação,
manutenção e desativação das conexões físicas entre dispositivos. Exemplos incluem:
Cabo de par trançado (Twisted Pair): Utilizado em redes Ethernet.
Fibra óptica: Utilizada para transmissões de alta velocidade e longas distâncias.
Wi-Fi (Wireless Fidelity): Protocolo para comunicação sem fio baseado nos
padrões IEEE 802.11.
i. Meios Comuns de Comunicação de Dados
na Camada Física
A camada física do modelo OSI é responsável pela transmissão de bits brutos
através de um meio físico entre dispositivos de rede. Esta camada define as
características elétricas, mecânicas, operacionais e de procedimento para ativar, manter
e desativar conexões físicas. Vamos explorar os meios comuns de comunicação de
dados na camada física.
1. Cabo de Par Trançado (Twisted Pair)
Os cabos de par trançado são amplamente utilizados em redes locais (LANs)
para transmitir sinais elétricos. Eles são compostos por pares de fios de cobre trançados
entre si para reduzir a interferência eletromagnética (EMI) e a diafonia entre os pares.
Tipos Comuns:
o UTP (Unshielded Twisted Pair): Não possui blindagem adicional além
do isolamento dos fios.
o STP (Shielded Twisted Pair): Inclui uma camada de blindagem ao redor
dos fios para maior proteção contra EMI.
Categorias:
o Cat 5e: Suporta até 1 Gbps.
o Cat 6: Suporta até 10 Gbps para distâncias curtas.
o Cat 6a: Suporta até 10 Gbps para distâncias maiores que Cat 6.
o Cat 7: Suporta até 10 Gbps com blindagem adicional.
Uso: Conexões Ethernet, telefonia, e outras comunicações de dados em redes de
curta distância.
2. Fibra Óptica
A fibra óptica utiliza pulsos de luz para transmitir dados, oferecendo alta largura
de banda e longas distâncias de transmissão com baixa atenuação e imunidade a
interferências eletromagnéticas.
Tipos Comuns:
o Monomodo (Single-Mode Fiber - SMF): Tem um núcleo menor e
permite que a luz viaje em um único modo, ideal para longas distâncias.
o Multimodo (Multi-Mode Fiber - MMF): Tem um núcleo maior e permite
múltiplos modos de luz, adequado para distâncias mais curtas e redes
locais.
Componentes:
o Núcleo: Onde a luz viaja.
o Revestimento: Reflete a luz de volta ao núcleo.
o Casca (Jacket): Protege a fibra óptica.
Uso: Backbones de rede, links de longa distância, conexões de alta velocidade.
3. Cabo Coaxial
O cabo coaxial utiliza um condutor central de cobre rodeado por um isolamento
dielétrico, uma blindagem metálica trançada e uma capa externa. Este tipo de cabo é
resistente a interferências e capaz de transportar sinais de alta frequência.
Tipos Comuns:
o RG-6: Utilizado em TV a cabo, internet de banda larga.
o RG-59: Utilizado em sistemas de videomonitoramento e redes antigas.
Componentes:
o Condutor Central: Transmite o sinal.
o Isolamento Dielétrico: Separa o condutor central da blindagem.
o Blindagem Metálica: Protege contra interferências externas.
o Capa Externa: Protege todo o cabo.
Uso: TV a cabo, internet a cabo, redes locais mais antigas.
4. Comunicações Sem Fio (Wireless)
As comunicações sem fio utilizam ondas de rádio ou infravermelho para transmitir
dados pelo ar, permitindo a mobilidade dos dispositivos e a eliminação de cabos físicos.
Tipos Comuns:
o Wi-Fi (Wireless Fidelity): Utiliza padrões IEEE 802.11 para
comunicação de dados em redes locais.
o Bluetooth: Utilizado para conexões de curta distância entre dispositivos
pessoais.
o Infrared (IR): Utilizado para controles remotos e comunicações de curta
distância sem necessidade de linha de visão direta.
o Celular (3G, 4G, 5G): Utilizado para comunicação móvel de dados em
redes celulares.
Componentes:
o Antenas: Transmitem e recebem sinais de rádio.
o Rádios: Modulam e demodulam os sinais para comunicação.
Uso: Redes locais, comunicações móveis, dispositivos pessoais.
Comparação dos Meios de Comunicação
Meio de Largura de Distância Imunidade a
Uso Comum
Comunicação Banda Máxima Interferências
Até 10
Par Trançado Gbps (Cat Até 100 metros Moderada Redes locais, telefonia
6a)
Até 100
Vários Backbones de rede, links
Fibra Óptica Gbps e Alta
quilômetros de longa distância
além
Até 500 metros TV a cabo, internet a
Até 10
Cabo Coaxial (dependendo do Alta cabo,
Gbps
tipo) videomonitoramento
Até vários Redes locais, dispositivos
Vários metros a
Sem Fio Gbps (Wi- Variável móveis, comunicação
quilômetros
Fi 6) pessoal
A escolha do meio de comunicação na camada física depende das necessidades
específicas da rede, incluindo a largura de banda necessária, a distância de transmissão,
a imunidade a interferências e o custo. Cada meio tem suas vantagens e desvantagens,
tornando-os adequados para diferentes aplicações e ambientes de rede. Compreender
essas características é crucial para projetar e implementar redes eficientes e confiáveis.
Entender esses protocolos e como eles funcionam em suas respectivas camadas é
essencial para o desenvolvimento, gerenciamento e solução de problemas em redes de
comunicação. Esses protocolos garantem que os dados possam ser transmitidos de
maneira eficiente e segura entre diferentes dispositivos e redes ao redor do mundo.
Encapsulamento e Desencapsulamento
No processo de comunicação de dados, cada camada do modelo de referência de
rede adiciona informações específicas aos dados, preparando-os para transmissão. Este
processo é chamado de encapsulamento. Quando os dados chegam ao destino, essas
informações adicionais são removidas camada por camada, um processo conhecido
como desencapsulamento. Vamos detalhar como esses processos funcionam em cada
camada dos modelos de referência.
Encapsulamento
O encapsulamento é o processo de adicionar cabeçalhos e, em alguns casos,
trailers aos dados à medida que eles descem pela pilha de protocolos. Vamos entender
este processo através de um exemplo:
1. Camada de Aplicação:
o Dados: A aplicação gera dados, como uma solicitação HTTP de um
navegador web.
o Exemplo: "GET /[Link] HTTP/1.1".
2. Camada de Transporte:
o Segmento: A camada de transporte (TCP/UDP) encapsula os dados da
aplicação em um segmento.
o Cabeçalho de Transporte: Inclui informações como portas de origem e
destino, número de sequência, número de reconhecimento (para TCP) e
checksum.
o Exemplo: O cabeçalho TCP é adicionado ao início dos dados HTTP.
3. Camada de Rede:
o Pacote: A camada de rede (IP) encapsula o segmento em um pacote.
o Cabeçalho de Rede: Inclui endereços IP de origem e destino, tempo de
vida (TTL), protocolo e checksum.
o Exemplo: O cabeçalho IP é adicionado ao início do segmento TCP.
4. Camada de Enlace de Dados:
o Quadro: A camada de enlace de dados encapsula o pacote em um quadro.
o Cabeçalho e Trailer de Enlace: Inclui endereços MAC de origem e
destino, tipo de protocolo, e um campo de verificação de quadro (FCS)
para detecção de erros.
o Exemplo: O cabeçalho Ethernet é adicionado ao início do pacote IP e o
trailer Ethernet (FCS) é adicionado ao final.
5. Camada Física:
o Bits: A camada física converte o quadro em um sinal adequado ao meio
de transmissão (elétrico, óptico ou de rádio).
o Transmissão: Os bits são transmitidos através do meio físico, como um
cabo Ethernet ou ondas de rádio.
Desencapsulamento
O desencapsulamento é o processo inverso do encapsulamento. Os dados
recebidos são passados para cima pela pilha de protocolos, e cada camada remove o
cabeçalho ou trailer que adicionou e processa as informações. Vamos entender este
processo através de um exemplo:
1. Camada Física:
o Bits Recebidos: A camada física recebe o sinal transmitido e converte-o
de volta em bits.
o Entrega ao Enlace de Dados: Os bits são entregues à camada de enlace
de dados como um quadro.
2. Camada de Enlace de Dados:
o Quadro: A camada de enlace de dados verifica e remove o cabeçalho e o
trailer de enlace (endereços MAC, tipo de protocolo, FCS).
o Entrega ao Rede: O pacote IP é entregue à camada de rede.
3. Camada de Rede:
o Pacote: A camada de rede verifica e remove o cabeçalho IP (endereços
IP, TTL, protocolo).
o Entrega ao Transporte: O segmento TCP é entregue à camada de
transporte.
4. Camada de Transporte:
o Segmento: A camada de transporte verifica e remove o cabeçalho TCP
(portas, número de sequência, número de reconhecimento).
o Entrega ao Aplicação: Os dados da aplicação são entregues à camada de
aplicação.
5. Camada de Aplicação:
o Dados: A camada de aplicação recebe os dados originalmente enviados.
o Processamento: A aplicação processa os dados, como exibir a página
web solicitada.
Exemplo Prático de Encapsulamento e Desencapsulamento
Vamos considerar o exemplo de um usuário acessando um site da web, como
[Link], para entender o processo de encapsulamento e desencapsulamento:
1. Encapsulamento:
o O usuário digita o URL [Link] no navegador.
o O navegador (camada de aplicação) gera uma solicitação HTTP: "GET
/[Link] HTTP/1.1".
o A camada de transporte (TCP) encapsula essa solicitação em um
segmento TCP, adicionando um cabeçalho com informações como portas
de origem e destino.
o A camada de rede (IP) encapsula o segmento TCP em um pacote IP,
adicionando um cabeçalho com endereços IP de origem e destino.
o A camada de enlace de dados (Ethernet) encapsula o pacote IP em um
quadro Ethernet, adicionando cabeçalhos e trailers com endereços MAC
e FCS.
o A camada física transmite os bits através do meio físico (cabo Ethernet).
2. Desencapsulamento:
o O servidor da web da Huawei recebe os bits através de sua interface de
rede.
o A camada física converte os bits em um quadro Ethernet e entrega à
camada de enlace de dados.
o A camada de enlace de dados verifica o FCS, remove os cabeçalhos e
trailers de enlace, e entrega o pacote IP à camada de rede.
o A camada de rede verifica o cabeçalho IP, remove-o e entrega o
segmento TCP à camada de transporte.
o A camada de transporte verifica o cabeçalho TCP, remove-o e entrega os
dados da aplicação (solicitação HTTP) à camada de aplicação.
o O servidor web processa a solicitação HTTP e envia a resposta de volta
através do mesmo processo de encapsulamento e desencapsulamento.
Importância do Encapsulamento e Desencapsulamento
Os processos de encapsulamento e desencapsulamento são cruciais para a
comunicação eficiente em redes, pois:
Modularidade: Permitem que diferentes camadas sejam desenvolvidas e
atualizadas de forma independente.
Interoperabilidade: Garantem que dispositivos e aplicativos de diferentes
fabricantes possam se comunicar eficazmente.
Controle de Erros: Incluem mecanismos para verificação e correção de erros em
várias camadas.
Segurança: Proporcionam oportunidades para implementar medidas de
segurança em diferentes camadas, como criptografia na camada de transporte e
autenticação na camada de aplicação.
Compreender esses processos é essencial para diagnosticar e resolver problemas
de rede, otimizar o desempenho e garantir a segurança das comunicações de dados.
5. Organizações de Padronização
As organizações de padronização desempenham um papel crucial no
desenvolvimento, manutenção e promoção de padrões que garantem a
interoperabilidade, a eficiência e a segurança das redes de comunicação. Estas
organizações trabalham em diferentes aspectos das tecnologias de rede, desde
protocolos de comunicação até especificações de hardware. Vamos detalhar as
principais organizações de padronização e suas contribuições para o campo das redes de
telecomunicações.
IETF (Internet Engineering Task Force)
A IETF é uma organização internacional responsável pelo desenvolvimento e
promoção de padrões da Internet, especialmente aqueles que constituem a pilha de
protocolos TCP/IP. A IETF se concentra principalmente na melhoria contínua da
arquitetura e operação da Internet.
Documentos: Os documentos de padronização da IETF são chamados de RFCs
(Request for Comments). Estes documentos descrevem protocolos,
procedimentos, programas e conceitos de rede.
Protocolos: A IETF é responsável por protocolos fundamentais como HTTP,
TCP, IP, DNS, e muitos outros.
Grupos de Trabalho: A IETF organiza seus esforços através de grupos de
trabalho que se focam em áreas específicas, como roteamento, segurança e
transporte.
IEEE (Institute of Electrical and Electronics Engineers)
O IEEE é uma das maiores organizações profissionais do mundo dedicada ao
avanço da tecnologia em várias áreas, incluindo eletrônica, computação e
telecomunicações. O IEEE desenvolve padrões técnicos que são amplamente adotados
globalmente.
Padrões Importantes: O IEEE é responsável por muitos padrões fundamentais no
campo de redes de comunicação:
o IEEE 802.3: Define os padrões para Ethernet, a tecnologia de rede local
mais utilizada.
o IEEE 802.11: Define os padrões para redes sem fio (Wi-Fi).
o IEEE 802.1: Define padrões para redes locais e metropolitanas, incluindo
o gerenciamento de pontes e VLANs.
Processo de Padronização: Os padrões do IEEE são desenvolvidos por comitês
de especialistas da indústria, academia e governo, garantindo que os padrões
reflitam as necessidades e avanços tecnológicos mais recentes.
ISO (International Organization for Standardization)
A ISO é uma organização independente, não governamental, que desenvolve e
publica padrões internacionais para uma ampla gama de indústrias. No contexto de
redes de telecomunicações, a ISO é mais conhecida por seu trabalho no
desenvolvimento do modelo de referência OSI (Open Systems Interconnection).
Modelo OSI: O modelo de referência OSI, publicado como ISO/IEC 7498-1, é
um dos padrões mais influentes na história das redes de comunicação. Embora
não seja amplamente implementado como o TCP/IP, o modelo OSI fornece uma
estrutura teórica que é fundamental para a educação e entendimento das redes.
Interoperabilidade: A ISO trabalha para garantir que os padrões promovam a
interoperabilidade global, permitindo que produtos e serviços de diferentes
fornecedores funcionem juntos sem problemas.
ITU (International Telecommunication Union)
A ITU é uma agência especializada das Nações Unidas responsável por questões
relacionadas às tecnologias da informação e comunicação (TIC). A ITU desempenha
um papel vital na coordenação do espectro de rádio global e na padronização das
telecomunicações.
Recomendações ITU-T: A ITU-T (Setor de Normalização das
Telecomunicações) publica recomendações que se tornam padrões globais para
telecomunicações e tecnologias de informação. Estas recomendações cobrem
uma ampla gama de tópicos, desde a infraestrutura de rede até os protocolos de
comunicação.
Espectro de Rádio: A ITU é responsável pela gestão e coordenação do espectro
de rádio, garantindo que as frequências sejam utilizadas de forma eficiente e sem
interferências entre países.
Comparativo das Organizações de Padronização
Cada uma dessas organizações tem um foco e uma área de influência
específicos, mas todas colaboram para garantir que as redes de comunicação funcionem
de forma eficiente e segura:
Área de Foco Exemplos de
Organização Funções Específicas
Principal Padrões
Protocolos de TCP, IP, HTTP, Desenvolvimento de
IETF
Internet DNS protocolos de rede e internet
Tecnologias de Rede Ethernet (802.3), Desenvolvimento de padrões
IEEE
Física Wi-Fi (802.11) elétricos e de hardware
Área de Foco Exemplos de
Organização Funções Específicas
Principal Padrões
Padrões Garantir a interoperabilidade
ISO Modelo OSI
Internacionais Gerais global
Coordenação do espectro de
Telecomunicações e Recomendações
ITU rádio e padronização de
Rádio ITU-T
telecomunicações
As organizações de padronização desempenham um papel essencial no
ecossistema global de redes de comunicação. Elas desenvolvem e mantêm padrões que
permitem a interoperabilidade entre diferentes sistemas e dispositivos, garantindo que as
redes de comunicação sejam eficientes, seguras e escaláveis. Compreender o papel
dessas organizações e os padrões que elas desenvolvem é crucial para qualquer
profissional que trabalha com redes de telecomunicações.
6. Conclusão
Neste capítulo, exploramos em detalhes os modelos de referência de rede,
fundamentais para a comunicação eficiente e padronizada entre dispositivos e
aplicações em uma rede. A padronização e a modelagem das redes foram essenciais
para permitir que diferentes fabricantes e desenvolvedores de software criem produtos
compatíveis e interoperáveis. Vamos relembrar os pontos mais importantes abordados:
Aplicações e Dados
Geração de Dados: Aplicações geram diversos tipos de dados (texto, imagem,
vídeo, áudio) que precisam ser transmitidos pela rede.
Transmissão de Dados: Entendemos como os dados são transmitidos entre
dispositivos, desde a geração até a recepção, garantindo a integridade e a
utilidade das informações.
Modelos de Referência de Rede
Modelo OSI: Composto por sete camadas (Física, Enlace de Dados, Rede,
Transporte, Sessão, Apresentação e Aplicação), cada uma com funções
específicas para a comunicação de rede.
Modelo TCP/IP: Simplifica o modelo OSI em quatro camadas (Acesso à Rede,
Internet, Transporte e Aplicação), sendo amplamente utilizado na indústria.
Modelo TCP/IP Equivalente: Adapta o modelo TCP/IP para lidar com as
complexidades das redes modernas, reintroduzindo a separação entre as camadas
Física e Enlace de Dados.
Protocolos de Rede
Camada de Aplicação: Protocolos como HTTP, FTP, SMTP, DNS que fornecem
serviços de rede diretamente aos aplicativos dos usuários.
Camada de Transporte: Protocolos TCP e UDP que garantem a entrega confiável
e o controle de fluxo dos dados.
Camada de Rede: Protocolos IP, ICMP e IGMP que gerenciam o roteamento e o
endereçamento lógico dos pacotes de dados.
Camada de Enlace de Dados e Física: Protocolos Ethernet, PPP, Wi-Fi que
controlam o acesso ao meio físico e a transmissão de dados.
Encapsulamento e Desencapsulamento
Encapsulamento: Processo de adicionar cabeçalhos e trailers aos dados em cada
camada para prepará-los para transmissão.
Desencapsulamento: Processo inverso, onde cada camada remove os cabeçalhos
e trailers ao receber os dados, entregando-os à camada superior.
Organizações de Padronização
IETF: Desenvolve e promove protocolos de internet, como TCP, IP, HTTP.
IEEE: Define padrões para tecnologias de rede física, como Ethernet (802.3) e
Wi-Fi (802.11).
ISO: Desenvolve padrões internacionais, incluindo o modelo OSI.
ITU: Coordena o espectro de rádio global e padroniza as telecomunicações.
Funções de Cada Camada
Modelo OSI: Detalhamento das funções de cada uma das sete camadas.
Modelo TCP/IP: Comparativo das funções das camadas nos modelos OSI,
TCP/IP e TCP/IP Equivalente, destacando suas responsabilidades e interações.
Compreender os modelos de referência de rede, os protocolos utilizados em cada
camada, e os processos de encapsulamento e desencapsulamento é crucial para qualquer
profissional que trabalha com redes de telecomunicações. Estes conhecimentos
fornecem a base necessária para diagnosticar e resolver problemas de rede, otimizar o
desempenho e garantir a segurança das comunicações de dados.
Espero que este capítulo tenha proporcionado uma compreensão clara e
detalhada dos conceitos fundamentais de redes de comunicação. Agora, você está mais
preparado para enfrentar desafios e aprofundar seus conhecimentos nas tecnologias de
rede, uma base essencial para a certificação HCIA-Datacom da Huawei.