在堆栈TCP / IP中处理数据时会发生多少复制和读取操作?

时间:2015-01-24 15:37:34

标签: sockets networking tcp linux-kernel tcp-ip

众所周知,TCP / IP中的典型数据包处理不是zero-copy。这意味着除了一个以太网卡之外 - >在CPU-RAM中,存在复制的附加操作:帧,分组或其部分。 堆栈TCP / IP包括5层:物理,数据链路,网络,传输,应用

enter image description here

  • 前两层(物理,数据链路)至少具有 1副本:以太网卡 - > CPU-RAM(内核空间中的缓冲区)。
  • 接下来的两个层(网络,传输)至少有 1个拷贝(内核空间缓冲区 - >用户空间套接字缓冲区)和 1个读取(计算校验和。)
  • 我们不考虑延迟(应用程序)层,因为总有开发者自己控制复制量

在TCP和TCP的堆栈TCP / IP中处理数据时,复制和读取的总操作量是多少?

TCP / IP比零拷贝RDMA(SDP / uDAPL)慢多少次,即它生成多少额外软件的次数?

0 个答案:

没有答案