协议栈

大耗子 2020年06月30日 243次浏览

协议栈是什么?

根据分层思想,每一层都有对应的协议,从而形成了一个协议家族,也称之为协议栈。协议栈解析完的数据也就是应用数据,也就是recv等函数直接得到的数据。

网络模型为什么有些地方说7层,有些地方说5层?

7层是放在学术上说的,而在实际开发中,完全不需要7层。
应用层,表示层,会话层都是程序员实现的,大家写的标准各种各样,干脆直接合并为了应用层一层。

协议栈的栈如何理解?

在包装协议的时候,最先包装的,解包的时候最后解,符合先进后出的思想,所以称之为栈。

网卡的数据如何传输给协议栈

通过sk_buff进行输入。

sk_buff(socket buffer)结构是linux网络代码中重要的数据结构,它管理和控制接收或发送数据包的信息。

用户态协议栈的框架

  • netmap
  • DPDK
  • pr_ring