自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

collide的专栏

http://202.113.13.41/stu_staff/douzhibin/index.htm

  • 博客(17)
  • 资源 (4)
  • 收藏
  • 关注

原创 ip包的接收过程概要

接收过程:        从网络上到来的数据,通过网卡接收,此时网卡会向系统发出中断,告诉系统处理。系统得知数据到来时,在中断处理中把数据从网卡的缓存中读到内存中交由链路层处理,链路层把数据放到自己的backlog对列中,然后把bh_base中的network flag置位,就是利用bottom half机制。        当进程调度器(process schduler)看到network fl

2004-09-30 17:10:00 1538

原创 ip包的发送概要

  发送数据:         应用程序要发送的数据通过调用系统调用把数据传递给socket。socket检查连接的类型以便呼叫合适的send函数(一般是INET)。send函数检查socket的状态,以及协议的类型,然后把数据传递给传输层的函数(通常是tcp或udp)。传输层的协议为这些数据创建一个sk_buffer类型的skb,把数据拷贝到skb中,并在skb中加入传输层协议的头部(例如端口号

2004-09-30 16:31:00 1295

原创 IP分片重组的分析和常见碎片攻击 v0.2

标题:IP分片重组的分析和常见碎片攻击 v0.2作者:yawl@nsfocus.com主页: www.nsfocus.com时间:v0.1:2000/07; v0.2:2000/09一前言本文对linux的IP组装算法进行了分析,因为IP碎片经常用于DOS等攻击,在文章后面我结合了一些攻击方法进行了更进一步的说明。内核主要参考版本是2.2.16,另外简要的

2004-09-29 21:15:00 3695

原创 ip包的接受/发送/转发

Receiving IP PacketsAt boot time, the network drivers are built into the kernel and initialized. This results in a series of device data structures linked together in the dev_base list.Each device d

2004-09-29 10:53:00 1894

原创 linux 的计时器机制,补充

        任何的cpu如果要支持操作系统的话,必须有一个可编程的内部计时器,周期性的给系统发出定时器中断,这种周期性的定时器中断叫做system clock tick,linux对时间管理是通过使用jiffies为单位的,这是一个内核中的全局变量,每次定时器中断到来它的值自增1。        linux有两种类型的系统计时器,        第一种,也是比较旧的方案,是一个含有32个指向t

2004-09-29 10:29:00 1770

原创 Linux Bottome Half Handler 机制详细解析

Interrupts Handling Interrupts are used to allow the hardware to communicate with the operating system. Here, a brief explanation of the principles governing the execution of an interrupt is given

2004-09-29 09:20:00 1784

原创 sk_buff祥解

Socket Buffers - sk_buff One of the problems of having many layers of network protocols, each one using the services of another, is that each protocol needs to add protocol headers and tails to da

2004-09-29 08:55:00 4245

原创 linux 设备驱动程序 时间流 之 延迟执行 -2

关于短延迟:延迟通过使用jiffies达不到目的,只能使用内核函数:udelay(unsigned long usecs);mdelay(unsigned long msecs);前者用软件循环指定的微妙数,后者调用前者达到延迟毫秒级。udelay函数只能用于获取较短的时间延迟,因为loops_per_second值的精度只有8位,所以,当计算更长的延迟时会积累出相当大的误差。尽管最大能允许的延迟

2004-09-27 22:17:00 4276 1

原创 linux 设备驱动程序 时间流 之 延迟执行 -1

一:自己通过循环实现:   a) j = jiffies + jit_delay * HZ;          while( jiffes                 /* nothing */;  // 忙,不允许调度器调度    缺点:如果在代码执行前,关了时钟中断的话,则jiffes不会得到更新,死循环的啊!而且增大了系统的负荷,任何其他程序得不到调度。    b)   j = jiff

2004-09-27 20:52:00 1492

原创 linux 设备驱动程序 时间流 之 延迟执行 --转载

3  延迟执行 设备驱动程序经常需要将某些特定代码延迟一段时间后执行――通常是为了让硬件能完成某些任务。这一节将介绍许多实现延迟的不同技术,哪种技术最好取决于实际环境中的具体情况。我们将介绍所有的这些技术并指出各自的优缺点。 一件需要考虑的很重要的事情是所需的延迟长度是否多于一个时钟滴答。较长的延迟可以利用系统时钟;较短的延迟通常必须通过软件循环来获得。 6.3.1  长延迟 如果想把执行延迟若干

2004-09-27 20:46:00 4451

原创 linux 设备驱动程序 时间流 总结

第 6 章  时间流至此,我们基本知道怎样编写一个功能完整的字符模块了。现实中的设备驱动程序,除了实现必需的操作外还要做更多工作,如计时、内存管理,硬件访问等等。幸好,内核中提供的许多机制可以简化驱动程序开发者的工作,我们将在后面几章陆续讨论驱动程序可以访问的一些内核资源。本章,我们先来看看内核代码是如何对时间问题进行处理的。按复杂程度递增排列,该问题包括: 理解内核时间机制 如何

2004-09-27 20:16:00 3340

原创 网络包的接收过程

1) 网卡设备驱动程序将硬件中断中接收到数据帧存入sk_buff结构, 然后检查硬件帧头,识别帧类型, 放入接收队列, 激活接收软中断作进一步处理. 接收软中断(net_rx_action)提取接收包,根据它所在的设备和协议类型传递给各自的包处理器. 包处理器用dev_add_pack()注册,如果注册的设备号是零则表明它接收所有设备的包, 如果注册的包类型是(ETH_P_ALL), 则表示它接收

