LINUX网卡一般性问题分析

一、网卡相关概念

网卡:网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。

网络模型:OSI网络模型、TCP/IP网络模型

LINUX网络收发流程:

1. 内核分配一个主内存地址段(DMA缓冲区),网卡设备可以在DMA缓冲区中读写数据

2. 当来了一个网络包,网卡将网络包写入DMA缓冲区,写完后通知CPU产生硬中断

3. 硬中断处理程序锁定当前DMA缓冲区,然后将网络包拷贝到另一块内存区,清空并解锁当前DMA缓冲区,然后通知软中断去处理网络包。(发包与之相反)。

网卡速率:百兆网卡、千兆网卡、万兆网卡

网卡种类:电口网卡、光口网卡

网卡插槽:主板集成网卡、pcie网卡

bond网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术

二、配置网卡以及开启关闭重启网卡

1、查看网卡的型号

lspci |grep Eth

2、配置网卡IP的方法

2种方式,1种通过图形化界面配置,1种是通过添加配置文件配置

vi  /etc/sysconfig/network-scripts/ifcfg-ethx

3、网卡服务的相关命令

重启网卡:service network restart

开启、关闭指定网卡:ifdown/ifup  ethx 或者ifconfig ethx up/down

手动添加浮动ip:ifconfig ethx:0 192.168.1.1 netmask 255.255.255.0

4、查看和配置网卡接口的功能

ethtool ethx

三、网卡问题常用排查工具

1、/var/log/message

先通过系统日志查看是否有报错信息。

2、ifconfig –a查看网卡的统计情况

红色框中记录了网卡运行过程中累积的各项指标统计情况,各指标含义如下:

RX errors: 表示总的收包的错误数量,这包括 too-long-frames 错误,Ring Buffer 溢出错误,crc 校验错误,帧同步错误,fifo overruns 以及 missed pkg 等等。

RX dropped: 表示数据包已经进入了 Ring Buffer,但是由于内存不够,上层协议不支持等系统原因,导致在拷贝到内存的过程中被丢弃。

RX overruns: 表示了 fifo 的 overruns,这是由于 Ring Buffer(aka Driver Queue) 传输的 IO 大于 kernel 能够处理的 IO 导致的,而 Ring Buffer 则是指在发起 IRQ 请求之前的那块 buffer。

RX frame: 表示 misaligned 的 frames。

对于 TX 的来说,出现上述 counter 增大的原因主要包括 aborted transmission, errors due to carrirer, fifo error, heartbeat erros 以及 windown error,而 collisions 则表示由于 CSMA/CD 造成的传输中断。一般情况下TX的这类数值基本没有变化。

3、sar –n DEV 查看网卡的流量

4、netstat –s 查看网络协议统计数据

该命令可显示每个协议的各类统计数据,查看网络存在的连接,显示数据包的接收和发送情况。重点关注drop和error相关的计数是否有大量的报错。

5、tcpdump 抓包分析工具

命令格式:

tcpdump  host IP  -s 0 -i ethx -w /tmp/ip.cap

6、netstat –an /ss 查看主机网络链接情况

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【微信小程序之分包】

微信小程序之分包 什么是分包分包的好处分包前的结构图分包后的结构图分包的加载规则分包的体积限制使用分包打包原则引用原则独立分包独立分包的配置方法独立分包的引用原则分包预下载配置分包的预下载分包预下载限制 什么是分包 分包指的是把一个完整小程序项目,…

2024-14.python前端+Django

第四篇 web前端 第1章 、Web的基本概念 前端基础总共分为三部分:html、css和js。 1.3、HTTP协议 1.3.1 、http协议简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web &am…

AI人工智能老师大模型讲师叶梓 OneLLM:开创性的多模态大型语言模型技术

在人工智能领域,多模态大型语言模型(MLLM)的研究一直是一个热门话题。近期,一种名为OneLLM的创新技术引起了业界的广泛关注。OneLLM通过其独特的统一框架,实现了多种不同模态与自然语言的高效对齐,为多模态…

操作系统—GCC与编译全流程

文章目录 GCC与编译全流程1.GCC是什么?2.编译全流程(1).GCC到底做了哪些事情?(2).预处理I.预处理会做什么II.预处理器主要包含什么?III.宏的一些魔法 (3).编译I.基本流程II.编译优化III.一点例子 (4).汇编(5).链接(6).说到这里,为…

解剖this指针

目录 this指针的理解 1. this指针的用处 2.this指针的使用 3.this指针的使用 this指针来源 this指针的理解 通常在class定义时要用到类型变量自身时,因为这时候还不知道变量名(为了通用也不可能固定实际的变量名),就用this这样…

windows网络驱动开发

基石:WFP 1、简介 Windows过滤平台(Windows Filtering Platform, WFP),是从Vista系统后新增的一套系统API和服务。开发者可以在WFP框架已划分的不同分层中进行过滤、重定向、修改网络数据包,以实现防火墙、入侵检测系…

