开发者

Python操作redis和mongoDB的方法

开发者 https://www.devze.com 2020-01-07 22:04 出处:网络 作者: 艾里_Simple
redis是一个key-value存储系统,value的类型包括string(字符串),list(链表),set(集合),zset(有序集合),hash(哈希类型)。这篇文章主要介绍了Python操作redis和mongoDB的方法,需要的朋友可以参考下

1.故障现象

  • 上网十分卡顿

  • 物理口挂接虚拟拨号口,无法拨号上网

  • 设备可以工作、网络可通,但重启设备后,网络不可达

2.故障原因

两端协商速率,或者协商的双工工作方式不一致,将导致网络工作在数据量大时网络卡顿,或者物理接口挂接虚拟接口时,虚拟接口无法生效,甚至可能引起物理接口down。

3.故障原理

3.1 以太网端口工作模式

以太网端口工作模式分为10M全双工、10M半双工、100M全双工、100M半双工、1000M全双工

3.2 全双工、半双工概念

3.2.1 全双工

全双工传输是采用点对点连接,这种安排没有冲突,因为它们使用双绞线中两个独立的线路,这等于没有安装新的介质就提高了带宽。例如在上例的车站间又加了一条并行的铁轨,同时可有两列火车双向通行。在双全工模式下,冲突检测电路不可用,因此每个双全工连接只用一个端口,用于点对点连接。标准以太网的传输效率可达到50%~60%的带宽,双全工在两个方向上都提供100%的效率。

3.2.2 半双工

半双工传输模式实现以太网载波监听多路访问冲突检测。传统的共享LAN是在半双工下工作的,在同一时间只能传输单一方向的数据。当两个方向的数据同时传输时,就会产生冲突,这会降低以太网的效率。

3.3 以太网工作原理

以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。

3.3.1 CSMA/CD网络工作机制

当以太网中的一台主机要传输数据时,它将按如下步骤进行:

1、帧听信道上收否有信号在传输。如果有的话,表明信道处于忙状态,就继续帧听,直到信道空闲为止。

2、若没有帧听到任何信号,就传输数据

3、传输的时候继续帧听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送会返回到帧听信道状态。

注意:每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点)

4、若未发现冲突则发送成功,计算机所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微秒(以10Mbps运行)。

3.3.2 冲突与冲突域

冲突(Collision):在以太网中,当两个数据帧同时被发到物理传输介质上,并完全或部分重叠时,就发生了数据冲突。当冲突发生时,物理网段上的数据都不再有效。

冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。

影响冲突产生的因素:冲突是影响以太网性能的重要因素,由于冲突的存在使得传统的以太网在负载超过40%时,效率将明显下降。产生冲突的原因有很多,如同一冲突域中节点的数量越多,产生冲突的可能性就越大。此外,诸如数据分组的长度(以太网的最大帧长度为1518字节)、网络的直径等因素也会影响冲突的产生。因此,当以太网的规模增大时,就必须采取措施来控制冲突的扩散。通常的办法是使用网桥和交换机将网络分段,将一个大的冲突域划分为若干小冲突域。

3.3.3 广播/广播域

广播:在网络传输中,向所有连通的节点发送消息称为广播。

广播域:网络中能接收任何一设备发出的广播帧的所有设备的集合。

广播和广播域的区别:广播网络指网络中所有的节点都可以收到传输的数据帧,不管该帧是否是发给这些节点。非目的节点的主机虽然收到该数据帧但不做处理。

广播是指由广播帧构成的数据流量,这些广播帧以广播地址(地址的每一位都为“1”)为目的地址,告之网络中所有的计算机接收此帧并处理它。

3.4 共享式以太网

共享式以太网的典型代表是使用10Base2/10Base5的总线型网络和以集线器(集线器)为核心的星型网络。在使用集线器的以太网中,集线器将很多以太网设备集中到一台中心设备上,这些设备都连接到集线器中的同一物理总线结构中。从本质上讲,以集线器为核心的以太网同原先的总线型以太网无根本区别。

3.4.1 集线器工作原理

集线器并不处理或检查其上的通信量,仅通过将一个端口接收的信号重复分发给其他端口来扩展物理介质。所有连接到集线器的设备共享同一介质,其结果是它们也共享同一冲突域、广播和带宽。因此集线器和它所连接的设备组成了一个单一的冲突域。如果一个节点发出一个广播信息,集线器会将这个广播传播给所有同它相连的节点,因此它也是一个单一的广播域。

