- 博客(8)
- 收藏
- 关注
转载 回显请求与应答
回显请求与回显应答是两种icmp报文类型,类型号分别是8和0,这两种类型下都只有一种代码0。这两种icmp报文属查询报文,主要用于测试网络中另一台主机是否可达,向欲测试主机发送一份ICMP回显请求,并等待返回ICMP回显应答,如果能收到,表明该主机可达。这也是网络工具ping程序的实现原理,下面通过ping程序的实现来分析这两种icmp报文的实现原理。 建立ping程序,首先要
2008-09-18 15:26:00
8355
转载 Linux TCP/IP协议栈之Socket的实现分析(UDP篇)
一、udp层的数据接收udp层的数据接收,对于socket而言,就是接收队列的入队操作。在ip层中,如果是本地数据,则会交由ip_local_deliver_finish()函数处理,它会根据传输层协议的类型,交由相应的处理函数,对于udp协议而言,就是udp_rcv():[code]/* * All we need to do is get the socket,
2008-09-18 14:00:00
3029
转载 网络处理的软中断机制分析
内核默认软中断机制分析(process_backlog)首先需要介绍的就是netif_rx(在net/core/dev.c中定义)函数,这个函数在网卡驱动程序与linux内核之间建立了一道桥梁,将网卡接收上来的数据包(sk_buff形式)插入内核维护的接收缓冲区队列当中:int netif_rx(struct sk_buff *skb){ int this_cpu =
2008-09-05 19:19:00
960
转载 能ping别人,但别人ping 不到
/* * File : li_filter.c writen by kunlong * Kernel : 2.2.16 or 2.2.14 or 2.4.2 * Complie : gcc -O3 -c li_filter.c * Usage : insmod li_filter.o -f * Date : 2001-06-28 */ #ifndef __KERNEL__ #define __KE
2008-08-26 14:23:00
1257
转载 工作队列分析
一、用法struct cpu_workqueue_struct { spinlock_t lock; long remove_sequence; /* Least-recently added (next to run) */ long insert_sequence; /* Next to add */ struc
2008-07-25 13:22:00
675
1
转载 Linux2.6内核进程创建过程分析
Fork的系统调用代码在linux/arch/i386/kernel/process.c中:asmlinkage int sys_fork(struct pt_regs regs){ return do_fork(SIGCHLD, regs.esp, ®s, 0, NULL, NULL);}Sys_fork系统调用通过 do_fork()函数实现,通过对do_fo
2008-07-25 11:20:00
649
1
转载 关于内核线程(kernel_thread)
我们知道Linux内核使用内核线程来将内核分成几个功能模块, 像kswapd,kflushd等,系统中的init进程也是由idle进程调用 kernel_thread()来实现产生的. 我们先来看看内核线程的实现,再来分析内核线程的性质. int kernel_thread(int(*fn)(void*arg),void *arg,int flags) { long retval,d0; /*
2008-07-25 10:35:00
833
转载 Linux 内核中断内幕
什么是中断 Linux 内核需要对连接到计算机上的所有硬件设备进行管理,毫无疑问这是它的份内事。如果要管理这些设备,首先得和它们互相通信才行,一般有两种方案可实现这种功能: 轮询(polling) 让内核定期对设备的状态进行查询,然后做出相应的处理; 中断(i
2008-07-25 10:25:00
522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人