
Com 25 anos de experiencia em Redes, atua na área desde 1998, em 2003 foi um dos primeiros instrutores certificados do programa de certificação da Cisco CCNA, programa internacional de treinamento promovido por um dos maiores players do mercado, já trabalhou em empresas como Dell, Getnet, SENAI, Teletex e Banrisul. Também atuou na implementação de diversos outros fabricantes como Aruba, Sonicwall, Dell, Fortinet, HP, entre outros.
Especialista em análise de protocolos em redes TCP/IP, em análise de tráfego de redes, resolução de problemas, ampla vivencia com equipamentos como switches, roteadores, firewalls, VPN e balanceadores entre outros.


Neste curso, vamos explorar os conceitos fundamentais das redes de computadores, com a finalidade de analisar os protocolos de comunicação básicos no ambiente de rede e aprender a resolver problemas com base em conhecimento da pilha de protocolos TCP/IP


O Modelo de Referência OSI (Open Systems Interconnection) é um modelo conceitual que define as diferentes camadas de uma rede de computadores, desde a camada física até a camada de aplicação. Cada camada possui funções e protocolos específicos, trabalhando em conjunto para garantir a comunicação entre dispositivos.
A camada física do modelo OSI é responsável por definir as características físicas do meio de transmissão, como o tipo de cabo, os conectores e os sinais utilizados. Essa camada lida com os aspectos elétricos, mecânicos e procedimentais da transmissão de dados, garantindo que os bits de dados sejam transmitidos de forma confiável entre os dispositivos.
Alguns exemplos de elementos da camada física incluem:
A camada de enlace de dados do modelo OSI é responsável por gerenciar a transmissão de dados entre nós em uma rede local, garantindo a integridade dos dados e controlando o acesso ao meio físico. Essa camada opera entre a camada física, que cuida da transmissão de bits brutos, e a camada de rede, que lida com o roteamento de pacotes em uma rede maior.
Algumas funções principais da camada de enlace de dados incluem:
- **Controle de acesso ao meio (MAC):** Regula o acesso ao meio físico, como um cabo ou canal sem fio, evitando colisões de dados e garantindo que apenas um nó transmita por vez.
- **Detecção e correção de erros:** Verifica a integridade dos dados transmitidos, detectando erros e, em alguns casos, corrigindo-os. Essa detecção pode ser feita através de técnicas como CRC (Cyclic Redundancy Check).
- **Enquadramento de dados:** Organiza os dados em quadros, adicionando informações de cabeçalho e rodapé para identificar os limites de cada quadro e garantir a entrega correta.
Alguns exemplos de protocolos da camada de enlace de dados incluem:
- **Ethernet:** Um dos protocolos mais comuns, usado em redes locais cabeadas.
- **Wi-Fi (IEEE 802.11):** Protocolo para redes locais sem fio.
- **Bluetooth:** Protocolo para redes locais de curto alcance.
Alguns exemplos de protocolos da camada de rede incluem:
- \*\*IP (Internet Protocol):\*\* Define o endereçamento lógico e o roteamento de pacotes na internet.
- \*\*ICMP (Internet Control Message Protocol):\*\* Permite a troca de mensagens de erro e controle entre dispositivos na internet.
- \*\*ARP (Address Resolution Protocol):\*\* Traduz endereços IP em endereços MAC, permitindo que dispositivos na mesma rede local se comuniquem.
A camada de transporte do modelo OSI atua como uma ponte entre as aplicações que desejam se comunicar e a rede subjacente. Ela é responsável por gerenciar as conexões entre essas aplicações, garantindo que os dados sejam entregues de forma confiável e eficiente. Essa camada lida com aspectos como confiabilidade, controle de fluxo e segmentação de dados, tornando a comunicação entre aplicações em diferentes computadores mais robusta e eficiente.
Existem dois protocolos principais que operam na camada de transporte: TCP (Transmission Control Protocol) e UDP (User Datagram Protocol). O TCP é um protocolo orientado à conexão, o que significa que estabelece uma conexão confiável entre os dispositivos antes de transmitir dados. Ele garante que os dados sejam entregues na ordem correta e sem erros, sendo ideal para aplicações que exigem alta confiabilidade, como transferência de arquivos ou navegação web. O UDP, por outro lado, é um protocolo sem conexão, que transmite dados sem estabelecer uma conexão prévia. Ele é mais rápido e menos exigente em termos de recursos, mas não garante a entrega dos dados ou sua ordem. O UDP é ideal para aplicações que priorizam a velocidade e não exigem alta confiabilidade, como streaming de áudio ou vídeo.
A Camada de Sessão do modelo OSI é responsável por estabelecer, coordenar e gerenciar as conversas entre aplicações em diferentes dispositivos. Ela fornece um mecanismo para iniciar, controlar e terminar as sessões de comunicação, garantindo que os dados sejam trocados de forma ordenada e confiável.
Algumas funções principais da camada de sessão incluem:
- **Gerenciamento de diálogos:** Controla o início, o término e a sincronização das conversões entre aplicações, como uma chamada de vídeo ou uma transferência de arquivos.
- **Controle de pontos de verificação:** Permite que as aplicações estabeleçam pontos de verificação durante a transferência de dados, garantindo que, em caso de falha na conexão, a transmissão possa ser retomada a partir do último ponto de verificação.
- **Gerenciamento de tokens:** Define regras para a troca de dados entre aplicações, garantindo que as informações fluam de forma organizada e que cada aplicação tenha sua vez de enviar dados.
Alguns exemplos de protocolos da camada de sessão incluem:
- **RPC (Remote Procedure Call):** Permite que uma aplicação em um dispositivo chame procedimentos em outro dispositivo, como se estivessem no mesmo computador.
- **NetBIOS (Network Basic Input/Output System):** Um conjunto de protocolos de rede que permitem compartilhamento de arquivos e impressoras em redes locais.
- **SQL (Structured Query Language):** Uma linguagem de consulta para bancos de dados relacionais, que pode ser usada para acessar dados de um banco de dados remoto.
A Camada de Apresentação do modelo OSI é responsável por garantir que os dados trocados entre aplicações sejam compreensíveis por ambas as partes. Ela atua como um intermediário, traduzindo os dados para um formato que seja compatível com a aplicação de destino e, ao mesmo tempo, garante a segurança e a privacidade da informação.
Algumas das funções principais da camada de apresentação incluem:
- **Formatação de dados:** Convertem dados de um formato para outro, como texto simples para HTML ou um documento Word para PDF. Essa conversão garante que os dados sejam exibidos corretamente na aplicação de destino, independentemente do sistema operacional ou software usado.
- **Criptografia e Decriptografia:** Protegem os dados contra acesso não autorizado durante a transmissão. A camada de apresentação pode usar algoritmos de criptografia para codificar os dados, tornando-os ilegíveis para qualquer pessoa que não tenha a chave de decodificação.
- **Compressão de dados:** Reduz o tamanho dos dados a serem transmitidos, o que aumenta a velocidade da transmissão e economiza largura de banda. A camada de apresentação pode usar algoritmos de compressão de dados para compactar arquivos e informações, tornando a transmissão mais eficiente.
Alguns exemplos de protocolos da camada de apresentação incluem:
- **SSL (Secure Sockets Layer):** Um protocolo que garante a segurança e a privacidade de dados transmitidos pela internet. O SSL usa criptografia para proteger as informações, garantindo que apenas o remetente e o destinatário possam ler o conteúdo.
- **TLS (Transport Layer Security):** Um protocolo de segurança que oferece conexões criptografadas entre dois dispositivos, semelhante ao SSL. O TLS é uma versão mais avançada do SSL e é amplamente usado para proteger transações online, como compras e serviços bancários.
- **MIME (Multipurpose Internet Mail Extensions):** Um padrão que define como os dados são formatados para envio por e-mail. O MIME permite o envio de diferentes tipos de arquivos como anexos de e-mail, como imagens, vídeos e documentos, além de texto simples.
A Camada de Aplicação é a camada mais alta do modelo OSI, responsável por fornecer serviços para as aplicações de usuário. Essa camada interage diretamente com as aplicações, como navegadores web, clientes de email e softwares de transferência de arquivos.
Alguns exemplos de protocolos da camada de aplicação incluem:
O endereço MAC (Media Access Control) é um identificador exclusivo atribuído a cada dispositivo de rede, como computadores, impressoras, roteadores e switches. É fundamental para a comunicação entre dispositivos em uma rede local (LAN) e é usado para identificar os destinatários dos dados transmitidos.
Ele é composto por 48 bits, normalmente representados em notação hexadecimal, e dividido em duas partes: os 24 bits menos significativos identificam o fabricante do dispositivo (OUI - Organizational Unique Identifier), que é atribuído pelo IEEE, e os 24 bits mais significativos representam o número de série do dispositivo, atribuído pelo fabricante. Esse número de série é único para cada dispositivo, garantindo que cada dispositivo tenha um endereço MAC exclusivo em todo o mundo.
O endereço MAC é gravado na placa de rede do dispositivo e geralmente não pode ser alterado. Ele é usado na Camada 2 do modelo OSI, a Camada de Enlace de Dados, para identificar os dispositivos na rede e para controlar o acesso ao meio físico.
Em resumo, o endereço MAC é um identificador crucial para a comunicação em redes locais. Ele garante a comunicação correta entre os dispositivos e permite o gerenciamento de tráfego de rede. O endereço MAC é uma parte fundamental da estrutura de rede e é usado em vários protocolos e padrões de rede.
A tabela CAM (Content Addressable Memory) é uma estrutura de dados fundamental em switches de rede, responsável por armazenar as informações de mapeamento entre endereços MAC e portas. Quando um switch recebe um frame, ele consulta sua tabela CAM para determinar a porta de saída correspondente ao endereço MAC de destino do frame.
A tabela CAM é altamente otimizada para buscas rápidas, permitindo que os switches encaminhem frames com alta velocidade. Ela opera como um cache de informações de endereço MAC, armazenando os endereços MAC aprendidos durante o funcionamento do switch. Assim, o switch pode encaminhar frames com base nos endereços MAC aprendidos sem precisar consultar outros dispositivos na rede, otimizando o desempenho e reduzindo o tráfego de broadcast.

