ArthurChiao's Blog

Recent Posts

  • 2021-01-10

    [笔记] Cloud Native Data Center Networking (O'Reilly 2019)

    关于本文本文是读 Cloud Native Data Center Networking (O’Reilly, 2019)时的所做的一些笔记。这本书理论和实践兼备,是现代数据中心网络、云原生数据中心网络设计和 BGP 的很好入门参考。作者 Dinesh G. Dutt 是一家网络公司的首席科学家,在网络行业有 20 多年工作经验,曾是 Cisco Fellow,是 TRILL、VxLAN 等协议的合作者(co-author)之一。 关于本文 1 传统网络架构面临瓶颈 1.1 “应用-网络”架构演进 ...

  • 2020-12-31

    Cilium Code Walk Through: Node & Endpoint Health Probe

    TL; DR 1 Design 1.1 Full-mesh probe 1.2 Types of probes 1.3 Probe results 1.4 A special endpoint: cilium-health-ep 1.5 Summary 2 Implementation 2.1 Initialization: high level overview 2.2 initHealth() -> Launch(...

  • 2020-12-31

    Cilium 源码解析:Node 之间的健康探测(health probe)机制

    TL; DR 1 设计 1.1 Full-mesh 健康探测 1.2 四种 probe 类型 1.3 Probe results 1.4 cilium-health-ep: cilium-health endpoint 1.5 小结 2 实现 2.1 初始化流程 2.2 initHealth() -> Launch() -> runServer() -> server.Serve() 2.3 ru...

  • 2020-12-17

    [译] 云原生世界中的数据包标记(packet mark)(LPC, 2020)

    译者序本文翻译自 2020 年 Joe Stringer 在 Linux Plumbers Conference 的一篇分享:Packet Mark In a Cloud Native World。探讨一个在网络和安全领域非常重要但又讨论甚少的主题:skb mark。skb mark 是打在内核数据包(skb )上的数字标记,例如,可能是一个 16bit 或32bit 整数表示。这个 mark 只存在于每台主机内部,当包从网卡发出去之后,这个信息就丢失了 —— 也就是说,它并没有存储在任何 packet header 中。skb...

  • 2020-11-29

    [译] 利用 eBPF 支撑大规模 K8s Service (LPC, 2019)

    译者序本文翻译自 2019 年 Daniel Borkmann 和 Martynas Pumputis 在 Linux Plumbers Conference 的一篇分享:Making the Kubernetes Service Abstraction Scale using eBPF 。翻译时对大家耳熟能详或已显陈旧的内容(K8s 介绍、Cilium 1.6 之前的版本对 Service实现等)略有删减,如有需要请查阅原 PDF。实际上,一年之后 Daniel 和 Martynas 又在 LPC 做了一次分享,内容是本文的延...

  • 2020-11-24

    [译] 基于 BPF/XDP 实现 K8s Service 负载均衡 (LPC, 2020)

    译者序本文翻译自 2020 年 Daniel Borkmann 和 Martynas Pumputis 在 Linux Plumbers Conference 的一篇分享:K8s Service Load Balancing with BPF & XDP。文章介绍了 K8s 的一些核心网络模型和设计、Cilium 对 K8s Service 的实现、BPF/XDP性能优化,以及他们从中得到的一些实践经验,全是干货。由于译者水平有限,本文不免存在遗漏或错误之处。如有疑问,请查阅原文。 译者序 1 K8s 网络基础:访问...

  • 2020-11-13

    计算规模驱动下的网络方案演进

    1 引言 2 裸金属(BM)时代 2.1 平台特点 2.2 网络需求 2.3 网络解决方案 2.4 网络瓶颈分析(计算规模相关) 3 虚拟机(VM)时代 3.1 平台特点 3.2 网络需求 3.3 网络解决方案 3.4 网络瓶颈分析(计算规模相关) 4 容器时代 4.1 沿用大二层模型 4.2 避免网络瓶颈 4.3 重新审视容器的网络需求 4.4 网络解...

  • 2020-11-04

    Trip.com: Stepping into Cloud Native Networking Era with Cilium+BGP

    This post also provides a Chinese version.This post serves as a successor to our previous postTrip.com: First Step towards Cloud Native Networking.We will update some of our recent progresses on Cilium-based networking & security. 1 Networking @Trip.com: a qui...

  • 2020-11-04

    迈入 Cilium+BGP 的云原生网络时代

    This post also provides an English version.本文是我们的前一篇博客Trip.com: First Step towards Cloud Native Networking的后续,介绍自上一篇博客以来我们在基于 Cilium 的云原生网络和云原生安全方面的一些探索和实践。 1 网络演进:简要回顾 2 云原生网络实践 2.1 BGP 建连模型 2.2 典型流量转发路径:从 Pod 访问 Service 2.3 集群边界 L4/L7 入口解决方案 ...

  • 2020-10-08

    [译] 《Linux 高级路由与流量控制手册(2012)》第九章:用 tc qdisc 管理 Linux 网络带宽

    译者序本文内容来自 Linux Advanced Routing & Traffic Control HOWTO (2012) ,这是一份在线文档(小书),直译为《Linux 高级路由与流量控制手册》。本文翻译第九章 Chapter 9. Queueing Disciplines for Bandwidth Management。这份文档年代略久,但 qdisc 部分整体并未过时,并且是我目前看过的内容最详实、可读性最好的 tc qdisc 教程。另外,看到 [1,2] 中几张 qdisc 图画的非常不错,形象直观,易于...