当前位置:文档之家› linux网卡工作原理

linux网卡工作原理

linux网卡工作原理
linux网卡工作原理

Linux操作系统的功能可以概括为进程管理、内存管理、文件系统管理、设备管理、网络等几部分。所有的系统操作最终都可以映射到对物理设备的操作。除去对CPU、内存以及其他少数几个物理实体的操作之外,系统对其他设备的所有操作都通过专门的称为驱动程序的代码完成。系统中存在的每种外设在内核中都必须有对应的设备驱动程序对其进行处理。所以分析网卡的工作原理即是分析网卡的驱动程序。

网络是独立的一个模块。为了屏蔽网络环境中物理网络设备的多样性,Linux对所有的设备进行抽象并定义了一个统一的概念,称之为接口。所有对网络硬件的访问都是通过接口进行的,接口提供了一个对所有类型的硬件一致化的操作集合来处理基本数据发送和接收。一个网络接口被看作是一个发送和接收数据包的实体。对于每个网络接口,都用一个net_device的数据结构来表示。net_device中有很多提供系统访问和协议层调用的设备方法,包括提供设备初始化和往系统注册用的init函数,打开和关闭网络设备的open和stop函数,处理数据包发送的函数hard_start_xmit,以及中断处理函数。

所有被发送和接收的包都用数据结构sk_buff表示。要发送数据时,网络系统将分局系统路由表选择相应的网络接口进行数据传输;当接收数据包时,通过驱动程序登记的中断服务程序进行数据的接口处理。

Linux网络驱动程序崇尚倒下分为四层:协议接口层、网络设备接口层、设备驱动功能层、网络设备和网络媒介层。如下图所示:

网卡初始化

网络设备初始化主要工作时检测设备的存在、初始化描述设备的net_device结构及在系统中登记该设备。在系统初始化完成以后,系统检测到的网络设备将保存在链表dev_base中,其中每个链表单元net_device对应一个存在的物理网络设备。

初始化过程首先检测网络物理设备是否存在,这是通过检测物理设备的硬件特征来完成;然后对设备进行资源配置,这些完成之后就要构造设备的net_device数据结构,用检测到值对net_device中的变量初始化;最后Linux内核中注册该设备并申请内存空间。

网卡的打开与关闭

为了使用网络设备,需要打开网卡,打开和关闭的一个接口是由shell命令ifconfig调用的,而ifconfig则要调用一个通用的设备打开函数dev_open(net/core/dev.c),相应的还有一个dev_close函数,这两个函数提供独立于设备的操作接口的打开和关闭功能。一般打开函数执行的操作包括注册中断函数,分配并初始化网卡所需要的接收与发送缓冲区,启动硬件检查网络连接线状态等。

数据包的发送与接收

数据包的发送和接收是实现Linux网络驱动程序中两个最关键的过程。

当物理网络设备接收到数据是,系统通过两种途径解决这个问题。一种方法是轮询方式,另一种方式是中断法师。

在轮询方式中,系统每隔一定的时间间隔就去检查一次物理设备,若设备有数据到达,就调用读取数据的程序。Linux中通过定时器实现,但是此法有一个明显的缺点:不管设备是否有数据,系统总是要固定的消耗CPU资源去查看设备,并且可能对一些紧急数据处理予以延迟。从资源的利用率以及工作的效率上看都不是最优的。

中断方式利用硬件体系结构的中断机制实现设备和系统的应答对话,即当物理设备需要CPU 处理数据时,就向CPU发送一个终端信号,系统则在收到信号后调用相应的中断服务程序响应对设备中断的处理。因此,基本在所有的网络设备驱动程序中都是用中断方式的。

每一个网卡上都有一块FIFO存储器,对于NIC(Network Interface Controller),FIFO 存储器是用来通过系统总线传送数据到系统存储器之前,缓存从LAN上接收到的数据。对与快速

以太网还有一个直接内存存取(DMA:Directly Memory Access)控制器,用于提供对系统存储器的可靠访问。

驱动为网卡分配一个环形缓冲区,在一段连续的物理内存中实现。

1、数据接收

(1)接收来自MAC的数据包,先暂存于片内FIFO接收队列;

(2)当接收器达到早期接收上线时就移至环形缓冲区;

(3)待整个数据包全部从FIFO移至缓存后,将接收状态寄存器和包长度写入接收的数据包头部,并更新CBA(Current Buffer Address)寄存器的值;

(4)CMD(Command)寄存器中的BufferEmpty位和ISR(中断状态寄存器)寄存器的ROK 位置1,并发出ROK的中断;

(5)ISR中断调用完成后,清除ISR(ROK)并更新CAPR(Current Address of Packet Read,指向接收缓存的已读取包的地址),完成本次接收。

2、数据发送

(1)将待传送的数据写入主存中一段连续的缓存空间,由OS配合驱动程序完成;

(2)找到一个可用的描述器,并写入内容,包括该数据包的开始物理地址和传输状态字(包的大小、可传送下限、OWN位);

(3)OWN位有效,将数据从缓存移至片内FIFO队列;

(4)当FIFO队列中的数据达到早期传送下限,NIC的传送单元就会启动,将数据顺序输出至线路;

(5)当整个数据包都已经传至FIFO,OWN位置1;

(6)当整个数据包都已经传至线路上, TOK寄存器置1;

(7)当TOK(IMR)和TOK(ISR)多置1,就发出TOK中断;

(8)TOK中断调用完成以后,清除TSD状态字,完成本次传送。

可以看出,网卡需要发送/接收数据,都必须以中断的方式告诉系统,系统处理中断后做出相应操作。

