Computer Science › Sistemas

Redes de Computadores

0 de 23
  1. Camadas de Protocolo e a Pilha da Internet

    Dividir o trabalho impossivelmente complexo das redes em cinco camadas (aplicação, transporte, rede, enlace, física), cada uma escondendo a sua própria maquinaria atrás de um serviço fixo para a camada acima: exatamente a mesma disciplina de ocultação de informação já coberta como um princípio de projeto de software, agora aplicada ao projeto de protocolos.

    Ler →6 seções11 min
  2. Atraso, Perda e Vazão em Redes de Comutação de Pacotes

    Quatro tipos de atraso que um pacote acumula a cada salto (processamento, enfileiramento, transmissão, propagação), além da perda por buffers cheios e da vazão como a taxa real em que os dados se movem, com o produto largura-de-banda-atraso dando os números reais por trás de por que um único enlace lento em qualquer ponto de um caminho pode dominar o desempenho de uma conexão inteira.

    Ler →6 seções11 min
  3. As Arquiteturas de Aplicação Cliente-Servidor e P2P

    Duas respostas estruturais para “quem fala com quem”: uma arquitetura cliente-servidor, com um servidor sempre ligado ao qual todos os clientes se dirigem, versus uma arquitetura peer-to-peer, em que sistemas finais conectados de forma intermitente atendem uns aos outros diretamente. É uma escolha de projeto real, com trade-offs reais de escalabilidade, e não só uma curiosidade histórica.

    Ler →6 seções10 min
  4. HTTP e a Web

    O ciclo de requisição e resposta do HTTP, a sua ausência deliberada de estado (e os cookies como o contorno acoplado depois) e as conexões persistentes versus não persistentes: o protocolo concreto da camada de aplicação que todo exemplo resolvido mais adiante nesta disciplina rastreia para baixo, por toda camada inferior.

    Ler →6 seções10 min
  5. DNS: O Serviço de Diretório da Internet

    Um banco de dados distribuído e hierárquico (servidores raiz, de domínio de topo e autoritativos) que traduz um nome legível por humanos no endereço IP de que toda camada inferior de fato precisa, resolvido por uma cadeia de consultas iterativas e recursivas e tornado rápido na prática quase inteiramente pelo cache.

    Ler →6 seções10 min
  6. Serviços de Transporte: Multiplexação, UDP e TCP

    O trabalho da camada de transporte é a entrega de processo a processo em cima da entrega de host a host da camada de rede: multiplexação/demultiplexação via números de porta, e uma escolha real entre o UDP (mínimo indispensável, sem garantias) e o TCP (confiável, ordenado, com controle de congestionamento), com aplicações reais de cada lado dessa escolha.

    Ler →6 seções10 min
  7. Princípios de Transferência Confiável de Dados

    Construindo confiabilidade em cima de um canal não confiável a partir de princípios básicos (confirmações, números de sequência, temporizadores e retransmissão) e depois fazendo pipelining de vários pacotes em trânsito para ganhar vazão, com o Go-Back-N e o Selective Repeat como as duas estratégias reais para o que um receptor faz quando os pacotes chegam fora de ordem.

    Ler →6 seções11 min
  8. Estrutura do Segmento TCP e o Three-Way Handshake

    O cabeçalho real do segmento TCP (números de sequência e de confirmação, flags SYN/ACK/FIN, tamanho da janela) e o three-way handshake (SYN, SYN-ACK, ACK) que estabelece os números de sequência iniciais de uma conexão antes que um único byte de dados da aplicação se mova.

    Ler →6 seções10 min
  9. A Transferência Confiável de Dados do TCP na Prática

    Como os princípios gerais de transferência confiável de dados se tornam o mecanismo de fato do TCP: confirmações cumulativas, retransmissão rápida com três ACKs duplicados e timeout adaptativo calculado a partir de uma estimativa contínua do tempo de ida e volta. Fórmulas reais, e não só o conceito de “retransmita se estiver atrasado”.

    Ler →6 seções11 min
  10. Controle de Fluxo do TCP: A Janela Deslizante

    O controle de fluxo protege um receptor lento de um remetente rápido: o receptor anuncia quanto espaço livre de buffer tem, e a janela do remetente encolhe ou cresce para acompanhar. É uma preocupação distinta do controle de congestionamento (que protege a rede, e não o receptor), mesmo que os dois usem a palavra “janela”.

    Ler →6 seções8 min
  11. Controle de Congestionamento do TCP: AIMD, Slow Start e Justiça

    O TCP trata a própria rede como frágil e infere o congestionamento a partir da perda: o slow start faz a janela de congestionamento crescer exponencialmente até um evento de perda, e depois o aumento aditivo/diminuição multiplicativa (AIMD) sonda com delicadeza e recua com força, num dente de serra real de cwnd ao longo do tempo rastreado por várias idas e voltas, e é a razão pela qual conexões TCP rodando de forma independente convergem para compartilhar de forma justa um enlace gargalo.

    Ler →6 seções11 min
  12. A Camada de Rede: Plano de Dados vs. Plano de Controle

    O encaminhamento (o plano de dados: a decisão local, por pacote, de um roteador sobre qual enlace de saída usar, tomada em nanossegundos consultando uma tabela) é um trabalho fundamentalmente diferente do roteamento (o plano de controle: o algoritmo de toda a rede, muito mais lento, que calcula o que essa tabela deve conter). É uma distinção que todo conceito seguinte deste bloco depende de manter clara.

    Ler →6 seções10 min
  13. Endereçamento IPv4 e CIDR

    Um endereço de 32 bits dividido num prefixo de rede e num sufixo de host, com a notação CIDR (ex.: 128.11.3.0/24) substituindo o antigo esquema rígido baseado em classes por um prefixo de tamanho arbitrário. A aritmética de sub-redes trabalhada mostra exatamente quantos endereços de host utilizáveis um dado tamanho de prefixo deixa, e por que o espaço de endereços precisou ser racionado com tanto cuidado antes do IPv6.

    Ler →6 seções8 min
  14. Encaminhamento de Datagramas e Correspondência de Prefixo Mais Longo

    Um roteador encaminha um pacote encontrando, entre todos os prefixos em sua tabela, o mais longo que corresponde ao endereço de destino, trabalhado à mão contra uma pequena tabela de encaminhamento concreta: a regra que permite que uma entrada cubra milhões de endereços enquanto uma entrada mais específica ainda tem precedência quando se aplica.

    Ler →6 seções9 min
  15. NAT e Tradução de Endereços de Rede

    Um roteador NAT reescreve o endereço e a porta de origem privados de todo pacote que sai para o seu próprio endereço público único e uma porta nova, mantendo uma tabela de tradução para rotear as respostas de volta ao host interno certo. É uma correção pragmática e amplamente implantada para a escassez de endereços que também, honestamente, quebra o princípio fim a fim em torno do qual a Internet foi originalmente projetada.

    Ler →6 seções10 min
  16. Algoritmos de Roteamento: Link-State vs. Distance-Vector

    As duas famílias de algoritmos de roteamento não são teoria dos grafos nova: o roteamento link-state roda o algoritmo de Dijkstra, já coberto por completo, sobre um grafo de topologia conhecido globalmente, enquanto o roteamento distance-vector roda o algoritmo de Bellman-Ford, também já coberto, com cada roteador conhecendo só os custos dos seus vizinhos. A fraqueza real e honesta do distance-vector é o problema da contagem ao infinito quando um enlace falha.

    Ler →6 seções11 min
  17. Roteamento Intra vs. Interdomínio: OSPF e BGP

    A Internet não é um único domínio de roteamento plano, mas milhares de sistemas autônomos administrados de forma independente. O OSPF (link-state) roda o algoritmo de roteamento já coberto dentro de um AS, enquanto o BGP (path-vector, um primo do distance-vector guiado por políticas) cola os sistemas autônomos uns aos outros na escala real da Internet, onde as decisões de roteamento dizem respeito tanto a acordos comerciais quanto a caminhos mínimos.

    Ler →6 seções11 min
  18. A Camada de Enlace: Enquadramento e Detecção de Erros

    Um salto abaixo da camada de rede, a camada de enlace move um quadro por um único enlace físico. O enquadramento marca onde um quadro termina e o próximo começa, e um checksum (na prática, uma verificação de redundância cíclica) permite que o receptor detecte, embora nem sempre corrija, erros de bit introduzidos por meios físicos reais e ruidosos.

    Ler →6 seções9 min
  19. Protocolos de Acesso Múltiplo e Ethernet

    Quando muitos hosts compartilham um único meio físico, algo precisa decidir quem transmite quando. O CSMA/CD (detecção de portadora, detecção de colisão, recuo aleatório exponencial) é a resposta da Ethernet clássica, e a capacidade de um switch de isolar cada enlace no seu próprio domínio de colisão é a razão real de a Ethernet comutada moderna mal precisar dele hoje.

    Ler →6 seções11 min
  20. ARP e Resolução de Endereços

    Endereços IP roteiam um pacote através das redes, mas um quadro de camada de enlace precisa do endereço MAC do destino para este único salto: o ARP resolve um no outro transmitindo uma consulta em broadcast e armazenando a resposta em cache, e esse cache é, mecanicamente, exatamente a tabela hash já coberta: endereço IP como chave, endereço MAC como valor, com um timeout real em vez de uma política de remoção.

    Ler →6 seções10 min
  21. Fundamentos de Redes Sem Fio e Móveis

    O sem fio quebra uma suposição silenciosa da Ethernet cabeada (a de que todo nó consegue ouvir toda colisão), então o CSMA/CA (prevenção de colisão, e não detecção) e o problema do terminal oculto substituem o CSMA/CD. A mobilidade acrescenta a questão adicional de como um host em movimento mantém as suas conexões vivas enquanto passa de um ponto de acesso para outro.

    Ler →6 seções11 min
  22. Capstone: Rastreando Uma Requisição HTTP de Ponta a Ponta

    Uma única requisição `GET`, digitada em um navegador, percorrida para baixo através de cada camada que esta disciplina cobriu e de volta para cima: resolução DNS, o handshake de três vias do TCP, a requisição/resposta do HTTP, o encaminhamento IP salto a salto guiado pelas tabelas pré-computadas do roteamento, o ARP resolvendo o salto final, e o enquadramento/detecção de erros no fio, nomeando, a cada passo, exatamente qual conceito o explica, e encerrando com um limite de escopo honesto frente a `distributed-systems-i`.

    Ler →6 seções13 min

