IP选项介绍
IP首部中有4bit用于表示首部长度,其单位是4个字节,所以,IP首部的最大长度是15*4=60字节(4bit最大可以表示到15),而IP固定首部的长度是20字节,所以一个IP首部最大允许有40字节长度的选项。
IP选项有两种格式 单字节和多字节
对于多字节选项,其长度有length字段标识,另外其Optiondata并不是从32bit的边界开始的。
Length...
分类:
系统相关 时间:
2015-05-14 18:48:24
阅读次数:
283
报文传输,指的是报文离开本机,发往其他系统的过程。
传输可以由L4层协议发起,也可以由报文转发发起。
在深入理解Linux网络技术内幕——IPv4 报文的接收(转发与本地传递)一文中,我们可以看到,报文转发最后会调用dst_output与邻居子系统进行交互,然后传给设备驱动程序。 这里,我们从L4层协议发起的传输,最后也会经历这一过程(调用dst_output)。本文讨论的是L4层协议发起的传...
分类:
系统相关 时间:
2015-05-14 16:35:34
阅读次数:
511
我们知道,报文经过网卡驱动处理后,调用net_receive_skb传递给具体的协议处理函数,对于IPv4报文来说,其协议处理函数就是ip_rcv了,ip_rcv在进行一些健康检查等操作后,会调用ip_rcv_finish来处理报文。这也是IPv4协议对报文接收处理的开始。
我们先看下ip_rcv_finish源代码:
本地传递
转发
报文转发有下面几个步骤完成:
1. 处理IP选项
2. 确定封包可以被转发
3.递减封包头部的TTL字段,如果TTL字段为0,则丢弃该封包
4.根据路径相关MTU,在必要...
分类:
系统相关 时间:
2015-05-14 10:03:41
阅读次数:
222
我们可以大致看出数据在IPv4协议中的流向,
接收报文
设备驱动处理完硬件介绍到的数据后,IPv4协议的ip_rcv函数(net_receive_skb调用)得到了属于IPv4的报文,接着调用ip_rcv_finish对报文进行分析。判断是该转发还是交付本地上层协议。
如果是本地报文,则传给ip_local_deliver处理,如果是转发,那就交付ip_forward进行转发处理。
发送报文
对于接收到的属于转发的报文(来自ip_forward_finish)以及L4层传下来的报文,需要进行分析后传给...
分类:
系统相关 时间:
2015-05-13 16:48:26
阅读次数:
166
还有一个《Sqlserver2008技术内幕》的笔记,也很好!~http://www.cnblogs.com/liupeng61624/p/4354983.html温习一遍简单的sql语法,把自己掌握还不够的地方,做了些笔记....1 去重复关键词,distinct select distinct ...
分类:
数据库 时间:
2015-04-29 15:00:57
阅读次数:
138
分析源码是学习一项技术内幕最有效的手段。由于正常的引入JAr包源码没法进行对源码打断点,想要深入了解源码不方便。下面就开始介绍源码调试的步骤。1.在eclipse新建一个JAVA项目compare_javac2.将JAVAhome中src.zip解压并将解压的包src内的源代码复制到compare_...
分类:
系统相关 时间:
2015-04-28 01:46:32
阅读次数:
218
COM——到底是什么?——COM标准的要点介绍,它被设计用来解决什么问题?基本元素的定义——COM术语以及这些术语的含义。使用和处理COM对象——如何创建、使用和销毁COM对象。基本接口——描述IUnknown基本接口及其方法。 掌握串的处理——在COM代码中如何处理串。应用COM技术——例子代码,举例说明本文所讨论的所有概念。 处理HRESULT——HRESULT类型描述,如何监测错误及成功代码...
分类:
其他好文 时间:
2015-04-25 18:26:58
阅读次数:
135
JOIN表运算符对两个输入表进行操作。联接有三种基本类型:交叉联接、内联接和外联接。这三种联接的区别是它们采用的逻辑查询处理步骤各不相同,每种联接都有一套不同的步骤。交叉联接只有一个步骤----笛卡尔积;内联接有两个步骤----笛卡尔积、过滤;外联接有三个步骤----笛卡尔积、过滤、添加外部行。3....
分类:
数据库 时间:
2015-04-23 23:27:27
阅读次数:
231
一.mysql体系结构和存储引擎
1.1、数据库和实例的区别
数据库:物理操作系统或其他形式文件类型的集合。在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件。
数据库实例:由数据库后台进程/线程以及一个共享内存区组成。数据库实例才是真正用来操作数据库文件的。
mysql数据库是单进程多线程的程序,与sql s...
分类:
数据库 时间:
2015-04-17 20:33:03
阅读次数:
219
MySql存储引擎MySql数据库有很多种存储引擎,不同的引擎特点不同,有各自的优点。最近在看MySQL技术内幕,刚好做下笔记。InnoDB存储引擎这个是自从MySQL 5.5.8版本后的默认存储引擎,也是我平时使用的搜索引擎。支持事务操作,主要面向联机事务处理的应用,特点是行锁设计,支持外键,也支持类似Oracle的非锁定读这种默认读取操作不会产生锁。通过使用版本控制来获得高并发并且实现了SQL标...
分类:
数据库 时间:
2015-04-13 20:54:36
阅读次数:
116