-
Linux内核分析 - 网络[十四]:IP选项
所属栏目:[Linux] 日期:2016-10-06 热度:149
副标题#e# 内核版本:2.6.34 在发送报文时,可以调用函数setsockopt()来设置相应的选项,本文主要分析IP选项的生成,发送以及 接收所执行的流程,选取了LSRR为例子进行说明,主要分为选项的生成、选项的转发、选项的接收三部分。 先看一个源站路 由选项的例[详细]
-
Linux内核分析 - 网络[十六]:TCP三次握手
所属栏目:[Linux] 日期:2016-10-06 热度:129
副标题#e# 内核:2.6.34 TCP是应用最广泛的传输层协议,其提供了面向连接的、可靠的字节流服务,但 也正是因为这些特性,使得TCP较之UDP异常复杂,还是分两部分[创建与使用]来进行分析。这篇主要包括TCP的创建及三次握手 的过程。 编程时一般用如下语句创建[详细]
-
Linux内核实践 - 如何添加网络协议[一]:目的
所属栏目:[Linux] 日期:2016-10-06 热度:124
本文只是一个内核网络协议的实践的例子,先说明添加的目的,下篇开始具体的实现。 内核版本:2.6.34;在支持802.1主机上,报文的一般格式: 现在需要支持一种新的协议[二层] BRCM协议,与IP等协议不同,它位于2层,拥有6字节的头部和4字节的尾部 ,添加的[详细]
-
Linux内核实践 - 如何添加网络协议[二]:实现
所属栏目:[Linux] 日期:2016-10-06 热度:72
副标题#e# 内核版本:2.6.34 实现思路: 报文在网络协议栈中的流动,对于接收来讲,是 对报文的脱壳的过程,由于报文是已知的输入,只要逐个解析协议号;对于发送来讲,是各层发送函数的嵌套调用,由于没有已 知的输入,只能按事先设计好的协议进行层层构造[详细]