3.4.2 集线器工作特点

集线器多用于小规模的以太网,由于集线器一般使用外接电源(有源),对其接收的信号有放大处理。在某些场合,集线器也被称为“多端口中继器”。

集线器同中继器一样都是工作在物理层的网络设备。

3.4.3 共享式以太网弊端

由于所有的节点都接在同一冲突域中,不管一个帧从哪里来或到哪里去,所有的节点都能接受到这个帧。随着节点的增加,大量的冲突将导致网络性能急剧下降。而且集线器同时只能传输一个数据帧,这意味着集线器所有端口都要共享同一带宽。

3.5 交换式以太网

在交换式以太网中,交换机根据收到的数据帧中的MAC地址决定数据帧应发向交换机的哪个端口。因为端口间的帧传输彼此屏蔽,因此节点就不担心自己发送的帧在通过交换机时是否会与其他节点发送的帧产生冲突。

为什么要用交换式网络替代共享式网络:

·减少冲突:交换机将冲突隔绝在每一个端口(每个端口都是一个冲突域),避免了冲突的扩散。

·提升带宽:接入交换机的每个节点都可以使用全部的带宽,而不是各个节点共享带宽。

3.5.1 以太网交换机

  • 工作原理

交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。

·交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。

·如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称之为泛洪(flood)。

·广播帧和组播帧向所有的端口转发。

  • 主要功能

学习:以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中。

·转发/过滤:当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)。

·消除回路:当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。

  • 工作特性

交换机的每一个端口所连接的网段都是一个独立的冲突域。

·交换机所连接的设备仍然在同一个广播域内,也就是说,交换机不隔绝广播(唯一的例外是在配有VLAN的环境中)。

·交换机依据帧头的信息进行转发,因此说交换机是工作在数据链路层的网络设备

  • 以太网交换机分类

依照交换机处理帧的不同的操作模式,主要可分为两类。

存储转发:交换机在转发之前必须接收整个帧,并进行检错,如无错误再将这一帧发向目的地址。帧通过交换机的转发时延随帧长度的不同而变化。

直通式:交换机只要检查到帧头中所包含的目的地址就立即转发该帧,而无需等待帧全部的被接收,也不进行错误校验。由于以太网帧头的长度总是固定的,因此帧通过交换机的转发时延也保持不变。

注意:

直通式的转发速度大大快于存储转发模式,但可靠性要差一些,因为可能转发冲突 帧或带CRC错误的帧。

3.5 高速以太网

3.5.1 快速以太网

快速以太网(Fast Ethernet)也就是我们常说的百兆以太网,它在保持帧格式、MAC(介质存取控制)机制和MTU(最大传送单元)质量的前提下,其速率比 10Base-T的以太网增加了10倍。二者之间的相似性使得10Base-T以太网现有的应用程序和网络管理工具能够在快速以太网上使用。快速以太网是基于扩充的IEEE802.3标准。

3.5.2 千兆位以太网

千兆位以太网是一种新型高速局域网,它可以提供1Gbps的通信带宽,采用和传统10M、100M以太网同样的CSMA/CD协议、帧格式和帧长,因此可以实现在原有低速以太网基础上平滑、连续性的网络升级。只用于Point to Point,连接介质以光纤为主,最大传输距离已达到70km,可用于MAN的建设。

由于千兆以太网采用了与传统以太网、快速以太网完全兼容的技术规范,因此千兆以太网除了继承传统以太局域网的优点外,还具有升级平滑、实施容易、性价比高和易管理等优点。

千兆以太网技术适用于大中规模(几百至上千台电脑的网络)的园区网主干,从而实现千兆主干、百兆交换(或共享)到桌面的主流网络应用模式。

3.6自动协商基本原理

3.6.1 基本原理

