Switch-Router

Recent Posts

  • 2022-04-11

    VPP: NAT

    本系列文章仅为学习使用 VPP 过程中的一些自用笔记VPP 的 NAT 功能是针对网关设备设计的VPP 的 NAT 功能是针对网关设备设计的, 它的其中一端连接 local 网络(这一侧的接口称为 inside 口),另一端连接 external (这一个侧的接口称为 outside 口)。根据报文的方向,流量可分为左图中的 in2out 和右图中的 out2in ,in2out 做 SNAT, out2in 做 DNATVPP NAT 的位置VPP 中 SNAT 和 DNAT 的位置...

  • 2022-04-11

    VPP: fifo-segment

    本系列文章仅为学习使用 VPP 过程中的一些自用笔记VPP 中的 fifo 是什么在 VPP/VCL HostStack 模型中,fifo 是作为连接(session)的发送缓冲区和接收缓冲区存在的.发送方向,应用通过 VCL 将数据塞入txfifo, VPP 从 txfifo 中读取;接收方向,VPP 将收到报文塞入连接的 rxfifo, 应用通过 rxfifo 读取数据.fifo 本质上是一段VPP进程和APP进程都可以访问的共享内存,并且,它总是以 fifo pair 的形式成对...

  • 2022-04-11

    VPP: FIB

    本系列文章仅为学习使用 VPP 过程中的一些自用笔记FIB 介绍维基百科是这样描述 FIB 的: A forwarding information base (FIB), also known as a forwarding table or MAC table, is most commonly used in network bridging, routing, and similar functions to find the proper output network int...

  • 2022-04-07

    SMC-R 加速 TCP

    Shared Memory Communication over RDMA (SMC-R) 是一项基于 RDMA 技术的内核态网络协议,目标是在应用无感知的状态下,提升 TCP 应用网络性能(实现更高带宽和更低时延)。SMC-R 协议(RFC7609)由 IBM 首先提出,现已合入 Linux 社区, 且还在不断的演进…高吞吐和低时延的网络是数据面不懈追求. 而近年来越发火热的 RDMA 成为了许多人眼中实现这一目标的利剑.加速的本质关于 RDMA 的基本原理, 互联网上已经有不少资料...

  • 2022-03-15

    从 UDP bind 的一次优化谈起

    事情的起因是在查找关于IP_BIND_ADDRESS_NO_PORT选项的来历, 往前翻 patch 记录时找到了udp: bind() optimisation这个commit.本文正是关于这个patch的一些理解和思考.这个patch解决什么问题呢? 这里引用 commit msg 原文: UDP bind() can be O(N^2) in some pathological cases.Thanks to secondary hash tables, we can make i...