skb结构以及TSO/GSO/frags
内核 skb/sk_buff 详解 - Andy的文章 - 知乎
https://zhuanlan.zhihu.com/p/626514905
讲的很好
ebpf 内核函数API
https://www.man7.org/linux/man-pages/man7/bpf-helpers.7.html
overlay traffic and once for underlay traffic的区别和联系,在tunnel的场景下
在隧道场景下,overlay traffic和underlay traffic是两个相关但独立的概念。
Overlay traffic(覆盖网络流量)指的是在网络通信中,使用隧道技术将原始数据包封装在额外的封装层中传输的流量。这种封装层通常在源主机和目标主机之间建立一个虚拟网络。在这个虚拟网络中,数据包通过隧道传输,其原始的源和目标地址被封装在隧道报头中,然后在底层网络(underlay network)上传输。这样,源主机和目标主机之间的通信可以独立于底层网络的路由和拓扑结构。
Underlay traffic(底层网络流量)指的是在底层网络中传输的原始网络流量,即未经过任何隧道封装的数据包。它是底层网络中实际的包,根据底层网络的拓扑和路由规则,直接从源主机传输到目标主机。
在一个隧道场景下,overlay traffic和underlay traffic之间存在联系和区别。Overlay traffic通过使用隧道技术,将原始的underlay traffic封装在隧道报头中,并在底层网络传输。从源主机到目标主机的路径将取决于隧道虚拟网络的配置。封装后的overlay traffic在到达目标主机时会被解封装,还原为原始的underlay traffic。
总结起来,overlay traffic是在隧道中封装和传输的数据流量,而underlay traffic是底层网络中实际进行传输的原始数据流量。overlay traffic通过隧道将underlay traffic在源和目标主机之间进行传输,使得通信可以独立于底层网络的限制和路由规则。