自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhangskd的专栏

鱼跃此时海,花开彼岸天

  • 博客(5)
  • 收藏
  • 关注

原创 数据包接收系列 — NAPI的原理和实现

本文主要内容:简单分析NAPI的原理和实现。内核版本:2.6.37Author:zhangskd @ csdn 概述 NAPI是linux新的网卡数据处理API,据说是由于找不到更好的名字,所以就叫NAPI(New API),在2.5之后引入。简单来说,NAPI是综合中断方式与轮询方式的技术。中断的好处是响应及时,如果数据量较小,则不会占用太多的CPU事件;缺点是数

2014-03-27 17:14:40 32722 7

原创 数据包接收系列 — 下半部实现(软中断)

本文主要内容:下半部的实现,分析数据包从上半部结束后到L3的处理过程。内核版本:2.6.37Author:zhangskd @ csdn blog 下半部的实现 接收数据包的下半部处理流程为:net_rx_action // 软中断    |--> process_backlog() // 默认poll               |--> __netif_re

2014-03-27 17:06:12 11874 1

原创 数据包接收系列 — 上半部实现(内核接口)

本文主要内容:网络数据包接收的上半部实现,主要分析内核接口相关部分。内核版本:2.6.37Author:zhangskd @ csdn blog 上半部的实现 接收数据包的上半部处理流程为:el_interrupt() // 网卡驱动    |--> el_receive() // 网卡驱动                |--> netif_rx() // 内

2014-03-27 16:50:52 14970 3

原创 数据包接收系列 — 上半部实现(网卡驱动)

本文主要内容:网络数据包接收的上半部实现,主要分析网卡驱动相关部分。内核版本:2.6.37Author:zhangskd @ csdn blog 网卡概述 (1) 网卡收包网线上的物理帧首先被网卡芯片获取,网卡芯片会检查物理帧的CRC,保证完整性。然后网卡芯片将物理帧头去掉,得到MAC包。网卡芯片会检查MAC包内的目的MAC地址,如果和本网卡的MAC地址不一样则

2014-03-27 16:40:06 11945 1

原创 硬中断和软中断

本文主要内容:硬中断 / 软中断的原理和实现内核版本:2.6.37Author:zhangskd @ csdn blog 概述 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚。处理器于是立即停止自己正在做的事,跳到中断处理程序的入口点,进行

2014-03-27 16:21:59 114015 12

空空如也

空空如也

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

TA关注的人

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