Na camada 2, a transmissão de dados ocorre por meio de quadros (frames). Um quadro enviado a todos os dispositivos em um segmento de rede é chamado de broadcast. Essa forma de comunicação é utilizada quando o dispositivo de origem não sabe o endereço MAC de destino. Por exemplo, quando um dispositivo envia um quadro ARP (Address Resolution Protocol) para descobrir o endereço MAC de um dispositivo específico na rede, ele utiliza a broadcast.
Os switches, que operam na camada 2, são responsáveis por encaminhar quadros entre dispositivos em uma rede local. Quando um switch recebe um quadro de broadcast, ele o envia por todas as portas, exceto a porta pela qual foi recebido. Esse processo, conhecido como flooding, garante que o quadro seja recebido por todos os dispositivos na rede, exceto o dispositivo que o enviou.
Em redes compartilhadas, como as redes Ethernet tradicionais, as colisões podem ocorrer quando dois dispositivos transmitem dados ao mesmo tempo. As colisões resultam em dados corrompidos, pois os sinais de ambos os dispositivos se sobrepõem no meio físico. Em redes Ethernet modernas, o uso de switches eliminou as colisões, pois os switches oferecem caminhos dedicados para cada dispositivo conectado, evitando que os sinais de diferentes dispositivos se sobreponham.
Para encontrar o endereço MAC de uma placa de rede específica no Windows, você pode utilizar o Prompt de Comando ou o PowerShell. Abra o Prompt de Comando ou o PowerShell e execute o comando "ipconfig /all". Isso exibirá uma lista detalhada de todas as placas de rede instaladas no seu sistema, incluindo seus respectivos endereços MAC. O endereço MAC, também conhecido como "Endereço Físico", é geralmente apresentado na linha "Endereço físico" dentro da descrição de cada placa de rede.

