浅析Linux网络子系统(三)

继续分享陈铁飞老师在华为北研所讲座时的讲稿。这次内容有Qos子系统、默认排队规则、网络设备驱动程序和驱动实例。最后陈老师为大家推荐了基本参考书籍以供参考。

Linux网络子系统系列课程连接:

本文最后会提供完整的下载版。

Qos子系统的简要介绍

默认排队规则

设备无关层的输入流程图

网络设备驱动程序的介绍

一个具体的设备驱动实例

一个具体的设备驱动示例

AF_PACKET协议族的简要介绍

数据包的截获流程图

网络子系统更多内容提要,推荐参考书籍

一些网络编程问题诊断实例

陈老师从宏观的角度分析了Qos子系统、默认排队规则、网络设备驱动程序和一个驱动实例。至此,我们可以以一个较为宏观的视角看Linux的网络子系统了。

原文地址:https://www.cnblogs.com/fire909090/p/8494411.html

时间: 2024-08-04 11:33:30

浅析Linux网络子系统(三)的相关文章

Linux网络(三)

一.Linux作业和优先级二.ICMP和ftp相关命令三.traceroute四.tcpdump 一.Linux作业和优先级nice job fg bg nohup renice job:    前台作业(foreground):通过终端启动,且启动后会一直占据终端    后台作业(background):可以通过终端启动,但启动后即转入后台运行(释放终端)        例如htop不支持放在后台,只能放在前台 //httpd只能放在后台    1.如何让作业运行于后台?    1.运行中的作

Linux时间子系统(三) 用户空间接口函数

一.前言 从应用程序的角度看,内核需要提供的和时间相关的服务有三种: 1.和系统时间相关的服务.例如,在向数据库写入一条记录的时候,需要记录操作时间(何年何月何日何时). 2.让进程睡眠一段时间 3.和timer相关的服务.在一段指定的时间过去后,kernel要alert用户进程 本文主要描述和时间子系统相关的用户空间接口函数知识. 二.和系统时间相关的服务 1.秒级别的时间函数:time和stime time和stime函数的定义如下: #include <time.h> time_t ti

Linux网络子系统安全性模块详细分析之文件xfrm_state.c函数介绍

2.4.4.4 外部函数 1. tasklet_hrtimer_start ( ) 函数原型: static inline int tasklet_hrtimer_start(struct tasklet_hrtimer *ttimer, ktime_t time, const enum hrtimer_mode mode) 函数参数:ttimer为含有定时器的小任务,time表示时间结构,mode表示时间的模式是相对时间还是绝对时间. 函数功能:设置带有定时器的小任务. 返回值:定时器如果在队

Linux网络子系统之---- PHY 配置

MII即媒体独立接口,也叫介质无关接口. 它包括一个数据接口,以及一个MAC和PHY之间的管理接口(图1). 数据接口包括分别用于发送器和接收器的两条独立信道.每条信道都有自己的数据.时钟和控制信号.MII数据接口总共需16个信号. 管理接口是个双信号接口:一个是时钟信号,另一个是数据信号.通过管理接口,上层能监视和控制PHY. RMII口是用两根线来传输数据的, MII口是用4根线来传输数据的, GMII是用8根线来传输数据的. GMII (Gigabit MII) GMII是8bit并行同步

Linux网络编程三、 IO操作

当从一个文件描述符进行读写操作时,accept.read.write这些函数会阻塞I/O.在这种会阻塞I/O的操作好处是不会占用cpu宝贵的时间片,但是如果需要对多个描述符操作时,阻塞会使同一时刻只能处理一个操作,从而使程序的执行效率大大降低.一种解决办法是使用多线程或多进程操作,但是这浪费大量的资源.另一种解决办法是采用非阻塞.忙轮询,这种办法提高了程序的执行效率,缺点是需要占用更多的cpu和系统资源.所以,最终的解决办法是采用IO多路转接技术. IO多路转接是先构造一个关于文件描述符的列表,

Linux 网络编程三(socket代码详解)

//网络编程客户端 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <errno.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h>//htons()函数头文件 #include <ne

Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介

Linux内核分析(四) 两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理子系统.网络子系统.虚拟文件系统在这个阶段进行分析的,但是为了让大家对内核有个整体的把握,今天还是简单的介绍一下剩余的几个子系统,我们对这几个子系统的分析,只要了解其作用和部分内容即可,不必深究,等我们写上几个驱动,到时候按照驱动再来分析这几个子系统我们就清晰多了. 在http://www.cnblogs.com/wrjvszq/p/4257164.html一文我们提到过linux

Linux网络性能优化方法简析

Linux网络性能优化方法简析 2010-12-20 10:56 赵军 IBMDW 字号:T | T 性能问题永远是永恒的主题之一,而Linux在网络性能方面的优势则显而易见,这篇文章是对于Linux内核中提升网络性能的一些优化方法的简析,以让我们去后台看看魔术师表演用的盒子,同时也看看内核极客们是怎样灵活的,渐进的去解决这些实际的问题. AD:2014WOT全球软件技术峰会北京站 课程视频发布 对于网络的行为,可以简单划分为 3 条路径:1) 发送路径,2) 转发路径,3) 接收路径,而网络性

Linux网络驱动程序

Linux 的网络系统主要是基于 BSD UNIX 的套接字机制.在系统与驱动程序之间定义了数据结构 sk_buff 进行数据传输.系统支持对发送数据和接收数据缓存,提供流控机制并提供对多协议的支持. 1. linux 网络驱动程序的体系结构 linux 网络驱动程序的体系结构从上到下分为4层,各层作用如下: (1)      网络协议接口层向网络层协议提供统一的数据包收发接口,不论上层是IP还是ARP,都通过 dev_queue_xmit 函数发送数据,并通过 net_rx 函数接收数据.这一