Redes de Computadores

Part of the Computer Science curriculum.

Sort
1

A Borda da Rede, o Núcleo da Rede e a Comutação de Pacotes

A Internet como duas partes (sistemas finais na borda rodando aplicações, e uma malha de roteadores e enlaces no núcleo movendo os seus dados) e a comutação de pacotes, a estratégia do núcleo de picotar mensagens em pequenas unidades e encaminhar cada uma de forma independente em vez de reservar um circuito de ponta a ponta.

2

Camadas de Protocolo e a Pilha da Internet

Dividir o trabalho impossivelmente complexo das redes em cinco camadas (aplicação, transporte, rede, enlace, física), cada uma escondendo a sua própria maquinaria atrás de um serviço fixo para a camada acima: exatamente a mesma disciplina de ocultação de informação já coberta como um princípio de projeto de software, agora aplicada ao projeto de protocolos.

3

Atraso, Perda e Vazão em Redes de Comutação de Pacotes

Quatro tipos de atraso que um pacote acumula a cada salto (processamento, enfileiramento, transmissão, propagação), além da perda por buffers cheios e da vazão como a taxa real em que os dados se movem, com o produto largura-de-banda-atraso dando os números reais por trás de por que um único enlace lento em qualquer ponto de um caminho pode dominar o desempenho de uma conexão inteira.