No Linux, o processo é semelhante, utilizando o comando "ifconfig". Ao executar esse comando, você obterá uma lista de todas as placas de rede presentes no seu sistema Linux, incluindo seus endereços MAC. O endereço MAC é normalmente apresentado na linha "HWaddr" dentro da descrição de cada placa de rede. Para identificar qual placa de rede corresponde a qual endereço MAC, você pode observar o nome da interface de rede, como "eth0" ou "wlan0", que são nomes comuns para placas de rede Ethernet e Wi-Fi, respectivamente.


a camada 2 do modelo OSI, a formação do cabeçalho varia dependendo do protocolo de enlace de dados utilizado. No entanto, geralmente contém informações essenciais para o estabelecimento e controle da comunicação entre dois dispositivos na mesma rede física.
Por exemplo, em um protocolo Ethernet, o cabeçalho da camada 2 inclui:
É importante notar que a formação do cabeçalho da camada 2 é específica do protocolo de enlace de dados utilizado. O tamanho mínimo de um frame Ethernet é de 64 bytes, enquanto o tamanho máximo é de 1518 bytes. O tamanho do frame pode variar dependendo do tipo de frame e do protocolo de enlace de dados utilizado.
Visto no Wireshark


Em algumas redes, é possível aumentar o tamanho máximo de um frame Ethernet para além de 1518 bytes, até um tamanho de 9000 bytes. Esse tipo de frame é conhecido como jumbo frame. O uso de jumbo frames pode aumentar a eficiência da rede, reduzindo o número de frames que precisam ser transmitidos para transferir grandes quantidades de dados. No entanto, o uso de jumbo frames requer suporte de todos os dispositivos na rede, incluindo switches, roteadores e placas de rede. Para ativar o suporte a jumbo frames, você precisa configurar seus dispositivos para permitir o uso de frames maiores. Os jumbo frames são geralmente usados em redes locais e não são compatíveis com a Internet, pois a maioria dos roteadores e servidores da Internet não os suporta.
Uma tempestade de broadcasts é um problema comum em redes de computadores que ocorre quando um dispositivo na rede envia um grande número de frames de broadcast, inundando a rede com tráfego desnecessário, impactando o desempenho geral da rede. Isso pode acontecer devido a diversos fatores, incluindo:
- **Configurações incorretas de dispositivos:** Um dispositivo configurado incorretamente para enviar broadcasts em excesso pode causar uma tempestade de broadcasts. -
**Ataques maliciosos:** Atacadores podem explorar vulnerabilidades em dispositivos de rede para enviar broadcasts maliciosos com o objetivo de sobrecarregar a rede e causar interrupções. -
**Falhas de hardware:** Um dispositivo com falha de hardware pode enviar broadcasts aleatoriamente, levando a uma tempestade de broadcasts. -
**Redes mal projetadas:** Uma rede mal projetada com um grande número de dispositivos conectados pode tornar-se propensa a tempestades de broadcasts, especialmente se não houver um plano de mitigação para broadcasts excessivos.
As consequências de uma tempestade de broadcasts são significativas:
- **Redução de desempenho da rede:** O tráfego de broadcast excessivo sobrecarrega a rede, diminuindo a velocidade de transferência de dados e aumentando a latência. -
**Interrupções na rede:** A rede pode ficar instável ou até mesmo indisponível devido à sobrecarga causada por uma tempestade de broadcasts. -
**Aumento do uso de banda:** O tráfego de broadcast consome uma quantidade significativa de largura de banda da rede, o que pode afetar outros serviços e aplicações. -
**Difícil de solucionar:** As tempestades de broadcasts podem ser difíceis de diagnosticar e solucionar, exigindo análise aprofundada do tráfego de rede.

