PROTOCOL · SPEC · CASE STUDY
Thư viện animation giao thức mạng
Tra cứu trực quan các giao thức, đặc tả kỹ thuật và case study qua animation từng bước — từ TCP handshake đến BGP path selection, TLS 1.3 và kiến trúc data center hiện đại.
21 animation · 9 danh mục
Danh mục
Duyệt animation theo lĩnh vực giao thức.
Giao thức truyền tải
TCP, UDP, QUIC — bắt tay, điều khiển tắc nghẽn, truyền dữ liệu tin cậy.
2 animation
Định tuyến
BGP, OSPF, IS-IS — quảng bá tuyến, chọn đường tốt nhất, hội tụ.
1 animation
Bảo mật
TLS, IPsec, 802.1X — bắt tay mã hoá, trao đổi khoá, xác thực.
2 animation
Tầng ứng dụng
DNS, HTTP/1.1, HTTP/2, HTTP/3 — phân giải tên, multiplexing, caching.
9 animation
Hạ tầng Data Center
VXLAN, EVPN, leaf-spine fabric — overlay, control plane, tối ưu east-west.
0 animation
Message Broker
Kafka, RabbitMQ/AMQP, MQTT — pub/sub, hàng đợi, phân vùng và đảm bảo phân phối.
3 animation
Kiến trúc phần mềm
Microservices, API gateway, service mesh, saga — luồng request và mẫu thiết kế hệ phân tán.
2 animation
Đồng thời & Song song
Thread vs process, GIL, async — mô hình xử lý đồng thời và song song thực sự.
1 animation
Tình huống thực tế
Bài học triển khai thực tế: thiết kế, sự cố, tối ưu hệ thống mạng.
1 animation
Nổi bật
Các animation được chọn giới thiệu.
TLS 1.3: Bắt tay mã hoá 1-RTT
Bắt tay TLS 1.3 theo RFC 8446: ClientHello với key_share, trao đổi khoá ECDHE, chứng thực server và Finished — chỉ 1 RTT trước khi truyền dữ liệu ứng dụng.
TCP: Bắt tay 3 bước, truyền dữ liệu và đóng kết nối
Toàn bộ vòng đời một kết nối TCP theo RFC 9293: SYN/SYN-ACK/ACK, truyền dữ liệu với sequence/ack number, và quá trình đóng 4 bước với TIME-WAIT.
QUIC: Bắt tay 1-RTT, multiplexing và connection migration
QUIC (RFC 9000) chạy trên UDP, gộp bắt tay transport với TLS 1.3 thành 1 RTT, ghép nhiều stream độc lập không head-of-line blocking, và di chuyển kết nối qua Connection ID khi client đổi mạng.
Python: Đa luồng (GIL) vs đa tiến trình
Vì sao thread trong CPython không chạy song song với tác vụ CPU-bound (GIL nối tiếp bytecode) trong khi process/subprocess đạt song song thực sự trên nhiều nhân — và khi nào nên dùng cái nào.
OpenID Connect: Authorization Code Flow với PKCE
Luồng đăng nhập OIDC/OAuth2: PKCE, authorization code qua front-channel, đổi code lấy id_token + access_token ở back-channel, kiểm chữ ký id_token (JWKS) và làm mới token.
Microservices: Luồng request qua API Gateway & service mesh
Một request đi qua API gateway, service discovery và chuỗi lời gọi đồng bộ giữa các service, với timeout/circuit breaker, database-per-service và service mesh lo mTLS/retry/tracing.
Apache Kafka: Partition, consumer group và offset
Kafka phân phối record theo key vào các partition (log append-only có offset), sao chép qua ISR, và để nhiều consumer group đọc song song độc lập — pub/sub ở quy mô lớn.
HTTP/3: HTTP trên QUIC, hết head-of-line blocking
HTTP/3 (RFC 9114) chạy HTTP trên QUIC thay vì TCP: phát hiện qua Alt-Svc, mỗi request là một QUIC stream, nén header bằng QPACK, không còn HOL blocking tầng transport và hỗ trợ 0-RTT.
DNS: Phân giải tên đệ quy từ Root đến Authoritative
Hành trình một truy vấn DNS: stub resolver hỏi recursive resolver, lần lượt qua Root, TLD và Authoritative nameserver, rồi cache kết quả theo TTL.
Case Study: VXLAN/EVPN trong Data Center leaf-spine
Tình huống thực tế: hai host cùng VNI ở hai leaf khác nhau. BGP EVPN phân phối MAC qua route reflector, VTEP đóng gói VXLAN qua underlay — không cần flood-and-learn.