TCP/IP: fundamentos e diagnóstico
Doze aulas, 100 perguntas e 20 casos TCP/IP: diagnóstico, sockets IPv4/IPv6, fluxo, prazos e seleção de endpoints.
Objetivos e percurso
Percurso técnico com 120 decisões originais PT-PT/EN. Três laboratórios reúnem oito grupos históricos de sockets, dez grupos de pressão e prazos e dez grupos de endpoints IPv4/IPv6. Inclui código completo, casos documentais de namespaces Linux e zonas IPv6, e exercícios propostos de handover em inglês. Execução Python 3.13.1 em macOS; documentação consultada da linha 3.13 identificava 3.13.16. Avaliação final de 62 decisões em 130 minutos. Sem captura, DNS real, percurso externo, PMTU medido, TLS, persistência ou workshop humano realizado.
Para quem: Equipas APS L2/L3, administradores Linux e gestores técnicos de infraestrutura.
Pré-requisitos: Noções de sistemas e aplicações; os exercícios incluem endereços e evidência necessários.
730 minutos de estudo estimados
- Interpreta sub-redes, bindings e contexto antes de testar um serviço.
- Relaciona prefixo mais específico, políticas e vizinhança local.
- Distingue ligação, entrega de bytes e resultado da aplicação.
- Relaciona estados TCP e pressão de receção com o comportamento da aplicação.
- Explica porque pequenos pedidos podem funcionar quando transferências maiores falham.
- Escolhe observações comparáveis e valida o resultado após a mudança.
- Constrói um critério de completude para mensagens TCP e distingue envio, leitura, fim de fluxo e resultado funcional.
- Localiza a fase de uma falha, interpreta respostas tardias e datagramas truncados, e prepara uma recuperação com resultado funcional explícito.
- Usa sockets reais para observar envios parciais, retomar pelo offset certo e limitar a admissão de trabalho.
- Distingue timeout por chamada de prazo total, correlaciona respostas tardias e define critérios de aceitação pelo RUN.
- Observa endereços, portas e famílias em sockets reais e constrói uma grelha de diagnóstico que distingue cada ligação.
- Analisa tentativas por endereço, distingue fallback sequencial de Happy Eyeballs e prepara um handover baseado no fluxo real.
Módulos
- Endereços, prefixos e âmbito
- Rotas e resolução do próximo salto
- Transporte, confirmação e mensagens
- Estados, filas e controlo de fluxo
- MTU, ICMP e falhas dependentes do tamanho
- Diagnóstico no contexto da aplicação
- Fluxos, mensagens e fecho parcial
- Timeouts, datagramas e evidência operacional
- Pressão de envio e consumidores lentos
- Prazos, respostas tardias e handover
- Endpoints IPv4/IPv6 e identidade do fluxo
- Candidatos, fases de falha e escalamento
Continua a aprender
Referências e versão
DR TCP/IP 2026-09; TCP RFC 9293; IPv6 RFC 8200 with RFC 9673 update; Linux socket and iproute2 guidance
- Transmission Control Protocol · 2026-10-04
- IPv6 base specification: RFC 8200 · 2026-09-30
- CIDR and longest-prefix routing: RFC4632 · 2026-09-30
- Linux TCP sockets and receive queue · 2026-09-30
- Socket inspection with ss · 2026-09-30
- ip-route: effective route lookup · 2026-10-04
- IPv6 Path MTU Discovery: RFC8201 · 2026-09-30
- ARP: RFC826 · 2026-09-30
- IPv6 Neighbor Discovery: RFC4861 · 2026-09-30
- Linux routing policy rules · 2026-09-30
- Linux IPv4 sockets and addresses · 2026-09-30
- IPv6 Hop-by-Hop update: RFC 9673 · 2026-09-30
- IPv4 Path MTU Discovery: RFC1191 · 2026-09-30
- ICMP: RFC792 · 2026-09-30
- ICMPv6: RFC4443 · 2026-09-30
- Linux UDP datagrams · 2026-09-30
- Linux socket interfaces and binding · 2026-09-30
- Linux neighbour states and bindings · 2026-09-30
- Documentation IPv4 address blocks: RFC5737 · 2026-09-30
- Linux IP sysctl and bindv6only · 2026-09-30
- Linux network namespace isolation · 2026-09-30
- IPv6 Scoped Address Architecture · 2026-10-04
- Python socket interface · 2026-10-04
- Receive messages from a socket · 2026-10-02
- Initiate a socket connection · 2026-10-02
- User Datagram Protocol · 2026-10-02
- Computing the TCP retransmission timer · 2026-10-02
- Making retries safe with idempotent APIs · 2026-10-02
- Python selectors: I/O readiness · 2026-10-04
- Python monotonic clock · 2026-10-04
- IPv6 Addressing Architecture · 2026-10-04
- IPv6 Address Text Representation · 2026-10-04
- Happy Eyeballs Version 2 · 2026-10-04
- ip-netns: network namespace management · 2026-10-04
O que vais explorar
0 / 12Endereços, prefixos e âmbito
Interpreta sub-redes, bindings e contexto antes de testar um serviço.
Rotas e resolução do próximo salto
Relaciona prefixo mais específico, políticas e vizinhança local.
Transporte, confirmação e mensagens
Distingue ligação, entrega de bytes e resultado da aplicação.
Estados, filas e controlo de fluxo
Relaciona estados TCP e pressão de receção com o comportamento da aplicação.
MTU, ICMP e falhas dependentes do tamanho
Explica porque pequenos pedidos podem funcionar quando transferências maiores falham.
Diagnóstico no contexto da aplicação
Escolhe observações comparáveis e valida o resultado após a mudança.
Fluxos, mensagens e fecho parcial
Constrói um critério de completude para mensagens TCP e distingue envio, leitura, fim de fluxo e resultado funcional.
Timeouts, datagramas e evidência operacional
Localiza a fase de uma falha, interpreta respostas tardias e datagramas truncados, e prepara uma recuperação com resultado funcional explícito.
Pressão de envio e consumidores lentos
Usa sockets reais para observar envios parciais, retomar pelo offset certo e limitar a admissão de trabalho.
Prazos, respostas tardias e handover
Distingue timeout por chamada de prazo total, correlaciona respostas tardias e define critérios de aceitação pelo RUN.
Endpoints IPv4/IPv6 e identidade do fluxo
Observa endereços, portas e famílias em sockets reais e constrói uma grelha de diagnóstico que distingue cada ligação.
Candidatos, fases de falha e escalamento
Analisa tentativas por endereço, distingue fallback sequencial de Happy Eyeballs e prepara um handover baseado no fluxo real.