网卡存在一定大小的FIFO存储器,同时还有缓冲区,缓冲区是由系统以及驱动共同分配一段连续的物理内存,所有的发送/接收的数据,都必须通过FIFO已经缓冲区,只有一包数据都发送成功后,才能继续发送下一包数据。系统维护缓冲区,只有当缓冲区有空间时才会接受上层来的数据,而网卡处理数据的速率远高于接收数据的最大速率,因此在网卡上不会存在堵塞情况。

对编程而言,在应用层调用传输层函数send/sendto,使用套接字传送数据,屏蔽了底层的所有实现。此时,send/sendto函数是没有阻塞的,只要调用,必然有返回值,成功返回发送数据的长度,失败则返回负值(失败的主要原因是网络连接的问题),因此可能存在数据丢失的现象,需要写程序的时候保证数据的传输成功。但是只有send/sendto函数返回后,程序才会执行下一次发送,因此编程时没必要考虑数据会在传输层上出现阻塞。

linux双网卡做成bond

l i n u x双网卡做成b o n d 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

双网卡做成b o n d0的方法说明 所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡 好处:增加带宽接入,还可以实现主备功能,当其中一个网卡挂掉,不会影响网络连接。并且节约IP。 实施案例讲解 我们的测试服务器 双网卡 E 我们需要将这2个网卡做成一个bond0网卡 1.编辑eth1. vi/etc/sysconfig/network-scripts/ifcfg-eth1 修改为 我们去掉了IP,MAC,掩码网关,bootproto设置为none 2.编辑eth2 同样这样更改eth2,如下图所示 3.创建并且编辑bond0网卡 vi/etc/sysconfig/network-scripts/ifcfg-bond0 增加如下参数

可以看到,和我们平时用的eth1网卡配置差不多,只是少了MAC地址。。。 编辑vi/etc/modprobe.conf文件 添加如下参数 编辑好了之后重启网卡,会发现eth1eth2无IP,依然通了外网 至此,我们的bond0已经创建成功 接下来我们需要去编辑启动文件添加一行 vi/etc/rc.local 添加ifenslavebond0eth1eth2 重启服务器,测试是否能成功 多个bond 如果是创建多个bond的时候,我们修改vi/etc/modprobe.conf配置文件的时候依照下图添加,依次增加 Eth2eth3….等修改方式同上。 如果bond的模式(请查看参数讲解)不同,那么修改为 这种情况遇到较少,我们了解就好 参数讲解 Bond有7种模式,我们常用的是 mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。七种bond模式说明:

变速器和同步器图解

变速器和同步器图解 三轴五当变速器传动简图 1-输入轴 2-轴承 3-接合齿圈 4-同步环 5-输出轴 6-中间轴 7-接合套 8-中 间轴常啮合齿轮 此变速器有五个前进档和一个倒档,由壳体、第一轴(输入轴)、中间轴、第二轴(输出轴)、倒档轴、各轴上齿轮、操纵机构等几部分组成。 两轴五当变速器传动简图

1-输入轴 2-接合套 3-里程表齿轮 4-同步环 5-半轴 6-主减速器被动齿轮 7-差速器壳 8-半轴齿轮 9-行星齿轮 10、11-输出轴 12-主减速器主动齿轮 13-花键毂 与传统的三轴变速器相比,由于省去了中间轴,所以一般档位传动效率要高一些;但是任何一档的传动效率又都不如三轴变速器直接档的传动效率高。 同步器有常压式,惯性式和自行增力式等种类。这里仅介绍目前广泛采用的惯性式同步器。 惯性式同步器是依靠摩擦作用实现同步的,在其上面设有专设机构保证接合套与待接合的花键齿圈在达到同步之前不可能接触,从而避免了齿间冲击。 惯性同步器按结构又分为锁环式和锁销式两种。 其工作原理可以北京BJ212型汽车三档变速器中的二、三档同步器为例说明。花键毂7与第二轴用花键连接,并用垫片和卡环作轴向定位。在花键毂两端与齿轮1和4之间,各有一个青铜制成的锁环(也称同步环)9和5。锁环上有短花键齿圈,花键齿的断面轮廓尺寸与齿轮 1,4及花键毂 7上的外花键齿均相同。在两个锁环上,花键齿对着接合套8的一端都有倒角(称锁止角),且与接合套齿端的倒角相同。 锁环具有与齿轮1和4上的摩擦面锥度相同的内锥面,内锥面上制出细牙的螺旋槽,以便两锥面接触后破坏油膜,增加锥面间的摩擦。三个滑块2分别嵌合在花键毂的三个轴向槽11内,并可沿槽轴向滑动。在两个弹簧圈6的作用下,滑块压向接合套,使滑块中部的凸起部分正好嵌在接合套中部的凹槽10中,起到空档定位作用。滑块2的两端伸入锁环9和5的三个缺口12中。只有当滑块位于缺口12的中央时,接合套与锁环的齿方可能接合。

windows XP及Linux下双网卡配置方案

Windows XP下双网卡配置方案一、软硬件需求 ●硬件: 一台带有双网卡的PC,其中一个连接internet;另一个接局域网hub。 其中节局域网地址为:192.168.0.1/255.255.255.0 ●软件: 操作系统:windows XP 代理软件:CCProxy 二、设置CCProxy: 1、服务器的安装 运行下载后的Ccproxysetup.exe 安装本软件 (注:现在的最新版本为CCProxy-v6.6,推荐下载网站:霏凡) 安装完成后,桌面有一个CCProxy的绿色图标:双击即可启动CCProxy了(如附图)。绿色的网格坐标将会出现,黄色的曲线表示网络数据流量。 2、客户端设置前的准备工作 1)确认客户端与服务器是连通的,能够互相访问。

