摘要:
使用CloudXNS已经有两年了,趁着他们现在做活动的机会也发表一下这两年来使用感受与CloudXNS的变化,也对我学习使用的一次总结。简介 CloudXNS是北京快网开发的一套授权DNS系统, 用来对自己申请到域名进行托管、解析、授权服务。当时正好自己学到DNS协议部分,想申请一个域... 阅读全文
摘要:
Table of Contents1 术语1.1 ABC1.2 SACK1.3 D-SACK1.4 F-RTO1.5 nagle算法1.6 cork算法1.7 template2 tcp_v4_connect()3 sys_accept()3.1 tcp_accept()4 三次握手4.1 客户端发送SYN段4.2 服务端接收到SYN段后,发送SYN/ACK处理4.3 客户端回复确认ACK段4.3... 阅读全文
摘要:
Table of Contents1 术语1.1 ABC1.2 SACK1.3 D-SACK1.4 FACK1.5 F-RTO1.6 nagle算法1.7 cork算法1.8 template2 tcp_v4_connect()3 sys_accept()3.1 tcp_accept()4 三次握手4.1 客户端发送SYN段4.2 服务端接收到SYN段后,发送SYN/ACK处理4.3 客户端回复确... 阅读全文
摘要:
Table of Contents1 概述1.1 帧接收的中断处理2 设备的开启与关闭3 队列4 通知内核帧已接收:NAPI和netif_rx4.1 NAPI简介4.1.1 NAPI优点4.2 NAPI所用之net_device字段4.3 net_rx_action软中断处理函数和NAPI4.4 新旧驱动程序接口概述帧接收的中断处理把帧拷贝到sk_buff数据结构。对一些sk_buff参数做初始化... 阅读全文
摘要:
Table of Contents1 接收到帧时通知驱动程序1.1 轮询1.2 中断2 中断处理程序3 抢占功能4 下半部函数4.1 内核2.4版本以后的下半部函数: 引入软IRQ5 网络代码如何使用软IRQ6 softnet_data结构接收到帧时通知驱动程序轮询 例如,内核可以持续读取设备上的一个内存寄存器,或者当一个定时器到期时就回头检查哪个寄存器。中断 此时,当特定事件发生时,设备... 阅读全文
摘要:
Table of Contents1 设备注册之时2 设备除名之时3 分配net_device结构4 NIC注册和除名架构4.1 注册4.2 除名5 设备初始化6 设备类型初始化: xxx_setup函数7 net_device结构的组织8 查询9 设备状态10 注册状态11 设备的注册和除名12 设备注册状态通知13 netdev_chain通知链14 RTnetlink链接通知15 设备注册1... 阅读全文
摘要:
Table of Contents1 引导期间的内核选项2 注册关键字3 模块初始化代码引导期间的内核选项 linux运行用户把内核配置选项传给引导记录,然后引导记录再把选项传给内核。 在引导阶段,对parse_args调用两次,负责引导期间配置输入数据。注册关键字 内核组件可以利用定义在include/linux/init.h中的__setup宏, 注册关键字和相关联的处理函数。以下是其语... 阅读全文
摘要:
Table of Contents1 概论1.1 procfs (/proc 文件系统)1.1.1 编程接口1.2 sysctl (/proc/sys目录)1.2.1 编程接口1.3 sysfs (/sys 文件系统)1.4 ioctl 系统调用1.5 netlink 套接字概论procfs (/proc 文件系统)允许内核以文件的形式向用户空间输出内部信息。可以通过cat, more和> she... 阅读全文
摘要:
Table of Contents1 简介2 系统初始化概论2.1 引导期间选项2.2 中断和定时器2.3 初始化函数3 设备注册和初始化3.1 硬件初始化3.2 软件初始化3.3 功能初始化4 NIC初始化的基本目标5 IRQ线6 I/O端口和内存注册7 硬件中断7.1 注册中断7.2 解除中断8 模块选项9 设备处理层初始化10 动态加载设备/设备驱动简介 如果要使一个网络设备可用,它就... 阅读全文
摘要:
Table of Contents1 本章涉及的数据结构1.1 pci_device_id结构1.2 pci_dev结构1.3 pci_driver结构2 PCI NIC设备驱动程序的注册2.1 注册2.2 解除3 电源管理与网络唤醒本章涉及的数据结构pci_device_id结构1: struct pci_device_id {2: __u32 vendor, device; ... 阅读全文