4

As Arquiteturas de Aplicação Cliente-Servidor e P2P

Duas respostas estruturais para “quem fala com quem”: uma arquitetura cliente-servidor, com um servidor sempre ligado ao qual todos os clientes se dirigem, versus uma arquitetura peer-to-peer, em que sistemas finais conectados de forma intermitente atendem uns aos outros diretamente. É uma escolha de projeto real, com trade-offs reais de escalabilidade, e não só uma curiosidade histórica.

5

HTTP e a Web

O ciclo de requisição e resposta do HTTP, a sua ausência deliberada de estado (e os cookies como o contorno acoplado depois) e as conexões persistentes versus não persistentes: o protocolo concreto da camada de aplicação que todo exemplo resolvido mais adiante nesta disciplina rastreia para baixo, por toda camada inferior.

6

DNS: O Serviço de Diretório da Internet

Um banco de dados distribuído e hierárquico (servidores raiz, de domínio de topo e autoritativos) que traduz um nome legível por humanos no endereço IP de que toda camada inferior de fato precisa, resolvido por uma cadeia de consultas iterativas e recursivas e tornado rápido na prática quase inteiramente pelo cache.

7

Serviços de Transporte: Multiplexação, UDP e TCP

O trabalho da camada de transporte é a entrega de processo a processo em cima da entrega de host a host da camada de rede: multiplexação/demultiplexação via números de porta, e uma escolha real entre o UDP (mínimo indispensável, sem garantias) e o TCP (confiável, ordenado, com controle de congestionamento), com aplicações reais de cada lado dessa escolha.