自动协商模式是端口根据另一端设备的连接速度和双工模式,自动把它的速度调节到最高的公共水平,即线路两端能具有的最快速度和双工模式。

  自协商功能允许一个网络设备能够将自己所支持的工作模式信息传达给网络上的对端,并接受对方可能传递过来的相应信息,从而解决双工和10M/100M速率自协商问题。自协商功能完全由物理层芯片设计实现,因此并不使用专用数据包或带来任何高层协议开销。

  自协商功能的基本机制是:每个网络设备在上电、管理命令发出、或是用户干预时发出FLP(快速连接脉冲),协商信息封装在这些FLP序列中。FLT中包含有时钟/数字序列,将这些数据从中提取出来就可以得到对端设备支持的工作模式,以及一些用于协商握手机制的其他信息。当一个设备不能对FLP作出有效反应,而仅返回一个NLP(普通连接脉冲)时,它被作为一个10BASE-T兼容设备。 快速链路脉冲FLP和普通链路脉冲NLP都仅使用于非屏蔽双绞线上,而不能应用在光纤媒体。

  自动协商的内容主要包括双工模式、运行速率、流控等内容,一旦协商通过,链路两端的设备就锁定在这样一种运行模式下。1000M以太网也支持自协商,在此从略。

  电口和光口自协商主要区别是在OSI 中它们所处的位置不同。对于电口来说,协商发生在链路信号传输之前;对于光口来说, 自协商机制与PCS在同一层, 这意味着光口的协商必须先建立链路同步以后才可以进行协商。

3.6.2 自动协商过程

如果两端都支持自协商,则都会接收到对方的FLP,并且把FLP中的信息解码出来。得到对方的连接能力。并且把对端的自协商能力值记录在自协商对端能力寄存器中(Auto-Negotiation Link Partner Ability Register , PHY标准寄存器地址5 )。同时把状态寄存器(PHY标准寄存器地址1)的自协商完成bit(bit5)置成1。在自协商未完成的情况下,这个bit一直为0。

然后各自根据自己和对方的最大连接能力,选择最好的连接方式Link。比如,如果双方都即支持10M也支持100M,则速率按照100M连接;双方都即支持全双工也支持半双工,则按照全双工连接。

一定连接建立后,FLP就停止发送。直到链路中断,或者得到自协商Restart命令时,才会再次发送FLP。

为了保证在对端不能支持自协商的情况下也能连接,引入了被称为并行检测(Parallel Detection)的机制。在一端打开自协商,另一端关闭自协商的情况下,连接的建立就依靠并行检测功能实现。

并行检测机制是这样的:在具有自协商能力的设备端口上,如果接收不到FLP,则检测是否有10M链路的特征信号或100M链路的特征信号。

如果设备是10M设备,不支持自协商,则在链路上发送普通连接脉冲(Normal Link Pulse)简称NLP。NLP仅仅表示设备在位,不包含其它的额外信息。NLP脉冲如图:

如果是100M设备,不支持自协商,则在没有数据的情况下,在链路上一直发送4B/5B编码的Idle符号。

并行检测机制如果检测到NLP,则知道对方支持10M速率;如果检测到4B/5B编码的Idle符号,则知道对方支持100M速率。但是对方是否支持全双工、是否支持流控帧这些信息是无法得到的。因此在这种情况下,认为对方只支持半双工,不支持全双工,且不支持流控帧。

基于以上原理,在对端不打开自协商时,打开自协商的一方只能协商成半双工模式。

802.3协议规定,通过并行检测建立连接后,PHY的状态寄存器(PHY标准寄存器地址1)的自协商完成bit(bit5)依然要置位成1,尽管链路上并非使用了真正的自协商操作。同时规定在自协商完成bit为1的情况下,本地自协商能力寄存器(PHY标准寄存器地址4)和对端自协商能力寄存器(PHY标准寄存器地址5)是有意义的。所以,要把寄存器5中的数据更新。如果建立的连接为10M,则寄存器5的10M能力bit(bit5)置1,其它bit置0,表示对端只能支持10M半双工;如果建立的连接为100M,则寄存器5的100M能力bit(bit7)置1,其它bit置0,表示对端只能支持100M半双工。

4.小结

以太网端口两端的工作模式必须协商一致,否则就会出现流量一大速度变慢,或者甚至出现接口掉线的问题。一般来讲,现在的网络接口已经使用自动协商模式,100M位、1000M位以太网均可以自动协商成全双工工作模式。如果此时网络出现故障,不通、或者速度很慢,请检查接口是否协商为100M位以上的速度,以及全双工工作模式。如果没有,且端口为up的状态,可以尝试将强制将一端网络设定位100M位、全双工的工作模式,以调试网络是否恢复正常。但是若之后两端拔插网线,或者其他原因导致端口重新协商,则有可能仍会导致协商不匹配。。

该故障一般为网线过于老旧或者网线1、2、3、6芯出现故障所致,请更换网线。

0

精彩评论

暂无评论...
验证码 换一张
取 消