2004-09-26 19:23:00 4260

原创 Linux的硬件地址解析过程

1) 在网络接口设备的硬件层之间能够直接进行包交换的设备构成了一个局域网,局域网中的每一设备具有唯一的硬件地址. 对TCPIP协议来说, 局域网中的每一设备又具有唯一的IP地址.当IP包要从某一设备发向局域网中具有另一IP地址的设备时, 信源设备必须获得信宿设备的硬件地址,这就需要硬件地址解析.arp协议是根据设备的IP地址获取其硬件地址的方法.信源设备向局域网广播自已地址解析请求, 局域网中其余

2004-09-26 11:07:00 3861 3

原创 路由缓冲表的基本结构

1) 在Linux内核中, 将IP包的路由称为"目的入口"(dst_entry),目的入口反映了相邻的外部主机在主机内部的一种"映象", IP包首先注入到目的入口中, 经过一系列IP包过滤器,最后注入到目的入口的帧头缓冲入口或邻居入口, 通过ARP缓冲创建硬件帧头后发送到设备驱动程序上.2) 路由缓冲表就是IP路由入口表, 它是转发表路由规则的实例化. 在查询IP路由时,系统先在路由缓冲表中查询,

2004-09-26 09:45:00 2015

原创 Linux内核2.4.x的网络接口源码的结构

  一.前言  Linux的源码里,网络接口的实现部份是非常值得一读的,通过读源码,不仅对网络协议会有更深的了解,也有助于在网络编程的时候,对应用函数有更精确的了解和把握。  本文把重点放在网络接口程序的总体结构上,希望能作为读源码时一些指导性的文字。  本文以Linux2.4.16内核作为讲解的对象,内核源码可以在http://www.kernel.org上下载。我读源码时参考的是http://

2004-09-25 18:15:00 2493

原创 走进linux内核-1

一:Linux内核的组织形式为整体式结构,即整个Linux内核由很多的过程组成,每个过程都可以单独编译,然后用连接程序将其与其它的过程连接在一起,组成一个单一的目标程序。这种结构的特点是效率较高,每个过程对其它过程是可见的。二:Linux的进程调度方式简单有效,用户进程采用的是简单的动态优先级调度方式,而unix采用的是多级反馈调度方式。对于内核中的例程,采用bottom half handl

2004-09-22 10:44:00 1343

原创 读书笔记之-unix操作系统设计---Demand Paging

今天讲讲Demand Paging,以前的UNIX操作系统在PDP-11上使用的是Swapping,而不是Demand Paging,这是因为Demang Paging需要硬件的支持(restartable instructions )和操作系统的支持。现在的操作系统,如bsd unix使用的是Demand Paging,原理是程序访问的局部性,因此经常访问的页面组成一个集合,叫做

2004-09-21 10:18:00 5418 1

understanding linux network internals

英文版的,关于理解linux network实现原理的书~~~

2008-09-26

pyMsgComm python 消息库 框架

This project is wrote in Python. Its main purpose is to facilitate client-server communication via given protocol such as tcp or udp etc. It provides a framework to facilitate writing client-server communication. You can just implement your client-server communication protocol by simply inheriting some well-defined classes. Now, the client-side codes are finished, but server-side is not. I hope some people who are interested in this project could take charge of it.

2008-09-11

java swing

java swing pdf 电子书<br>很好的参考资料。

2008-06-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除