A Camada de Rede é responsável por roteamento de pacotes de dados entre redes diferentes. Para realizar esse roteamento, ela utiliza endereços lógicos, como os endereços IP (Internet Protocol), para identificar os dispositivos na rede. O cabeçalho da camada 3 contém informações essenciais para o roteamento, incluindo:
- Endereço IP de origem e destino: Esses endereços identificam os dispositivos que estão enviando e recebendo os dados.
- Protocolo de transporte: Especifica o protocolo que será usado na camada de transporte, como TCP ou UDP.
- Tempo de vida (TTL): Define o tempo máximo que um pacote pode permanecer na rede antes de ser descartado, evitando loops infinitos.
- Identificação: Um número único para identificar o pacote, usado para rastrear e gerenciar o fluxo de dados.
- Fragmentação: Informa se o pacote foi fragmentado para ser transmitido em partes menores.
- CRC: Um mecanismo para detectar erros durante a transmissão.
O cabeçalho da camada 3 é essencial para o roteamento eficiente de dados entre redes. Ele garante que os pacotes cheguem ao destino correto e com a qualidade esperada. O tamanho do cabeçalho da camada 3 varia de acordo com o protocolo utilizado, mas geralmente é pequeno para minimizar o overhead na transmissão de dados.


O cabeçalho IP (Internet Protocol) é um componente crucial para o roteamento e entrega de pacotes na rede. Ele contém informações essenciais para garantir que os dados cheguem ao destino correto de forma eficiente.
O cabeçalho IP inclui campos como o endereço IP de origem e destino, o tamanho do pacote, o tipo de serviço, o tempo de vida (TTL) e o identificador do fragmento. Essas informações permitem que os roteadores da internet encaminhem o pacote pela rota mais adequada e que os dispositivos receptores identifiquem a origem e o destino do pacote.
O TTL, por exemplo, é um contador que diminui a cada salto do pacote na rede. Quando o TTL atinge zero, o pacote é descartado, evitando que ele circule indefinidamente na internet. A fragmentação, por sua vez, permite que pacotes grandes sejam divididos em partes menores para facilitar a transmissão em redes com limites de tamanho de pacote.
O cabeçalho IP também inclui um campo de Flags, que indica informações sobre a fragmentação do pacote. Os flags mais comuns são:
- **DF (Don't Fragment):** Indica que o pacote não pode ser fragmentado.
- **MF (More Fragments):** Indica que este pacote é um fragmento de um pacote maior.
- **Offset:** Indica a posição do fragmento no pacote original.
Os flags de fragmentação são importantes para garantir que os pacotes fragmentados sejam reconstruídos corretamente no destino.
Outro campo importante é o **DSCP (Differentiated Services Code Point)**. Este campo define a prioridade do pacote, permitindo que os roteadores priorizem o tráfego de acordo com a necessidade. O DSCP é usado para gerenciar o tráfego de rede, garantindo que o tráfego mais importante receba o tratamento necessário. Por exemplo, tráfego de voz ou vídeo pode ser priorizado em relação ao tráfego de dados normais, como downloads ou navegação na web.
O cabeçalho IPv4 contém informações essenciais para o roteamento e entrega de pacotes de dados na rede. Ele inclui campos como o endereço IP de origem e destino, o tamanho do pacote, o tipo de serviço, o tempo de vida (TTL) e o identificador do fragmento. Essas informações permitem que os roteadores da internet encaminhem o pacote pela rota mais adequada e que os dispositivos receptores identifiquem a origem e o destino do pacote.
Identifica a versão do protocolo IP. No caso do IPv4, o valor é 4.
Especifica o tamanho do cabeçalho IPv4 em unidades de 32 bits (4 bytes). O valor mínimo é 5 (20 bytes), e pode ser maior se campos opcionais estiverem presentes.
Indica as preferências de tratamento do pacote, como prioridade e confiabilidade. Por exemplo, um pacote com alta prioridade pode ser enviado primeiro, enquanto um pacote com baixa prioridade pode ser enviado depois.
Define o tamanho total do pacote, incluindo o cabeçalho e os dados. É expresso em bytes.
Identifica o fragmento do pacote em caso de fragmentação. É usado para reassembleia dos fragmentos no destino.
Contém bits que indicam se o pacote pode ser fragmentado, se ele é o último fragmento e se é um fragmento inicial.
Especifica a posição do fragmento atual dentro do pacote original. É usado para reassembleia dos fragmentos no destino.
Um contador que é decrementado a cada salto do pacote na rede. Quando o TTL atinge zero, o pacote é descartado, evitando que ele circule indefinidamente na internet.
Identifica o protocolo de camada superior que está sendo transportado pelo pacote IP (por exemplo, TCP ou UDP).
Um valor de verificação que garante a integridade dos dados do cabeçalho.
O endereço IP do dispositivo que enviou o pacote.
O endereço IP do dispositivo que receberá o pacote.
Contém informações opcionais, como roteamento de segurança e informações de segurança.
O campo Tempo de Vida (TTL) no cabeçalho de um pacote IP (Internet Protocol) é um mecanismo crucial para a gestão eficiente de pacotes de rede. Ele age como um contador que diminui a cada "salto" que o pacote faz na rede, garantindo que os pacotes não permaneçam indefinidamente na rede, evitando loops infinitos e congestionamento.
O TTL é definido pelo dispositivo de origem no momento em que o pacote é enviado. Cada roteador ou gateway que o pacote encontra diminui o valor do TTL. Quando o valor do TTL chega a zero, o pacote é descartado e uma mensagem ICMP (Protocolo de Mensagem de Controle da Internet) "Tempo Excedido" é enviada de volta para a origem, indicando que o pacote não conseguiu atingir seu destino dentro do limite de tempo especificado.
O TTL é um parâmetro importante na Camada de Rede (Network Layer) do modelo OSI, sendo essencial para a garantia de que os pacotes não fiquem "perdidos" na rede. Ele é usado para evitar que um único pacote fique circulando por um longo tempo, o que pode levar a uma sobrecarga na rede.
O valor do TTL é configurado por padrão em cada dispositivo, mas pode ser ajustado para atender às necessidades específicas de uma rede. Engenheiros de rede podem configurar o TTL para otimizar o desempenho da rede, ajustando o tempo máximo que os pacotes podem permanecer na rede, levando em consideração o tamanho da rede, o tráfego esperado e outros fatores relevantes.
Um TTL baixo pode ajudar a evitar a sobrecarga da rede, mas também pode levar a um descarte prematuro de pacotes. Por outro lado, um TTL alto pode permitir que os pacotes permaneçam na rede por um período maior, aumentando o risco de congestionamento e de pacotes "perdidos".
Imagine um cenário onde um pacote precisa viajar entre diferentes redes para chegar ao seu destino final. Se o pacote encontrar um loop de roteamento, ele poderá ficar circulando infinitamente entre os roteadores, consumindo recursos da rede e causando congestionamento. O campo TTL atua como um "guarda-chuva" para esse tipo de situação, garantindo que o pacote seja descartado após um certo tempo, evitando loops infinitos e assegurando a estabilidade da rede.
Em redes de computadores, os dados são transmitidos em unidades chamadas pacotes. Esses pacotes são projetados para serem pequenos o suficiente para viajar de forma eficiente pela rede, mas às vezes um pacote pode ser grande demais para caber dentro da unidade máxima de transmissão (MTU) de um segmento de rede específico. É aí que entra a fragmentação.
A fragmentação é o processo de dividir um pacote grande em pacotes menores, chamados fragmentos, que podem ser transmitidos individualmente pelo segmento de rede com uma MTU menor. Cada fragmento contém uma parte dos dados originais, juntamente com informações de cabeçalho adicionais para identificá-lo como parte de um pacote fragmentado. Essas informações de cabeçalho incluem o tamanho do pacote original e um deslocamento de fragmento, que indica a posição do fragmento dentro do pacote original.
O tamanho padrão da MTU é de 1500 bytes. No entanto, esse tamanho pode variar dependendo da rede e do dispositivo específico. Quando um dispositivo receptor recebe um pacote fragmentado, ele reassembla os fragmentos na ordem correta para reconstruir o pacote original. Esse processo é tratado automaticamente pelos protocolos de rede e é transparente para o usuário final. A fragmentação é um mecanismo crucial para garantir que pacotes grandes possam ser transmitidos de forma eficaz através de redes com diferentes MTUs, permitindo uma transmissão de dados eficiente em redes heterogêneas.

Identifica o aplicativo específico que está enviando os dados no dispositivo de origem. Por exemplo, o navegador web utiliza a porta 80 para se comunicar com um servidor web, enquanto o serviço de email utiliza a porta 25.
Identifica o aplicativo específico que está recebendo os dados no dispositivo de destino. Assim como a porta de origem, a porta de destino também é específica para cada aplicativo. Por exemplo, um servidor web espera receber conexões na porta 80, enquanto um servidor de email espera conexões na porta 25.
Utilizado para organizar os segmentos em uma sequência específica durante a transmissão. O TCP é um protocolo orientado à conexão, então ele garante que os segmentos cheguem na ordem correta, evitando perda de dados.
Utilizado para reconhecer o recebimento dos segmentos e garantir que os dados foram transmitidos corretamente. O TCP usa um mecanismo de handshake para estabelecer a conexão, confirmar o recebimento dos dados e finalizar a conexão.
Permite que os dispositivos controlem a taxa de dados transmitidos para evitar congestionamento da rede. O TCP utiliza técnicas como o controle de congestionamento e o controle de fluxo para ajustar a taxa de transmissão de acordo com a capacidade da rede e do receptor.
Utiliza mecanismos para detectar e corrigir erros durante a transmissão. O TCP usa checksums para detectar erros e retransmitir os segmentos perdidos, garantindo a integridade dos dados.
Ferramenta gráfica para captura e análise detalhada de pacotes de rede.
Utilitário de linha de comando para captura e filtragem de pacotes de rede.
Identificar problemas de rede, diagnosticar falhas e monitorar o desempenho.
Protocolo orientado à conexão, com garantia de entrega de dados, ideal para aplicações sensíveis a erros, como navegação web e transferência de arquivos.
Protocolo sem conexão, transmissão de dados sem garantia de entrega, mais rápido, ideal para aplicações em tempo real, como streaming de vídeo e jogos online.
Protocolo de mensagens de controle, utilizado para diagnóstico de problemas de rede e detecção de erros. Mensagens de erro e informações de status são enviadas por meio do ICMP.
O cliente envia um pacote SYN (sincronização) para o servidor, indicando a intenção de estabelecer uma conexão TCP. Este pacote contém informações como o número de sequência inicial do cliente e a porta de destino do servidor.
O servidor responde com um pacote SYN-ACK (sincronização-confirmação), reconhecendo o pedido do cliente e enviando sua própria informação de sincronização. Este pacote também contém o número de sequência inicial do servidor e a porta de origem do servidor.
O cliente responde com um pacote ACK (confirmação), reconhecendo a resposta do servidor e finalizando o processo de handshake. Este pacote contém o número de sequência do servidor mais 1, como forma de confirmar o recebimento do SYN-ACK. A partir deste ponto, a conexão TCP está estabelecida e os dados podem ser transmitidos entre o cliente e o servidor.
O TCP utiliza um processo de três vias, conhecido como handshake TCP, para estabelecer uma conexão confiável entre dois dispositivos. O processo começa com o dispositivo A (o cliente) enviando um pacote SYN (synchronization) para o dispositivo B (o servidor). O dispositivo B responde com um pacote SYN-ACK (synchronization-acknowledgment), que confirma o recebimento do SYN e também solicita uma conexão. Finalmente, o dispositivo A envia um pacote ACK (acknowledgment) para confirmar o recebimento do SYN-ACK, estabelecendo a conexão. Este processo garante que ambos os dispositivos estejam sincronizados e prontos para a troca de dados. Ele também fornece uma verificação de segurança básica, certificando-se de que o servidor correto está respondendo ao pedido do cliente.
Após a conexão estabelecida, o TCP garante a entrega confiável de dados entre os dispositivos. O controle de fluxo é usado para evitar que o dispositivo A envie dados muito rapidamente para o dispositivo B, enquanto a detecção e correção de erros garantem que os dados cheguem ao destino sem erros. O TCP divide os dados em segmentos, numera cada segmento e usa mecanismos de retransmissão para garantir que todos os segmentos sejam recebidos em ordem. O controle de fluxo impede que o dispositivo receptor seja sobrecarregado com dados, garantindo que a conexão seja eficiente e livre de perda de dados. A detecção e correção de erros garantem que os dados cheguem ao destino sem erros, utilizando mecanismos como checksums e sequenciamento de segmentos. A retransmissão garante que todos os segmentos sejam recebidos pelo dispositivo receptor, mesmo em caso de perda de pacotes, através do reenvio de segmentos ausentes.
Para finalizar a conexão, o dispositivo A envia um pacote FIN (finish) para o dispositivo B, indicando que não há mais dados a serem enviados. O dispositivo B responde com um ACK, confirmando o recebimento do FIN. Em seguida, o dispositivo B envia seu próprio FIN, indicando que também não tem mais dados a enviar. O dispositivo A responde com um ACK final, encerrando a conexão de forma ordenada. Esse processo garante que a conexão seja encerrada de forma limpa e eficiente, liberando recursos e permitindo que ambos os dispositivos se desconectem.
O UDP é um protocolo que não exige um estabelecimento de conexão prévia, como o TCP. Isso o torna uma escolha ideal para aplicações que priorizam a velocidade, como transmissões de áudio e vídeo em tempo real, onde a latência é crucial.
Ao contrário do TCP, o UDP não garante a entrega dos dados enviados. Se um pacote for perdido, ele não será retransmitido. Isso torna o UDP adequado para aplicações tolerantes a perdas, como jogos online e streaming de mídia, onde a perda ocasional de pacotes não afeta significativamente a experiência do usuário.
O UDP possui um cabeçalho menor em comparação com o TCP. Essa característica o torna mais leve e eficiente em termos de consumo de recursos da rede, o que é benéfico para aplicações que exigem menor latência e menor uso de banda.
Aprender a configurar e iniciar a captura de pacotes de rede.
Aplicar filtros para selecionar e analisar os pacotes de interesse.
Interpretar e compreender o conteúdo dos pacotes capturados.
Utilizar o tcpdump para capturar e filtrar pacotes de rede a partir da linha de comando.
Analisar as informações de cabeçalho e conteúdo dos pacotes capturados pelo tcpdump.
Aplicar filtros avançados para selecionar e isolar os pacotes de interesse.
Nesta apresentação, exploramos os conceitos fundamentais de redes de computadores, com foco nos principais protocolos de rede (TCP e UDP) e nas ferramentas de captura e análise de pacotes (Wireshark e tcpdump). Esperamos que você tenha adquirido uma compreensão sólida dos princípios básicos necessários para trabalhar com redes de computadores.
Bem-vindo à Academia de Redes, o seu portal para dominar o mundo das redes de computadores. Nossa jornada educacional abrange desde os conceitos básicos na área de redes, como o Modelo de Referência OSI, até as tecnologias mais avançadas, como a análise de pacotes com ferramentas como Wireshark e tcpdump. Nosso objetivo é preparar você para se tornar um profissional de redes altamente qualificado e competitivo no mercado de trabalho.