电机控制器电路板布局布线参考指导(五)

电机控制器电路板布局布线参考指导(五)大容量电容和旁路电容的放置 1.大容量电容的放置2.电荷泵电容器3.旁路电容/去耦电容的放置3.1 靠近电源3.2 靠近功率器件3.3 靠近开关电流源3.4 靠近电流感测放大器3.5 靠近稳压器 tips:资料主要来自网络…

Modality-Aware Contrastive Instance Learning with Self-Distillation ... 论文阅读

Modality-Aware Contrastive Instance Learning with Self-Distillation for Weakly-Supervised Audio-Visual Violence Detection 论文阅读 ABSTRACT1 INTRODUCTION2 RELATEDWORKS2.1 Weakly-Supervised Violence Detection2.2 Contrastive Learning2.3 Cross-Modality Knowle…

读天才与算法:人脑与AI的数学思维笔记02_激发创造力

1. 心理创造力 1.1. 自我创造力的实现结果对个体来说可能是全新的,但纵观历史其实已算是“明日黄花”,这就是心理创造力的概念 2. 激发创造力 2.1. 理智是创造力最大的敌人 2.1.1. 巴勃罗毕加索(P…

Jmeter 场景测试:登录--上传--下载--登出

为了练习Jmeter的使用,今天我要测试的场景是“登录--上传--下载--登出”这样一个过程. 测试的目标是我曾经练手写的一个文件分享系统,它要求用户只有登录后才可以下载想要的文件。 Jmeter总体结构: 第一步:添加HTTP Cookie管理器…

47.HarmonyOS鸿蒙系统 App(ArkUI)创建轮播效果

创建轮播效果,共3页切换 Entry Component struct Index {State message: string Hello Worldprivate swiperController: SwiperController new SwiperController()build() {Swiper(this.swiperController) {Text("第一页").width(90%).height(100%).bac…

电动汽车退役锂电池SOC主动均衡控制MATLAB仿真

微❤关注“电气仔推送”获得资料(专享优惠) 仿真简介 模型选用双向反激变换器作为主动均衡拓扑电路,均衡策略采用基于SOC的主动均衡策略,旨在解决电动汽车退役锂电池的不一致性问题。模型选用双向反激变换器作为主动均衡拓扑电路…

pytorch Neural Networks学习笔记

(1)输入图像,13232,通道数1,高32,宽32 (2)卷积层1,滤波器的shape为6155,滤波器个数6,通道数1,高5,宽5。卷积层1的输出为62…

【介绍下负载均衡原理及算法】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

使用docker配置DSP-SLAM

一.Docker环境配置 1.简单介绍 –docker容器技术–。 简单理解:Anaconda用于隔离不同的python环境;docker可以理解成在你的机器里面安装了一个独立的系统,因此它可以隔离不同的CUDA环境,还有着独立的文件系统,防止别…

高级IO和5种IO模型

目录 1. 高级IO1.1 IO的基本概念1.2 OS如何得知外设当中有数据可读取1.3 OS如何处理从网卡中读取到的数据包1.4 IO的步骤 2. 五种IO模型2.1 利用钓鱼来理解2.2 阻塞IO2.3 非阻塞IO2.4 信号驱动IO2.5 IO多路转接2.6 异步IO 3. 高级IO的概念3.1 同步通信 VS 异步通信3.2 阻塞 VS …

k-means聚类算法的MATLAB实现及可视化

K-means算法是一种无监督学习算法,主要用于数据聚类。其工作原理基于迭代优化,将数据点划分为K个集群,使得每个数据点都属于最近的集群,并且每个集群的中心(质心)是所有属于该集群的数据点的平均值。以下是…

STM32有什么高速接口吗?

STM32系列微控制器在高速接口方面也提供了一些强大的功能,虽然没有像Zynq那样的可编程逻辑部分,但有一些特性值得注意。我这里有一套嵌入式入门教程,不仅包含了详细的视频 讲解,项目实战。如果你渴望学习嵌入式,不妨点…

【数据结构与算法】用两个栈实现一个队列

题目 用两个栈,实现一个队列功能 add delete length 队列 用数组可以实现队列,数组和队列的区别是:队列是逻辑结构是一个抽象模型,简单地可以用数组、链表实现,所以数组和链表是一个物理结构,队列是一个逻…

Go 单元测试基本介绍

文章目录 引入一、单元测试基本介绍1.1 什么是单元测试?1.2 如何写好单元测试1.3 单元测试的优点1.4 单元测试的设计原则 二、Go语言测试2.1 Go单元测试概要2.2 Go单元测试基本规范2.3 一个简单例子2.3.1 使用Goland 生成测试文件2.3.2 运行单元测试2.3.3 完善测试用…