2)确定代理服务器地址。代理服务器地址就是安装代理服务器的机器的 网络地址。 这个地址,是指服务器在局域网中的本地IP地址。本地IP地址可以从CCProxy的设置对话框中得到。设置对话框中 的本地IP地址一般情况下可以用"自动检测"得到。如果服务器安装了双 网卡,则需要手工选取:取消"自动检测", 从列表中选取。如果不能确认服务器的IP地址,也可以用服务器的机器 名作为代理服务器地址。 3、局域网机器设置: ※对TCP/IP协议的属性进行设置: 方法:右击“网上邻居”,选择“属性”,双击网卡对应的“TCP/IP协议”,选择“DNS”标签。设置如下:选中“启用DNS”;“主机”中填入服务器名称;并在下面的“DNS服务器搜索顺序”中填入服务器的IP地址,本例为“192.168.0.1”,然后单击[填加];单击[确定]结束DNS设置;再次单击[确定],结束对网络属性的设置。这时需要重新启动计算机。 ※重新启动后,设置IE浏览器代理上网 1)流程: IE浏览器->菜单"工具"->"Internet选项"->"连接"->"局域网设置"->选中"使用代理服务器"->"高级"->"代理服务器设置"。取消"对所有协议均使用相同的代理服务器"。 在"HTTP"中填上代理服务器地址,端口为808; 在"Secure"中填上代理服务器地址,端口为808; 在"FTP"中填上代理服务器地址,端口为808; 在"Gopher"中填上代理服务器地址,端口为808; 在"Socks"中填上代理服务器地址,端口为1080。 2)图示: IE菜单“工具”->“Internet 选项”: “代理设置”选择

感应同步器的原理及应用

感应同步器工作原理及应用 摘要:感应同步器是利用电磁原理将线位移和角位移转换成电信号的一种装置。根据用途,可将感应同步器分为直线式和旋转式两种,分别用于测量线位移和角位移线。将角度或直线位移信号变换为交流电压的位移传感器,又称平面式旋转变压器。它有圆盘式和直线式两种。在高精度数字显示系统或数控闭环系统中圆盘式感应同步器用以检测角位移信号,直线式用以检测线位移。感应同步器广泛应用于高精度伺服转台、雷达天线、火炮和无线电望远镜的定位跟踪、精密数控机床以及高精度位置检测系统中。 关键词:感应同步器、原理、应用、直线式、旋转式 Abstract:The inductosyn is a system that transform the linear and angular displacement into electric signal use the Electromagnetic theory.According to its use the inductosyn can be divided into the linear and the rotary,which is use to measure the linear and the angular.The linear inductosyn that transform the linear and angular displacement into AC V oltage is called plane rotary transformer,which is divided into two types than is the linear and the disc.In the precision digital display system or CNC closed-loop system,the disc inductosyn is used to measure the signal of angular and the linear inductosyn is used to measure the signal of linear.The inductosyn is also widely used in the location tracking ,the precision CNC machine tools and the high-precision position detection system of the precision servo turntable, the radar antenna, the artillery and the radio Telescope. Keywords: inductosyn theory use linear rotary 1.感应同步器的工作原理 感应同步器是利用两个平面形绕组的互感随位置而变化的原理而进行工作的。 直线式感应同步器由定尺和滑尺组成,定尺上是连续绕组,滑尺上是分段绕组,滑尺为正余弦绕组。其绕组布置如图1所示。滑尺上展开分布着两个印刷电路绕组,每个节距相当于绕组空间分布的周期,又称极距,一般为2mm,用2τ表示。 滑尺与定尺相互面向平行安装,两者保持0.2mm左右距离。感应同步器的工作原理如图2所示。当定尺绕组加以频率为f,幅值恒定的交流激磁电流I(或电压)时,滑尺两绕组将产生与激磁电流频率相同、幅值随两尺相对位置而变化的感应电势e,滑尺某一绕组与定尺绕组完全重合时,磁通耦合度最大,故该滑尺感应的电势最大;两绕组错开1/4节距(即1/4*2τ=0.5τ)时,滑尺耦合的

Linux双网卡搭建NAT服务器

Eth0的IP 地址,GW和DNS 都是自动获取的。当然,如果是手动分配IP 、GW 和DNS 也是没问题的。我的eth0 配置如下: IP: 192.168.79.129/24 GW: 192.168.79.1 DNS:192.168.79.2 Linux 主机的eth1 指向内网,IP 地址为:10.50.10 .1/24 。内网主机的内网主机的IP 地址就是10.50.10.0/24 段的IP ,eth1 的IP 是所有内网主机的网关。这里,我的内网主机设置如下: IP: 10.50.10.46/24 GW: 10.50.10.1 DNS:192.168.79.2 这里,所有内网主机的网关都设置为eth1 的IP 地址,而DNS 设置为eth1 所在的Linux 系统主机的DNS ,即192.168.79.2 。 (二)启用转发功能 以上配置完成后,Host A应该可以ping通Linux系统主机的eth1的IP,因为他们是通过交换机链接的。但是,Host A应该可以ping不通Linux系统主机的eth0的IP,应为并未开启Linux系统主机的转发功能。 开启Linux的转发功能,执行如下命令: # echo 1 > /proc/sys/net/ipv4/ip_forward 查看系统是否启用了转发功能,可以执行如下命令: # cat /proc/sys/net/ipv4/ip_forward 如果结果为1,代表已启用,0代表未启用。 此时,执行ping 192.168.72.129 以及其网关和DNS都可ping通了。 (三)配置NAT规则 经过第二部分配置后,虽然可以ping相关的IP地址,但是内网主机还是无法上网。问题在于内网主机的IP地址是无法在公网上路由的。因此,需要转换成Linux系统主机可以上网的IP(注:这里我们只说不说是公网IP,是因为Linux系统可以直接上外网的IP同样是内网IP。但是该内网IP(192.168.79.129)已经通过一些机制,实际上同样是NAT的方式,可以访问外网了,因此我们只需将Host A的IP转换成Linux系统eth0接口的IP即可)。 我们配置的NAT NAT 转换: #iptables -t nat -A POSTROUTING -s 10.50.10.0/24 -o eth0 -j MASQUERADE 也可以通过使用 SNAT target 实现: #iptables -t nat -A POSTROUTING -s 10.50.10.0/24 -o eth0 -j SNAT --to-source 192.168.79.129 至于 MASQUERADE 和 SNAT 的区别,可以网上搜索,有相关的解释。 同时,还要在 FORWARD 点出配置规则如下: #iptables -A FORWARD -i eth1 -j ACCEPT 保证所有进入 eth1 的包都被 FORWARD 点 ACCEPT 。 经过以上的配置之后, Host A 就可以正常的访问外网了。

