Chinaunix首页 | 论坛 | 博客
  • 博客访问: 508677
  • 博文数量: 118
  • 博客积分: 2575
  • 博客等级: 大尉
  • 技术积分: 1263
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-27 09:37
文章分类

全部博文(118)

文章存档

2017年(11)

2016年(8)

2015年(1)

2014年(9)

2013年(7)

2012年(38)

2011年(14)

2010年(18)

2009年(12)

分类: BSD

2012-02-06 15:39:30

在RFC1323中关于使用timestamp选项达到PAWS功能中,存在着一个可能的问题:防止PAWS的机制,多多少少自身也容易受到wraparound的攻击(也可以说成溢出,与wraparound说的是一个意思,但wraparound应该准确,实际上并不是一个32位的数值达到0xFFFFFFFF之后,下一个变成了0,而是一个数A,另外一个数B,并且初始情况下B>A,但是当不停地给B加1的时候,突然之间,B
系统由于受到一些限制,对于定时器及其它一些类似的操作,为了避免受到用户修改(或者NTP之类的协议)的影响,总是选择一个不是日历时间的机制来衡量。大多数系统选择了tick这样一个工具,而32系统的tick却很容易wraparound(hz这1000的系统,将在24.8天之后wraparound,普遍采用的hz为100的系统,则会在248天之后也wraparound了,这虽然听起来象是一个很长的时间,但是对于一些电信级的产品,轻松就容易跨过这个坎)。用于防止timestamp的机制刚好也是这样,包括vxworks与BSD系统都存在这样的问题,所以在这样的系统上,用于防止timestamp的wraparound的机制同样可能wraparound。

这真是件让人心烦的事情。
阅读(3381) | 评论(6) | 转发(1) |
0

上一篇:IIC笔记(1)

下一篇:生活不是GDT

给主人留下些什么吧!~~

我是一粒糖2012-02-21 22:07:26

areece: 所谓日历时间就是年月日时分秒,系统不能根据这个时间来作为定时器的基准,因为日历时间会被修改。不能因为修改了系统时间(比如向前调整4分钟,而让一个本计划.....
额额……明白了,不过其实那样也没什么啊~

我是一粒糖2012-02-21 22:07:23

areece: 所谓日历时间就是年月日时分秒,系统不能根据这个时间来作为定时器的基准,因为日历时间会被修改。不能因为修改了系统时间(比如向前调整4分钟,而让一个本计划.....
额额……明白了,不过其实那样也没什么啊~

areece2012-02-07 17:28:48

我是一粒糖: 总是选择一个不是日历时间的机制来衡量?不懂( ⊙o⊙ )哇.....
所谓日历时间就是年月日时分秒,系统不能根据这个时间来作为定时器的基准,因为日历时间会被修改。不能因为修改了系统时间(比如向前调整4分钟,而让一个本计划4分钟之后运行的事件提前发生)。

howell82012-02-07 08:33:36

[url=http://www.cnxw.cn/bage/][color=#ddd八哥[/color][/url]

howell82012-02-07 08:32:56

[url=http://www.cnxw.cn/bage/][color=#d9d8d8]八哥[/color][/url]