摘要:经常会有在线更换Linux服务器IP的操作,该操作带来的一个问题是: 我们已经执行了修改IP的操作,但由于网络上(网关)的ARP缓存暂未更新,导致在某一段时间内,该服务器会有网络不通的情况存在。 因此,我们需要在变更IP的同时,通知网关刷新ARP缓存。 首先清除本地ARP缓存: /bin/ip ne
阅读全文
摘要:现象: 通过ceph -w日志经常发现有request blocked的问题(如果虚拟机系统跑在ceph上时,就会发现严重的卡顿现象) 排查: 1、通过dstat未发现有明显的瓶颈 (dstat -tndr 2) 2、通过iostat也未发现有明显的瓶颈 (iostat -dx 2) 3、通过net
阅读全文
摘要:版本:OpenStack Liberty Neutron DVR 现象: 1、在虚拟机内部不停地dhclient 2、在虚拟机所属的计算节点的物理网卡上抓包,发现该虚拟机发出的dhcp广播包 3、在虚拟机所属网络所在的NAT节点(qdhcp所在的节点)的物理网卡上抓包,同样发现了该虚拟机发出的dhc
阅读全文
摘要:EtherType is a two-octet field in an Ethernet frame. It is used to indicate which protocol is encapsulated in the payload of an Ethernet Frame. The sa
阅读全文
摘要:使用 iptables 封 IP,是一种比较简单的应对网络攻击的方式,也算是比较常见。有时候可能会封禁成千上万个 IP,如果添加成千上万条规则,在一台注重性能的服务器或者本身性能就很差的设备上,这就是个问题了。ipset 就是为了避免这个问题而生的。 关于 iptables,要知道这两点。 ipta
阅读全文
摘要:====================================================== VCONFIG(8) VCONFIG(8) NAME vconfig - VLAN (802.1q) configuration program. SYNOPSIS vconfig [lot
阅读全文
摘要:offload 现在,越来越多的网卡设备支持 offload 特性,来提升网络收/发性能。offload 是将本来该操作系统进行的一些数据包处理(如分片、重组等)放到网卡硬件中去做,降低系统 CPU 消耗的同时,提高处理的性能。 包括 LSO/LRO、GSO/GRO、TSO/UFO 等。 LSO/L
阅读全文
摘要:进入函数netif_receive_skb()后,skb正式开始协议栈之旅。先上图,协议栈大致过程如下所示:跟OSI七层模型不同,linux根据包结构对网络进行分层。比如,arp头和ip头都是紧跟在以太网头后面的,所以在linux协议栈中arp和ip地位相同(如上图)但是在OSI七层模型中,arp属
阅读全文
摘要:一、硬件布局每个网卡(MAC)都有自己的专用DMA Engine,如上图的 TSEC 和 e1000 网卡intel82546。上图中的红色线就是以太网数据流,DMA与DDR打交道需要其他模块的协助,如TSEC,PCI controller以太网数据在 TSEC<-->DDR PCI_Control
阅读全文
摘要:一、no NAPI 数据结构不配置NAPI的时候,网络设备不使用自己的napi_struct结构,所有网络设备驱动都使用同一个napi_struct,即cpu私有变量__get_cpu_var(softnet_data).backlog每当收到数据包时,网络设备驱动会把__get_cpu_var(s
阅读全文
摘要:一、硬件环境 intel82546:PHY与MAC集成在一起的PCI网卡芯片,很强大 bcm5461: PHY芯片,与之对应的MAC是TSEC TSEC: Three Speed Ethernet Controller,三速以太网控制器,PowerPc 架构CPU里面的MAC模块 注意,TSEC内部
阅读全文
摘要:/* * The DEVICE structure. * Actually, this whole structure is a big mistake. It mixes I/O * data with strictly "high-level" data, and it has to know
阅读全文
摘要:Bonding is the same as port trunking. In the following I will use the word bonding because practically we will bond interfaces as one. Bonding allows ...
阅读全文
摘要:Ingress qdiscAll qdiscs discussed so far are egress qdiscs. Each interface however can also have an ingress qdisc which is not used to send packets ou...
阅读全文
摘要:IMQ 是中介队列设备的简称,是一个虚拟的网卡设备,与物理网卡不同的是,通过它可以进行全局的流量整形,不需要一个网卡一个网卡地限速。这对有多个ISP接入的情况特别方便。配合 Iptables,可以非常方便地进行上传和下载限速。IMQ(Intermediate queueing device,中介队列...
阅读全文
摘要:参考了TC的很多文档,自己也整理了一篇配置记录。在实际使用过程中效果还不错,在此分享给大家以备参考。环境:局域网规模不是很大40多台机器。 NAT共享上网(内网:eth0 外网:eth2)CBQ是通过硬件的闲置时间来计算队列,硬件不同,效果也不同,对于比较大的网络使用HTB比较好。以下限制上传和下载...
阅读全文
摘要:《本文摘自Linux的高级路由和流量控制HOWTO中文版 第9章节》网人郭工进行再次编译:利用队列,我们可以控制数据发送的方式。记住我们只能对发送数据进行控制(或称为整形)。其实,我们无法直接控制别人向我们发送什么数据。然而,Internet主要依靠TCP/IP,它的一些特性很有用。因为TCP/IP...
阅读全文
摘要:u32过滤器一般使用ip地址作为匹配规则,但按照其定义,它可以匹配ip包头的任意地址,这里使用mac地址限制局域网的下载速度,避免客户端修改ip后其下载速度得不到控制。tc qdisc del dev eth2 roottc qdisc add dev eth2 root handle 200: c...
阅读全文
摘要:Quantum & r2qLet's assume we have 2 classes with the same parent :Parent : ceil = rate = 100class 1 : rate = 40 and ceil = 100class 2 : rate = 20 and ...
阅读全文
摘要:这几天正在捣鼓防火墙,用到了hashlimit模块。Google了一圈发现相关的文档无论英文还是中文都很少,所以我就把自己的折腾的心得记录下来吧。hashlimit是iptables的一个匹配模块,用它结合iptables的其它命令可以实现限速的功能。(注意,单独hashlimit模块是无法限速的)...
阅读全文