Linux双网卡路由设置

为了Linux双网卡路由设置 如题。为了Linux可以上网,加了网关。如下: 1。所修改得关键文件: /etc/sysconfig/hwconf 检查网卡是否被检测到。 /etc/modules.conf 检查每个网卡分配得别名。 /etc/sysconfig/network-stripts/ifcfg-eth0 配置网卡一 /etc/sysconfig/network-stripts/ifcfg-eth1 配置网卡二 /etc/sysconfig/networking/* 有部分关于主机名称等得配置文件。 2。使用如下命令可以让配置生效: /etc/init.d/network restart 3。静态路由添加方法: (1)将添加静态路由的命令加入到rc.local中 /etc/rc.d/rc.local 格式如下(与route命令格式一致): route add -net 219.223.216.0 netmask 255.255.255.0 gw 219.223.215.129 dev eth1 加后,需重启系统后生效。 注:另有说法可将静态路由加入/etc/sysconfig/static-routes文件中(此文件中加入试用无效) (2)将添加静态路由的命令加入到/etc/sysconfig/network-scripts/route-eth1文件中 格式如下: 219.223.214.0/24 via 219.223.215.129 dev eth1 219.223.215.0/24 via 219.223.215.129 加后,需service network restart后生效

变速器同步器工作原理

变速器 一、变速器概述 变速器功用: (1)改变传动比,满足不同行驶条件对牵引力的需要,使发动机尽量工作在有利的工况下,满足可能的行驶速度要求。 (2)实现倒车行驶,用来满足汽车倒退行驶的需要。 (3)中断动力传递,在发动机起动,怠速运转,汽车换档或需要停车进行动力输出时,中断向驱动轮的动力传递。 变速器分类: (1)按传动比的变化方式划分,变速器可分为有级式、无级式和综合式三种。 (a)有级式变速器:有几个可选择的固定传动比,采用齿轮传动。又可分为:齿轮轴线固定的普通齿轮变速器和部分齿轮(行星齿轮)轴线旋转的行星齿轮变速器两种。 (b)无级式变速器:传动比可在一定范围内连续变化,常见的有液力式,机械式和电力式等。 (c)综合式变速器:由有级式变速器和无级式变速器共同组成的,其传动比可以在最大值与最小值之间几个分段的范围内作无级变化。 (2)按操纵方式划分,变速器可以分为强制操纵式,自动操纵式和半自动操纵式三种。 (a)强制操纵式变速器:靠驾驶员直接操纵变速杆换档。 (b)自动操纵式变速器:传动比的选择和换档是自动进行的。驾驶员只需操纵加速踏板,变速器就可以根据发动机的负荷信号和车速信号来控制执行元件,实现档位的变换。 (c)半自动操纵式变速器:可分为两类,一类是部分档位自动换档,部分档位手动(强制)换档;另一类是预先用按钮选定档位,在采下离合器踏板或松开加速踏板时,由执行机构自行换档。 二、普通齿轮变速器 普通齿轮变速器主要分为三轴变速器和两轴变速器两种。它们的特点将在下面的变速器传动机构中介绍。 变速器传动机构: (1)三轴变速器这类变速器的前进档主要由输入(第一)轴、中间轴和输出(第二)轴组成。 (2)两轴变速器这类变速器的前进档主要由输入和输出两根轴组成。 三轴五档变速器有五个前进档和一个倒档,由壳体、第一轴(输入轴)、中间轴、第二轴(输

感应同步器的工作原理

感应同步器的工作原理 直线式感应同步器和圆盘式感应同步器的工作原理基本相同,都是利用电 磁感应原理工作。下面以直线式感应同步器为例介绍其工作原理。直线式 感应同步器由两个磁耦合部件组成,其工作原理类似于一个多极对的正余弦旋 转变压器。感应同步器的定尺和滑尺相互平行放置,其间有一定的气隙,一般 应保持在0.25±0.05mm范围内,如图12.2.4 所示。图12.2.4 直线式感应同步器的工作原理 当滑尺上的正弦绕组和余弦绕组分别以1~10kHz 的正弦电压激磁时, 将产生同频率的交变磁通;该交变磁通与定尺绕组耦合,在定尺绕组上将产生 同频率的感应电势。感应电势的大小除了与激磁频率、激磁电流和两绕组之间 的间隙有关外,还与两绕组的相对位置有关。如果在滑尺的余弦绕组上单独施 加正弦激磁电压,感应同步器定尺的感应电势与两绕组相对位置的关系如图 12.2.5 所示。当滑尺处于A 点时,余弦绕组C 和定尺绕组位置相差1/4 节距,即在定尺绕组内产生的感应电势为零。随着滑尺的移动,感应电势逐渐增大,直到B 点时,即滑尺的余弦绕组C 和定尺绕组位置重合时(1/4 节距位置),耦合磁通最大,感应电势也最大。滑尺继续右移,定尺绕组的感应电势随耦合 磁通减小而减小,直至移动到C 点时(1/2 节距处),又回到与初始位置完全相 同的耦合状态,感应电势变为零。滑尺再继续右移到D 点时(3/4 节距处),定 尺中感应电势达到负的最大值。在移动一个整节距(E 点)时,两绕组的耦合 状态又回到初始位置,定尺感应电势又为零。定尺上的感应电势随滑尺相对定 尺的移动呈现周期性变化(如图12.2.5 中的曲线1)。同理,如果在滑尺正弦绕组上单独施加余弦激磁电压,则定尺的感应电势如图12.2.5 中的曲线2 所示。 一般选用激磁电压为1~2V,过大的激磁电压将引起大的激磁电流,导致温升

Linux下配置双网卡聚合

一、背景 CentOS6.6 Ethernet: em1 em2 em3 em4 bond0 192.168.51.134/24 bond1 192.168.52.135、24 GW 192.168.51.1 GW 192.168.52.1 VLAN 51 52 前提:查看8021q模块有没有挂载,如果没有的话就进行手动挂载 # lsmsg |grep 8021q # modprobe 8021q 二、配置: 1.配置em1、em2配置文件并将这两块网卡绑定为bond0 # cd /etc/sysconfig/network-scripts/ # vim ifcfg-em1 DEVICE=em1 TYPE=Ethernet UUID=bcf7fa28-5807-4126-a7e6-d16bb5ddd32b ONBOOT=yes BOOTPROTO=none #HWADDR=18:66:DA:4C:FC:E6 DEFROUTE=yes #IPV4_FAILURE_FATAL=yes #IPV6INIT=no MASTER=bond0 SLAVE=yes USERCTL=yes PS:这里HWA DDR、UUID一行可以注释掉,因为后面重启network服务的时候可能会提示MA C地址重复,当然如果不提示最好 2.配置em2、em3、em4如上配置参数,其中em3、em4的MASTER=bond1 3.复制或创建ifcfg-bond0、ifcfg-bond1,并修改文件内容如下 # cp ifcfg-em1 ifcfg-bond0 # vim ifcfg-bond0 DEVICE=bond0 BOOTPROTO=none ONBOOT=yes TYPE=Ethernet BONDING_OPTS="mode=2 miimon=100" VLAN=yes

SUSE Linux双网卡绑定设置详解

suse linux双网卡绑定设置详解 双网卡的绑定可以实现冗余和高可用性,在suse linux 10中和redhat linux 5中设置双网卡绑定是不太一样的,下面详解一下suse linux 下的双网卡绑定: 步骤1:进入到网络配置目录 # cd /etc/sysconfig/network 步骤2:创建ifcfg-bond0配置文件 Vi ifcfg-bond0 输入如下内容保存 BOOTPROTO='static' BROADCAST='' IPADDR='172.27.120.21 #要绑定的ip地址 NETMASK='255.255.255.0 '#网段的掩码 NETWORK='' STARTMODE='onboot' BONDING_MASTER='yes' BONDING_MODULE_OPTS='mode=1 miimon=100 ' # mode=1是主备模式(active-backup) mode=0是平衡模式(balance_rr) BONDING_SLAVE0='eth0' #第一块网卡的mac地址 BONDING_SLAVE1='eth1' #第二块网卡的mac地址 ETHTOOL_OPTIONS='' MTU='' NAME='' REMOTE_IPADDR='' USERCONTROL='no' 步骤3:使用yast进入网卡的配置界面,把原有的两块网卡设置为没有ip,网卡模式改为自动获取地址模式,删除/etc/sysconfig/network下的已经绑定的网卡的配置文件 步骤4:注意默认网关的配置,使用yast管理工具进入路由设置界面,或者通过修改配置文件的方式并运行命令进行配置 配置默认网关。 # vi routes 插入如下内容 default 172.27.120.254 - - # route add default gw 172.27.120.254 步骤5:重启网络服务,使配置生效 # rcnetwork restart 步骤6:验证 (1) 输入ifconfig可以看到bond0已经运行了,bond0、eth1、eth0的MAC地址都是一样 JSBC-SIHUA-DB02:/etc/sysconfig/network # ifconfig bond0 Link encap:Ethernet HWaddr 78:2B:CB:4B:54:D5

在linux(redhat)下双网卡负载均衡(lacp)

(一)linux配置 #cat /boot/config-kernel-version |grep -i bonding CONFIG_BONDING=m 返回CONFIG_BONDING=m表示支持,否则需要编译内核使它支持bonding 也可以用:查看一下内核是否已经支持bonding:modinfo bonding 第一步:创建一个ifcfg-bondX # touch /etc/sysconfig/network-scripts/ifcfg-bond0 新建一个bond0配置文件 # cat /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static IPADDR=1.1.1.2 NETMASK=255.255.255.0 BROADCAST=1.1.1.255 NETWORK=1.1.1.0 GATEWAY=1.1.1.1 ONBOOT=yes TYPE=Ethernet 编辑ifcfg-bond0如上 第二步:修改/etc/sysconfig/network-scripts/ifcfg-ethX 这个实验中把网卡1和2绑定,修改/etc/sysconfig/network-scripts/ifcfg-ethX相应网卡配置如下: # cat /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet DEVICE=eth1 HWADDR=00:d0:f8:40:f1:a0 网卡1mac BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes # cat /etc/sysconfig/network-scripts/ifcfg-eth2 TYPE=Ethernet DEVICE=eth2 HWADDR=00:d0:f8:00:0c:0c 网卡2mac BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes

Linux双网卡绑定实现

Linux双网卡绑定实现.txt*一篇一篇的翻着以前的的签名,那时候的签名有多幼稚就有多么的幼稚。你连让我报复的资格都没有-〞好想某天来电显示是你的号码。好想某天你的状态是为我而写。有些人,我们明知道是爱的,也要去放弃,因为没结局Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux 的2.4.x的内核中也采用这这种技术,被称为bonding。bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。 说了半天理论,其实配置很简单,一共四个步骤: 实验的操作系统是Redhat Linux Enterprise 3.0 绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片。 1.编辑虚拟网络接口配置文件,指定网卡IP vi /etc/sysconfig/ network-scripts/ ifcfg-bond0 [root@redflag root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 2 #vi ifcfg-bond0 将第一行改成 DEVICE=bond0 # cat ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static IPADDR=172.31.0.13 NETMASK=255.255.252.0 BROADCAST=172.31.3.254 ONBOOT=yes TYPE=Ethernet 这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。将上述信息指定到虚拟适配器(bonding)中即可。 [root@redflag network-scripts]# cat ifcfg-eth0 DEVICE=eth0 USERCTL=no BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes [root@redflag network-scripts]# cat ifcfg-eth1 DEVICE=eth1

感应同步器的组成和原理

感应同步器的组成和原理 2009年10月22日 感应同步器分为直线型和旋转型两大类,直线型由定子和滑尺组成,用于检测直线位移,旋转型由定子和转子组成,用于检测旋转角度。本节仅介绍直线型感应同步器的组成和原理: 如图3 15所示,直线型感应同步器由定尺和滑尺组成。其定尺是单向均匀感应绕组,绕组节距2 τ通常为2mm。滑尺上有两组励磁绕组,一组称为正弦绕组,另一组为余弦绕组,两个绕组的节距与定子相同,在空间上相互错开1/4节距,于是两个励磁绕组之间相差90°电角度。滑尺安装在被测的移动部件上,滑尺与定尺相互平行,并保持一定的距离,约0.2~0.3mm向滑尺通以交流励磁电压,在滑尺中产生勋磁电流,绕组周围便产生按正弦规律变化的磁场。由电磁感应在定尺绕组上产生感应电压,当滑尺和定尺间产生相对位移时,由于电磁磁耦合强度的变化,就使定尺上的感应电压随位移的变化而变化。 一、感应同步器种类和特点

l感应同步器的种类 感应同步器有测量长度用的直线式和测量旋转角度用的旋转式两种。下面着重介绍直线式.. (1)标准式:是直线式中精度最高的一种,使用最广,在数控系统和数显装置中大量应用:常用型号为GZD一1和GZH一1型。 (2)窄长式:其定尺的宽度比标准式窄,用于精度较低或机床上安装位置窄小且安装面难以加工的情况。 (3)三重式:它的滑尺和定尺上均有粗、中、细:套绕组.定尺上粗中绕组相对位移垂直方向倾斜不同角度,细绕组和标准式的一样。滑尺上的粗、中、细三套绕组组成:个独立的电气通道,粗、中、细的极距分别是4000、100和2mm三通道同时使用即可组成一套绝对坐标测量系统,测量范围为0.002~2000mm在此测量范围内测量系统只有一个绝对零点。单块定尺的长度有200和300mm两种,它特别适用于大型机床、。 (4)带子式:它的定尺绕组是印制在I.8m长的不锈钢带上,其两端固定在机床床身上(一端用弹性固定)滑尺像计算尺的游框那样跨在带状定尺上,可以简化安装,减少安装面,而且能使定尺随机床床身热变形而变形。 (5)感应组件:是将标准式的定、滑尺封装在匣里的感应组件(定尺经调整接长而成组合式定尺),而且将励磁变压器和前置放大器也装在里面,便于安装与使用。 2感应同步器的特点 (1)精度高:感应同步器的极对数多,平均效应所产牛的测量精度要比制造精度高,且输出信号是由滑尺和定尺之间相对移动产生的中间无机械转换环节,所以测量结果只受本身精度的影响。 (2)测量长度不受限制:当测量长度大于250ram时,可以采用多块定尺接长,相邻定尺间隔呵用块规或激光测长仪进行调整,使总长度上的累积误差不大于单块定尺的最火偏差。 (3)对环境的适应性较强:因为感应同步器金属基板和床身铸铁的热胀系数相近,当温度变化时还能获得较高的重复精度.另外它是利用电磁感应产生信号.对尺面防护要求较低。 使用时还需要注意下列影响。 1 。同步回路阻抗不对称列同步精度的影响(如励磁变压器的阻抗和同步器的正弦、余弦阻抗)。

LINUX下多网卡负载配置

Linux多网卡绑定配置 ----多网卡负载均衡 ■作者LIKELY ■编写时间2012年7月13日星期五■文档册数完整(无分册) ■文档页数7 ■版本编号HZZW2012071301 ■编写地点HZ ■硬件型号■系统平台RED HAT LINUX6 ■第三方支撑工具

概述: 在服务器应用层面上经常会出现1个网卡流量达到峰值而迫使业务中断的情况,1个网卡带宽不够用,现在的服务器通常都有2-4个网卡,每个网卡带宽都是1G,那么如果使用多网卡绑定,就可以实现带宽的成倍增加,多网卡绑定也分为2种,1种是负载均衡(采用特殊的算法,将流量分摊到每一个网卡上),第2种就是主备关系,下面我讲一下多网卡绑定的负载均衡。 试验平台:VMware 操作系统:linux 5.4 + centos 6 说明:两台机器使用两根网线对联,在每台机器上分配配置双网卡负载均衡,实现流量分摊,中断其中一条链路也不会业务中断。 配置:(这里我全部采用截图说明,不做另外说明了) 上图中可以看到我的系统有两块网卡,在绑定之前首先来要加载虚拟网卡驱动,配置虚拟网卡的工作模式。 配置文件位于:redhat linux :/etc/modprode.conf centos:/etc/modprode.d/dist.conf

增加如下参数:alias bond0 bonbing options bond0 miimon=100 mode=0 第一条参数是加载虚拟网卡驱动模块,第二条参数选项的意思是:miimon=100 每隔100秒检查一次链路状态,mode=0 这是网卡工作模式,0代表多网卡负载,1代表多网卡主备,这里的参数还有很多,比如3 采用的是某种哈希算法的负载等等,后面的我不说了,今天的试验主要是普通的负载均衡。 添加好之后保存退出,然后修改网卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-ethX,X表示网卡号。

Linux多网卡绑定及子接口

Linux多网卡绑定、IP别名 在介绍多网卡绑定以及子接口技术之前,首先来介绍一下查看网卡信息的指令操作。 查看网卡线缆状态: mii-tool eth0 #命令显示网卡的底层信息(双工,速率,物理连接是否正常等信息) 查看网卡底层信息: ethtool eth0 #此命令显示的网卡信息较为详细,作为高级的排错指令 ethtool -i eth0 查看网卡驱动信息 [root@www ~]# ethtool -i eth0 driver: pcnet32 version: 1.35 firmware-version: bus-info: 0000:02:01.0 ethtool -S eth0 查看网卡状态统计信息 子接口(IP别名): CentOS和RHEL默认会启用NetworkManager对网卡管理,Linux下可以通过IP别名(子接口)功能为一个物理网卡添加多个IP地址;要使用IP别名(子接口)需要关闭NetworkManager服务。如下所示: service NetworkManager stop chkconfig NetworkManager off #此服务对网卡进行管理在功能上来讲很单一,实现的功能很少; 使用ip命令为一个接口添加别名:(或者通过ifconfig命令来实现) ip addr add 10.1.10.118/24 dev eth0 label eth0:0 eth0:1 永久添加别名,需要在/etc/sysconfig/network-scripts/中添加配置文件: 文件名:ifcfg-eth0:0 内容如下所示: DEVICE=eth0:0 IPADDR=10.1.10.118 PREFIX=24 或者NETMASK 255.255.255.0 (在这里直接使用地址前缀信息)ONPARENT=yes #子接口的依附关系; 备注:使用多网卡的主机上需要将NetworkManager服务关闭,避免出现问题

解析手动变速同步器的作用、结构和工作过程

解析手动变速同步器的作用、结构和工作过程 内容简介:汽车手动变速器的换档是控制接合套左右移动,与不同齿轮前的啮合齿啮合组合出不同的档位,为了使接合套与啮合齿顺利的啮合,接合套与啮合齿轮之间的速度必须瞬时同步,以保证平顺换档。 动变速器同步器的作用: 汽车手动变速器的换档是控制接合套左右移动,与不同齿轮前的啮合齿啮合组合出不同的档位,为了使接合套与啮合齿顺利的啮合,接合套与啮合齿轮之间的速度必须瞬时同步,以保证平顺换档。 手动变速器换档即是换的同步器 下面以变速器2档换1档的过程说明同步器在换档时的作用: 后驱手动变速器结构的工作原理图 我们先设发动机的转速为2000转,因为发动机的动力经过离合器传递给变速器的输入轴及输入轴的上齿轮D,所以齿轮D的转速为2000转;齿轮D带动中间轴的齿轮旋转,因为中间轴上的齿轮与轴是一体的,所以中间轴上的齿轮转速相同。中间轴上齿轮驱动输出轴上的齿轮A、B、C,因为齿轮齿数的关系,我们设齿轮A的转速为500转,齿轮B的转速为1000转,齿轮C的转速为1500转。齿轮A、B、C均与输出轴空套连接,所以在空档时没有动力输出。 二档时,接合套与齿轮B前的接合齿啮合,齿轮B通过接合套及花键毂驱动变速器输出轴输出,因为齿轮B的转速为1000转,所以接合套、花键毂及输出轴的转速为1000转。当我们要换一档时,首先踩下离合器踏板,离合器分离,切断发动机与变速器输入轴的动力传递,但是在运动惯性力下,接合套、花键毂及输出轴的转速仍为1000转,而齿轮A的转速为500转,此时,1000转的接合器要与500转的接合齿啮合,必须需要两者之间的瞬时同步。 同步器的作用就是在接合套与接合齿啮合前两者的转速达到瞬时同步,保护换档平顺。同步器的类型: 现在汽车变速器采用的同步器有两种,摩擦惯性锁环式和摩擦惯性锁销式。 (1)锁环式同步器:应用于轿车及小型客车及货车的手动变速器; (2)锁销式同步器:应用于大型客车及货车的手动变速器; 锁环式同步器的结构和工作原理

详解Linux下双网卡双网局域网共享

终于用两个网卡实现了寝室内部的双网卡上双网(网通跟校园内部网),并且为寝室同学做主机。 高兴之余,想把技术共享出去。其它朋友想实现的可以参照根据自己的网络环境灵活运用如下方法。有问题也可以给我留言啊。https://www.doczj.com/doc/ba12931157.html,/lengyuex 1.先介绍一下我们寝室的环境: 寝室9台电脑,8个人,其中我有两台,8口HUB,一口插网通主线,其它7口7台电脑,我的只有一台电脑连网, 还有一个人电脑不连网。我电脑双网卡,其中eth0连接校园网主线,eth1连接交换机,网通主线插交换机上。 2.开始设置: 设置DNS为网通DNS,DNS1:202.96.75.68 DNS2:202.96.64.68(仅针对我们学校,其它单位或学校根据自己的网通或电信宽带DNS进行设置) 接下来先关闭两个网卡: #ifdown eth0,eth1 将eth1设为DHCP自动获取IP。 #ifup eth1 这时候eth1就会自动获取IP,查看它获得的IP: #ifconfig +---------------------------+ eth1 Link encap:以太网硬件地址00:60:6e:00:d6:09 inet 地址:221.200.X.X 广播:X.X.X.X 掩码:X.X.X.X inet6 地址: fe80::260:6eff:fe00:d609/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1 接收数据包:18456 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:11955 错误:0 丢弃:0 过载:0 载波: 碰撞:0 发送队列长度:1000

在LINUX(REDHAT)下双网卡负载均衡(LACP)

(一)linux配置 #cat/boot/config-kernel-version|grep-i bonding CONFIG_BONDING=m 返回CONFIG_BONDING=m表示支持,否则需要编译内核使它支持bonding 也可以用:查看一下内核是否已经支持bonding:modinfo bonding 第一步:创建一个ifcfg-bondX #touch/etc/sysconfig/network-scripts/ifcfg-bond0新建一个bond0配置文件 #cat/etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static IPADDR=1.1.1.2 NETMASK=255.255.255.0 BROADCAST=1.1.1.255 NETWORK=1.1.1.0 GATEWAY=1.1.1.1 ONBOOT=yes TYPE=Ethernet 编辑ifcfg-bond0如上 第二步:修改/etc/sysconfig/network-scripts/ifcfg-ethX 这个实验中把网卡1和2绑定,修改/etc/sysconfig/network-scripts/ifcfg-ethX相应网卡配置如下: #cat/etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet DEVICE=eth1 HWADDR=00:d0:f8:40:f1:a0网卡1mac BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes #cat/etc/sysconfig/network-scripts/ifcfg-eth2 TYPE=Ethernet DEVICE=eth2 HWADDR=00:d0:f8:00:0c:0c网卡2mac BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes

感应同步器的组成和原理

感应同步器的组成和原理

感应同步器的组成和原理 2009年10月22日 感应同步器分为直线型和旋转型两大类,直线型由定子和滑尺组成,用于检测直线位移,旋转型由定子和转子组成,用于检测旋转角度。本节仅介绍直线型感应同步器的组成和原理: 如图3 15所示,直线型感应同步器由定尺和滑尺组成。其定尺是单向均匀感应绕组,绕组节距2 τ通常为2mm。滑尺上有两组励磁绕组,一组称为正弦绕组,另一组为余弦绕组,两个绕组的节距与定子相同,在空间上相互错开1/4节距,于是两个励磁绕组之间相差90°电角度。滑尺安装在被测的移动部件上,滑尺与定尺相互平行,并保持一定的距离,约0.2~0.3mm向滑尺通以交流励磁电压,在滑尺中产生勋磁电流,绕组周围便产生按正弦规律变化的磁场。由电磁感应在定尺绕组上产生感应电压,当滑尺和定尺间产生相对位移时,由于电磁磁耦合强度的变化,就使定尺上的感应电压随位移的变化而变化。 一、感应同步器种类和特点

l感应同步器的种类 感应同步器有测量长度用的直线式和测量旋转角度用的旋转式两种。下面着重介绍直线式.. (1)标准式:是直线式中精度最高的一种,使用最广,在数控系统和数显装置中大量应用:常用型号为GZD一1和GZH一1型。 (2)窄长式:其定尺的宽度比标准式窄,用于精度较低或机床上安装位置窄小且安装面难以加工的情况。 (3)三重式:它的滑尺和定尺上均有粗、中、细:套绕组.定尺上粗中绕组相对位移垂直方向倾斜不同角度,细绕组和标准式的一样。滑尺上的粗、中、细三套绕组组成:个独立的电气通道,粗、中、细的极距分别是4000、100和2mm三通道同时使用即可组成一套绝对坐标测量系统,测量范围为0.002~2000mm在此测量范围内测量系统只有一个绝对零点。单块定尺的长度有200和300mm两种,它特别适用于大型机床、。 (4)带子式:它的定尺绕组是印制在I.8m长的不锈钢带上,其两端固定在机床床身上(一端用弹性固定)滑尺像计算尺的游框那样跨在带状定尺上,可以简化安装,减少安装面,而且能使定尺随机床床身热变形而变形。 (5)感应组件:是将标准式的定、滑尺封装在匣里的感应组件(定尺经调整接长而成组合式定尺),而且将励磁变压器和前置放大器也装在里面,便于安装与使用。 2感应同步器的特点 (1)精度高:感应同步器的极对数多,平均效应所产牛的测量精度要比制造精度高,且输出信号是由滑尺和定尺之间相对移动产生的中间无机械转换环节,所以测量结果只受本身精度的影响。 (2)测量长度不受限制:当测量长度大于250ram时,可以采用多块定尺接长,相邻定尺间隔呵用块规或激光测长仪进行调整,使总长度上的累积误差不大于单块定尺的最火偏差。 (3)对环境的适应性较强:因为感应同步器金属基板和床身铸铁的热胀系数相近,当温度变化时还能获得较高的重复精度.另外它是利用电磁感应产生信号.对尺面防护要求较低。 使用时还需要注意下列影响。 1 。同步回路阻抗不对称列同步精度的影响(如励磁变压器的阻抗和同步器的正弦、余弦阻抗)。

相关主题
文本预览
相关文档 最新文档