2014年(15)
发布时间:2014-03-16 12:24:43
分析网络协议栈的代码,如果不看驱动代码的话,总是感觉没有完全落到实处。由于手头上只有rtl8169的网卡设备,为了方便调试和分析,因此选择该款设备对应的驱动进行分析:r8169.ko,内核代码还是基于3.1.3对于协议栈而言:1)发包的最后步骤为调用驱动注册的ndo_start_xmit钩子函数,具体如何实现由驱动完成2)收包由中.........【阅读全文】
发布时间:2014-03-01 16:30:48
IP头限制一个包最大为64K,但是实际上一般没法一次发送这么大的包,以太网一般有MTU限制一次发包的大小MTU一般为1500字节。因此发包过程涉及packet ?fragmentation,该流程在L3层完成TCP把类似的操作提到了L4层,引入了MSS的概念,这个一般是根据MTU生成的。随着网卡速度的提升,网络收发包会占用大量cpu,为了尽量.........【阅读全文】
发布时间:2014-02-09 16:55:57
先看一下socket系统调用涉及的相关流程:int socket(int domain, int type, int protocol);domain指定协议族,protocol family,如:/* Supported address families. */#define AF_UNSPEC 0#define AF_UNIX &.........【阅读全文】