标签:程序 direct art 多少 效率 public 部分 通过 重点
就TCP/IP而言,IP和TCP的报文结构并不是最重要的,但是很多文章都在讨论他们,就体系而言,最重要的应该是各栈的流转流程。如果应用的话,重点应该在4次挥手(tcp的三次握手与四次挥手及为什么面试官喜欢问这个问题)及粘包和拆包及滑动窗口等。下面简单看下整体的收发过程。
注:Socket是提供给用户访问的TCP层接口
网卡需要有驱动才能工作,驱动是加载到内核中的模块,负责衔接网卡和内核的网络模块,驱动在加载的时候将自己注册进网络模块,当相应的网卡收到数据包时,网络模块会调用相应的驱动程序处理数据。
下图展示了数据包(packet)如何进入内存,并被内核的网络模块开始处理:
软中断会触发内核网络模块中的软中断处理函数,后续流程如下:
enqueue_to_backlog函数也会被netif_rx函数调用,而netif_rx正是lo设备发送数据包时调用的函数
参见:https://segmentfault.com/a/1190000008836467
http://www.ece.virginia.edu/mv/research/DOE09/publications/TCPlinux.pdf
标签:程序 direct art 多少 效率 public 部分 通过 重点
原文地址:https://www.cnblogs.com/zhjh256/p/12227883.html