8

Princípios de Transferência Confiável de Dados

Construindo confiabilidade em cima de um canal não confiável a partir de princípios básicos (confirmações, números de sequência, temporizadores e retransmissão) e depois fazendo pipelining de vários pacotes em trânsito para ganhar vazão, com o Go-Back-N e o Selective Repeat como as duas estratégias reais para o que um receptor faz quando os pacotes chegam fora de ordem.

9

Estrutura do Segmento TCP e o Three-Way Handshake

O cabeçalho real do segmento TCP (números de sequência e de confirmação, flags SYN/ACK/FIN, tamanho da janela) e o three-way handshake (SYN, SYN-ACK, ACK) que estabelece os números de sequência iniciais de uma conexão antes que um único byte de dados da aplicação se mova.

10

A Transferência Confiável de Dados do TCP na Prática

Como os princípios gerais de transferência confiável de dados se tornam o mecanismo de fato do TCP: confirmações cumulativas, retransmissão rápida com três ACKs duplicados e timeout adaptativo calculado a partir de uma estimativa contínua do tempo de ida e volta. Fórmulas reais, e não só o conceito de “retransmita se estiver atrasado”.

11

Controle de Fluxo do TCP: A Janela Deslizante

O controle de fluxo protege um receptor lento de um remetente rápido: o receptor anuncia quanto espaço livre de buffer tem, e a janela do remetente encolhe ou cresce para acompanhar. É uma preocupação distinta do controle de congestionamento (que protege a rede, e não o receptor), mesmo que os dois usem a palavra “janela”.

12

Controle de Congestionamento do TCP: AIMD, Slow Start e Justiça

O TCP trata a própria rede como frágil e infere o congestionamento a partir da perda: o slow start faz a janela de congestionamento crescer exponencialmente até um evento de perda, e depois o aumento aditivo/diminuição multiplicativa (AIMD) sonda com delicadeza e recua com força, num dente de serra real de cwnd ao longo do tempo rastreado por várias idas e voltas, e é a razão pela qual conexões TCP rodando de forma independente convergem para compartilhar de forma justa um enlace gargalo.

13

A Camada de Rede: Plano de Dados vs. Plano de Controle

O encaminhamento (o plano de dados: a decisão local, por pacote, de um roteador sobre qual enlace de saída usar, tomada em nanossegundos consultando uma tabela) é um trabalho fundamentalmente diferente do roteamento (o plano de controle: o algoritmo de toda a rede, muito mais lento, que calcula o que essa tabela deve conter). É uma distinção que todo conceito seguinte deste bloco depende de manter clara.

14

Endereçamento IPv4 e CIDR

Um endereço de 32 bits dividido num prefixo de rede e num sufixo de host, com a notação CIDR (ex.: 128.11.3.0/24) substituindo o antigo esquema rígido baseado em classes por um prefixo de tamanho arbitrário. A aritmética de sub-redes trabalhada mostra exatamente quantos endereços de host utilizáveis um dado tamanho de prefixo deixa, e por que o espaço de endereços precisou ser racionado com tanto cuidado antes do IPv6.

15

Encaminhamento de Datagramas e Correspondência de Prefixo Mais Longo

