Conceitos Fundamentais em Redes de Computadores
Classificado em Computação
Escrito em em português com um tamanho de 12,05 KB
Comunicação Orientada e Não Orientada à Conexão
Comunicação Orientada à Conexão
É uma comunicação mais complexa que estabelece uma conexão antes de transmitir os dados. Para isso, existe uma negociação inicial antes de iniciar a transmissão. Tipicamente, as comunicações orientadas à conexão também são confiáveis, pois os pacotes são controlados quanto à sequência/ordem, perda e corrompimento, além de ser feito controle de fluxo. Um exemplo é o protocolo TCP na Camada de Transporte. Outro exemplo é o protocolo X.25 na Camada de Rede. Esse tipo de conexão é usado em aplicações que necessitam de confiabilidade, como a Web, FTP e Email, entre outras.
Comunicação Não Orientada à Conexão (Sem Conexão)
É uma comunicação mais simples. Não existe negociação inicial; os pacotes são transmitidos da origem para o destino sem estabelecer uma conexão formal antes. Tipicamente, não são confiáveis, pois não é feito controle de sequência/ordem, nem de perda, nem de integridade dos pacotes. Também não é viável fazer controle de fluxo. Ou seja, é um tipo de conexão extremamente simples, tendo como exemplo o protocolo UDP na Camada de Transporte e o protocolo IP na Camada de Rede. Esse tipo de conexão é usada em aplicações de tempo real, como VoIP e videoconferência.
O que é Handshaking?
Handshaking é o processo de estabelecimento de comunicação entre duas máquinas, onde uma reconhece a outra. É a apresentação mútua. No contexto do TCP, envolve a troca das três primeiras mensagens (SYN, SYN-ACK, ACK) para negociar parâmetros como endereços IP e números de portas, culminando na solicitação do objeto a ser transferido.
Comutação de Circuitos vs. Comutação de Pacotes
Comutação de Pacotes
Os dados são divididos em pacotes e enviados por vários caminhos na rede. Alguns caminhos podem ser mais rápidos, outros mais lentos. Os caminhos mais eficientes são escolhidos para que os pacotes cheguem ao destino e sejam remontados para formar a informação original.
Comutação de Circuitos
Aloca todos os recursos físicos necessários para a transmissão dos dados em um único caminho dedicado durante toda a duração da comunicação, desde a origem até o destino. É muito utilizado em telecomunicações tradicionais, como a telefonia.
FDM e TDM em Redes de Comutação de Circuitos
FDM (Frequency Division Multiplexing)
É a Divisão de Canais por Frequência. Circuitos virtuais são criados e alocados em diferentes bandas de frequência dentro de uma banda maior da rede. Cada circuito opera em uma faixa de frequência específica, garantindo que não haja interferência entre eles.
TDM (Time Division Multiplexing)
É um sistema de multiplexação onde cada canal de informação é associado a um intervalo de tempo específico. Para que esta associação seja possível, cada canal de informação é armazenado temporariamente em um buffer de memória antes de ser transmitido em seu slot de tempo designado.
Atrasos Nodal Total: Tipos e Características
O Atraso Nodal Total é o tempo que um pacote leva para entrar em um roteador e ser encaminhado para o próximo roteador. Ele é composto por diferentes tipos de atrasos:
- Atraso de Processamento: Tempo para verificar o IP de origem e destino do pacote. (Fixo)
- Atraso de Fila: Tempo em que o pacote aguarda em um buffer (memória RAM) do roteador antes de ser enviado. (Variável, de acordo com a carga da rede)
- Atraso de Transmissão: Tempo que o roteador leva para colocar todos os bits do pacote no meio físico. (Fixo)
- Atraso de Propagação: Tempo que os bits levam para percorrer o meio físico do roteador atual até o próximo. (Fixo)
Causas da Perda de Pacotes
A perda de pacotes ocorre principalmente quando o buffer (fila) de um roteador ou dispositivo de rede está cheio devido ao congestionamento. Quando novos pacotes chegam e não há espaço disponível, eles são descartados.
Modelos de Referência: OSI, TCP/IP e IEEE 802
Esta questão requer um desenho para ilustrar a relação entre o Modelo de Referência ISO/OSI, a arquitetura TCP/IP e os padrões IEEE 802. Em resumo, o Modelo OSI é um modelo conceitual de sete camadas, enquanto o TCP/IP é uma arquitetura prática de quatro ou cinco camadas. Os padrões IEEE 802 especificam tecnologias para redes locais (LANs) e redes metropolitanas (MANs), operando principalmente nas camadas física e de enlace do modelo OSI/TCP-IP.
Arquiteturas de Aplicações: Tipos e Características
Existem três principais arquiteturas de aplicações:
- Cliente/Servidor: Uma arquitetura centralizada onde clientes solicitam serviços a um servidor, que os processa e retorna as respostas.
- P2P (Peer-to-Peer): Uma arquitetura descentralizada onde os participantes (peers) atuam tanto como clientes quanto como servidores, compartilhando recursos e serviços diretamente entre si.
- Híbrida: Uma arquitetura que combina elementos das arquiteturas cliente/servidor e P2P, utilizando um servidor central para algumas funções (como indexação) e permitindo comunicação direta entre peers para outras (como transferência de arquivos).
O que são Sockets e Como Funcionam?
Um Socket é um ponto final de comunicação em uma rede. Ele é uma combinação do endereço IP da máquina e um número de porta, que serve para identificar o processo de origem/destino específico em um host. Os sockets permitem que programas em diferentes máquinas (ou na mesma máquina) troquem dados através de uma rede, atuando como uma interface de programação para a comunicação de rede.
Componentes de Rede: Hub, Switch e Roteador
Hub
Opera na Camada Física (Camada 1 do Modelo OSI). Recebe dados de um computador e os retransmite para todos os outros computadores conectados à mesma rede local. É um dispositivo simples que não realiza filtragem de tráfego.
Switch
Opera na Camada de Enlace (Camada 2 do Modelo OSI). Recebe os dados e cria um caminho exclusivo para a passagem dessas informações, encaminhando-as apenas para o destino correto, com base no endereço MAC. Isso evita que o tráfego desnecessário chegue a outros dispositivos, otimizando a rede.
Roteador
Opera na Camada de Rede (Camada 3 do Modelo OSI). É um dispositivo mais inteligente que encaminha pacotes de dados entre diferentes redes, utilizando endereços IP para determinar a melhor rota. Ele pode rotear dados tanto em redes cabeadas quanto em redes sem fio (wireless).
Arquitetura de Rede vs. Arquitetura de Aplicação
Arquitetura de Rede
Refere-se à estrutura fundamental de uma rede, especificando como as camadas são organizadas, quais protocolos são utilizados em cada camada e quais serviços cada camada oferece. Exemplos incluem o Modelo OSI e a arquitetura TCP/IP.
Arquitetura de Aplicação
Descreve como os diferentes componentes de uma aplicação de software interagem entre si através da rede para realizar uma tarefa. Ela define os papéis dos processos de aplicação (e.g., cliente, servidor, peer) e como eles se comunicam. Exemplos incluem as arquiteturas cliente/servidor e P2P.
Resolução de URL para IP via DNS (Sem Cache)
Quando não há informações sobre o endereço IP de um servidor no cache do DNS local, os passos para a resolução de uma URL são:
- O cliente envia uma consulta DNS para o servidor DNS local (ou recursivo).
- O servidor DNS local, não tendo a informação, consulta um servidor DNS raiz.
- O servidor raiz responde com o endereço IP de um servidor DNS TLD (Top-Level Domain) responsável pelo domínio (ex: .com, .org, .br).
- O servidor DNS local consulta o servidor DNS TLD.
- O servidor TLD responde com o endereço IP do servidor DNS autoritativo para o domínio específico (ex: exemplo.com).
- O servidor DNS local consulta o servidor DNS autoritativo.
- O servidor autoritativo responde com o endereço IP do host solicitado (ex: www.exemplo.com).
- O servidor DNS local armazena essa informação em cache e a envia de volta ao cliente.
- O cliente, agora com o endereço IP, pode se conectar ao servidor solicitado.
O que é um Resource Record (RR) no DNS?
Um Resource Record (RR) é uma entrada fundamental no sistema DNS que contém informações sobre um domínio. Cada RR tem um tipo que indica o tipo de informação que ele armazena. Exemplos:
- A (Address Record): Mapeia um nome de domínio para um endereço IPv4. Ex:
exemplo.com IN A 192.0.2.1
- AAAA (IPv6 Address Record): Mapeia um nome de domínio para um endereço IPv6.
- CNAME (Canonical Name Record): Cria um alias para outro nome de domínio. Ex:
www.exemplo.com IN CNAME exemplo.com
- MX (Mail Exchange Record): Especifica os servidores de e-mail responsáveis por receber mensagens para um domínio.
- NS (Name Server Record): Indica quais servidores DNS são autoritativos para um domínio.
Dimensões para Escolha do Protocolo de Transporte
Na escolha do protocolo da camada de transporte (como TCP ou UDP), diversas dimensões relacionadas às aplicações devem ser consideradas:
- Transferência Confiável de Dados (Integridade): Refere-se à necessidade de garantir que todos os dados sejam entregues ao destino sem perdas, duplicações ou corrupção, e na ordem correta. Aplicações como transferência de arquivos (FTP) e e-mail (SMTP) exigem alta confiabilidade.
- Temporização: Diz respeito aos requisitos de tempo para a entrega dos dados. Aplicações de tempo real, como VoIP e videoconferência, exigem baixa latência e são mais tolerantes a pequenas perdas, mas sensíveis a atrasos.
- Largura de Banda: Envolve os requisitos de taxa de transferência de dados. Algumas aplicações podem precisar de uma largura de banda mínima garantida, enquanto outras podem se adaptar a variações na largura de banda disponível.
Conexões HTTP: Persistentes e Não Persistentes
Conexões Não Persistentes
Neste tipo de conexão, o servidor encerra a conexão TCP após enviar cada objeto solicitado. Para cada objeto (ex: arquivo HTML, imagem), uma nova conexão TCP precisa ser estabelecida.
Sem Paralelismo:
O cliente solicita um objeto, aguarda a conclusão da transferência e o encerramento da conexão, para então estabelecer uma nova conexão e solicitar o próximo objeto.Com Paralelismo:
O cliente pode estabelecer múltiplas conexões TCP simultaneamente para solicitar vários objetos ao mesmo tempo, acelerando o carregamento da página.
Conexões Persistentes
Neste modelo, o servidor mantém a conexão TCP aberta após enviar um objeto, permitindo que o cliente solicite múltiplos objetos através da mesma conexão. Isso reduz a sobrecarga de estabelecimento e encerramento de conexões, melhorando o desempenho.
O que é RTT (Round-Trip Time)?
RTT (Round-Trip Time) é o intervalo de tempo total que um pequeno pacote de dados leva para ir de um cliente a um servidor e retornar ao cliente. Ele mede a latência da rede e inclui o tempo de transmissão, propagação e processamento em ambos os lados.