Um roteador encaminha um pacote encontrando, entre todos os prefixos em sua tabela, o mais longo que corresponde ao endereço de destino, trabalhado à mão contra uma pequena tabela de encaminhamento concreta: a regra que permite que uma entrada cubra milhões de endereços enquanto uma entrada mais específica ainda tem precedência quando se aplica.

16

NAT e Tradução de Endereços de Rede

Um roteador NAT reescreve o endereço e a porta de origem privados de todo pacote que sai para o seu próprio endereço público único e uma porta nova, mantendo uma tabela de tradução para rotear as respostas de volta ao host interno certo. É uma correção pragmática e amplamente implantada para a escassez de endereços que também, honestamente, quebra o princípio fim a fim em torno do qual a Internet foi originalmente projetada.

17

Algoritmos de Roteamento: Link-State vs. Distance-Vector

As duas famílias de algoritmos de roteamento não são teoria dos grafos nova: o roteamento link-state roda o algoritmo de Dijkstra, já coberto por completo, sobre um grafo de topologia conhecido globalmente, enquanto o roteamento distance-vector roda o algoritmo de Bellman-Ford, também já coberto, com cada roteador conhecendo só os custos dos seus vizinhos. A fraqueza real e honesta do distance-vector é o problema da contagem ao infinito quando um enlace falha.

18

Roteamento Intra vs. Interdomínio: OSPF e BGP

A Internet não é um único domínio de roteamento plano, mas milhares de sistemas autônomos administrados de forma independente. O OSPF (link-state) roda o algoritmo de roteamento já coberto dentro de um AS, enquanto o BGP (path-vector, um primo do distance-vector guiado por políticas) cola os sistemas autônomos uns aos outros na escala real da Internet, onde as decisões de roteamento dizem respeito tanto a acordos comerciais quanto a caminhos mínimos.

19

A Camada de Enlace: Enquadramento e Detecção de Erros

Um salto abaixo da camada de rede, a camada de enlace move um quadro por um único enlace físico. O enquadramento marca onde um quadro termina e o próximo começa, e um checksum (na prática, uma verificação de redundância cíclica) permite que o receptor detecte, embora nem sempre corrija, erros de bit introduzidos por meios físicos reais e ruidosos.

20

Protocolos de Acesso Múltiplo e Ethernet

Quando muitos hosts compartilham um único meio físico, algo precisa decidir quem transmite quando. O CSMA/CD (detecção de portadora, detecção de colisão, recuo aleatório exponencial) é a resposta da Ethernet clássica, e a capacidade de um switch de isolar cada enlace no seu próprio domínio de colisão é a razão real de a Ethernet comutada moderna mal precisar dele hoje.

21

ARP e Resolução de Endereços

Endereços IP roteiam um pacote através das redes, mas um quadro de camada de enlace precisa do endereço MAC do destino para este único salto: o ARP resolve um no outro transmitindo uma consulta em broadcast e armazenando a resposta em cache, e esse cache é, mecanicamente, exatamente a tabela hash já coberta: endereço IP como chave, endereço MAC como valor, com um timeout real em vez de uma política de remoção.

22

Fundamentos de Redes Sem Fio e Móveis

O sem fio quebra uma suposição silenciosa da Ethernet cabeada (a de que todo nó consegue ouvir toda colisão), então o CSMA/CA (prevenção de colisão, e não detecção) e o problema do terminal oculto substituem o CSMA/CD. A mobilidade acrescenta a questão adicional de como um host em movimento mantém as suas conexões vivas enquanto passa de um ponto de acesso para outro.

23

Capstone: Rastreando Uma Requisição HTTP de Ponta a Ponta

Uma única requisição `GET`, digitada em um navegador, percorrida para baixo através de cada camada que esta disciplina cobriu e de volta para cima: resolução DNS, o handshake de três vias do TCP, a requisição/resposta do HTTP, o encaminhamento IP salto a salto guiado pelas tabelas pré-computadas do roteamento, o ARP resolvendo o salto final, e o enquadramento/detecção de erros no fio, nomeando, a cada passo, exatamente qual conceito o explica, e encerrando com um limite de escopo honesto frente a `distributed-systems-i`.