官方交流扣扣群:117080162

feed订阅 腾讯微博 新浪微博 你好,欢迎光临! 

Monthly Archives: 2021年十月

阿里云盘网页版登录入口_阿里云盘_阿里云盘网页版怎么登录_阿里云盘pc版_阿里云网盘app官网_阿里云盘下载_阿里云网盘app下载

2021.10.27 , , No Comments ,

 

https://www.aliyundrive.com/drive/

 

https://www.aliyundrive.com/

 

 

 

 

阿里云盘网页版登录入口_阿里云盘_阿里云盘网页版怎么登录_阿里云盘pc版_阿里云网盘app官网_阿里云盘下载_阿里云网盘app下载

IPv6邻居发现协议-什么IPv6邻居协议-IPv6邻居发现协议是什么

2021.10.22 , , No Comments ,

邻居发现协议NDP
邻居发现协议NDP(Neighbor Discovery Protocol)是IPv6协议体系中一个重要的基础协议。邻居发现协议替代了IPv4的ARP(Address Resolution Protocol)和ICMP路由器发现(Router Discovery),它定义了使用ICMPv6报文实现地址解析,跟踪邻居状态,重复地址检测,路由器发现以及重定向等功能。

地址解析
在IPv4中,当主机需要和目标主机通信时,必须先通过ARP协议获得目的主机的链路层地址。在IPv6中,同样需要从IP地址解析到链路层地址的功能。邻居发现协议实现了这个功能。

ARP报文是直接封装在以太网报文中,以太网协议类型为0x0806,普遍观点认为ARP定位为第2.5层的协议。ND本身基于ICMPv6实现,以太网协议类型为0x86DD,即IPv6报文,IPv6下一个报头字段值为58,表示ICMPv6报文,由于ND协议使用的所有报文均封装在ICMPv6报文中,一般来说,ND被看作第3层的协议。在三层完成地址解析,主要带来以下几个好处:

地址解析在三层完成,不同的二层介质可以采用相同的地址解析协议。
可以使用三层的安全机制避免地址解析攻击。
使用组播方式发送请求报文,减少了二层网络的性能压力。
地址解析过程中使用了两种ICMPv6报文:邻居请求报文NS(Neighbor Solicitation)和邻居通告报文NA(Neighbor
Advertisement)。

NS报文:Type字段值为135,Code字段值为0,在地址解析中的作用类似于IPv4中的ARP请求报文。
NA报文:Type字段值为136,Code字段值为0,在地址解析中的作用类似于IPv4中的ARP应答报文。
IPv6地址解析过程分析:
图:IPv6地址解析过程
Host A在向Host B发送报文之前它必须要解析出Host B的链路层地址,所以首先Host A会发送一个NS报文,其中源地址为Host A的IPv6地址,目的地址为Host B的被请求节点组播地址,需要解析的目标IP为Host B的IPv6地址,这就表示Host A想要知道Host B的链路层地址。同时需要指出的是,在NS报文的Options字段中还携带了Host A的链路层地址。
当Host B接收到了NS报文之后,就会回应NA报文,其中源地址为Host B的IPv6地址,目的地址为Host A的IPv6地址(使用NS报文中的Host A的链路层地址进行单播),Host B的链路层地址被放在Options字段中。这样就完成了一个地址解析的过程。
报文抓包分析:
拓扑如下:

 

图:地址解析拓扑示例
地址解析过程分析:

首先在两端各配上IPv6地址,然后在AR1上ping ipv6 -a 2000::1 2000::2。抓包如下:
图:ping ipv6 -a 2000::1 2000::2抓包

NS报文内容如下:
图:第一个NS报文
AR1会以2000::1作为源地址,目标地址为2000::2的被请求节点组播地址 ff02::1:ff00:2。然后将AR1的MAC地址携带在ICMPc6的Option中。在ICMPv6中还会携带Target Address:2000::2,这个用来防止在广播网中有多个前缀不同,最后24bit相同,而造成的混乱。携带这个字段后,当主机收到这个报文后,会首先检查该字段是否是自己的IPv6地址,如果是,则接收并回应NA报文。如果该字段的地址不是自己的IPv6地址,则丢弃。

NA报文内容如下:
图:NA报文抓包
当AR2收到AR1发送的NA报文后,检查Target Address字段,如果是自己的IPv6地址,接收,并将对端的IP地址和MAC地址绑定到自己的邻居表中。然后以自己IPv6地址2000::2为源地址,对端IPv6地址:2000::1为目的地址。并将自己的MAC地址封装在ICMPv6的Option中,发送给对方。从而两端都知道了对方的MAC地址。可以进行二次封装。

邻居通告报文中Flags字段解释:

R:路由器标记。当置1时,R位指出发送者是路由器。R位由Neighbor Unreachability Detection使用,用于检测改变为主机的路由器。
S:请求标记。当置1时,S位指出通告被发送以响应来自目的地地址的Neighbor Solicitation。S位用作Neighbor Unreachability Detection的可达性确认。在多播通告和非请求单播通告中置0。
O:替代标记。替代标志,1表示通告中的信息替代缓存,如更新链路层地址时,对于任播的回应则不应置位。在针对任播地址的请求通告中,以及在请求的前缀通告中它不能被置1。在其他请求通告中和在非请求通告中它应当被置1。
Target Address:对于请求的通告,是在Neighbor Solicitation消息(该消息催促这个通告)中的Target Address字段。对于非请求通告,是其链路层地址已经改变的地址。Target Address必须不是多播地址。
跟踪邻居状态
通过邻居或到达邻居的通信,会因各种原因而中断,包括硬件故障、接口卡的热插入等。如果目的地失效,则恢复是不可能的,通信失败;如果路径失效,则恢复是可能的。因此节点需要维护一张邻居表,每个邻居都有相应的状态,状态之间可以迁移。

RFC2461中定义了5种邻居状态,分别是:

未完成(Incomplete)
可达(Reachable)
陈旧(Stale)
延迟(Delay)
探查(Probe)
邻居状态的具体迁移过程如下图所示:

 

图:邻居状态迁移的具体过程
下面以A、B两个邻居节点之间相互通信过程中A节点的邻居状态变化为例(假设A、B之前从未通信),说明邻居状态迁移的过程。

A先发送NS报文,并生成缓存条目,此时,邻居状态为Incomplete。
若B回复NA报文,则邻居状态由Incomplete变为Reachable,否则固定时间后邻居状态由Incomplete变为Empty,即删除表项。
经过邻居可达时间,邻居状态由Reachable(默认30s)变为Stale,即未知是否可达。
如果在Reachable状态,A收到B的非请求NA报文(MAC地址修改),且报文中携带的B的链路层地址和表项中不同,则邻居状态马上变为Stale。
在Stale状态若A要向B发送数据,则邻居状态由Stale变为Delay,并发送NS请求。
在经过一段固定时间后,邻居状态由Delay(默认5s)变为Probe(每隔1s发送一次NS报文,连续发送3次),其间若有NA应答,则邻居状态由Delay变为Reachable。
在Probe状态,A每隔一定时间间隔z(1s)发送单播NS,发送固定次数(3)后,有应答则邻居状态变为Reachable,否则邻居状态变为Empty,即删除表项。
图:IPv6邻居状态
重复地址检测
重复地址检测DAD(Duplicate Address Detect)是在接口使用某个IPv6单播地址之前进行的,主要是为了探测是否有其它的节点使用了该地址。尤其是在地址自动配置的时候,进行DAD检测是很必要的。一个IPv6单播地址在分配给一个接口之后且通过重复地址检测之前称为试验地址(Tentative Address)。此时该接口不能使用这个试验地址进行单播通信,但是仍然会加入两个组播组:ALL-NODES组播组和试验地址所对应的Solicited-Node组播组。

IPv6重复地址检测技术和IPv4中的免费ARP类似:节点向试验地址所对应的Solicited-Node组播组发送NS报文。NS报文中目标地址即为该试验地址。如果收到某个其他站点回应的NA报文,就证明该地址已被网络上使用,节点将不能使用该试验地址通讯。

重复地址检测原理如下:

 

图:重复地址检测原理
Host A的IPv6地址FC00::1为新配置地址,即FC00::1为Host A的试验地址。Host A向FC00::1的Solicited-Node组播组发送一个以FC00::1为请求的目标地址的NS报文进行重复地址检测,由于FC00::1并未正式指定,所以NS报文的源地址为未指定地址。当Host B收到该NS报文后,有两种处理方法:

如果Host B发现FC00::1是自身的一个试验地址,则Host B放弃使用这个地址作为接口地址,并且不会发送NA报文。
如果Host B发现FC00::1是一个已经正常使用的地址,Host B会向FF02::1发送一个NA报文,该消息中会包含FC00::1。这样,Host A收到这个消息后就会发现自身的试验地址是重复的。Host A上该试验地址不生效,被标识为duplicated状态。
当两端同时检测时情况如下:

 

图:两端同时进行检测的情况
若2个节点配置相同地址,同时作重复地址检测时,该地址处于Tentative状态,当一方收到对方发出的DAD NS,则接收方将不启用该地址
一种极端的情况,如果同时收到NS报文,则两端都放弃改地址
抓包分析:
图:地址冲突检测拓扑
当在AR3上配置2000::1/64地址时,AR3首先会以 :: 为源地址,以自己配置的2000::1的被请求节点组播地址为目的地址,发送NS报文。如果有来自2000::1的NA回复,则该地址不能用。如果没收到,则该地址可以使用。
图:重复地址检测NS报文
在这个报文中因为AR1上已经使用了2000::1/64地址,所以会回复一个NA。如下:

 

图:AR1回复的NA
IPv6地址生命周期:
图:IPv6地址生命周期
在preferred time和valid lifetime之间叫做deprecated(弃用)状态,当地址达到这个时间段的时候,地址不能主动的发起连接只能是被动的接受连接,过了valid lifetime时间,地址就变为invalid,这时任何连接就会down掉。

路由器发现
路由器发现功能用来发现与本地链路相连的设备,并获取与地址自动配置相关的前缀和其他配置参数。

在IPv6中,IPv6地址可以支持无状态的自动配置,即主机通过某种机制获取网络前缀信息,然后主机自己生成地址的接口标识部分。路由器发现功能是IPv6地址自动配置功能的基础,主要通过以下两种报文实现:

路由器通告RA(Router Advertisement)报文:每台设备为了让二层网络上的主机和设备知道自己的存在,定时都会组播发送RA报文,RA报文中会带有网络前缀信息,及其他一些标志位信息。RA报文的Type字段值为134。

图:RA邻居通告报文抓包示例

RA报文中字段解释:

Cur Hop Limit:默认值应当放置在发出IP分组的IP首部的Hop Count字段中。 取0值意味着未(由该路由器)规定。
M:M位为0表示无状态自动配置生成IPv6地址,如果M=1表示需要通过有状态(DHCPv6)方式获取ipv6地址。
O:O位为0表示除了IPv6地址以外的其他参数需要通过无状态自动配置获取,如果O=1表示除了IPv6地址以外的其它需要通过有状态(DHCPv6)方式进行获取。
Router Lifetime:与默认路由器关联的生存期,以秒为单位。最大值18.2小时。取0值的Lifetime指出路由器不是默认路由器并且不应当出现在默认路由器列表中。Router Lifetime仅适用于作为默认路由器的路由器应用;对包括在其他消息字段或选项中的信息不适用。需要对它们的信息规定时间限制的选项有它们自己的生存期字段。
Reachable time:此时间以毫秒计,在收到可达性确认后节点假定该邻居是可到达的。它由Neighbor Unreachability Detection算法使用。此值为0意味着没有(由此路由器)作出规定。
Retrans Timer:重发的Neighbor Solicitation消息间隔时间,以毫秒计。由地址解析和Neighbor Unreachability Detection算法使用。此值为0意味着没有(由此路由器)作出规定。
ICMP Prefix Option中的flag字段:
aoto-config:如果该位为1表示该前缀可以用于无状态自动配置,如果为0不能用于无状态自动配置。
on-link:指定0-flag标识位。若配置该参数,则只会本地链路内的主机RA报文中的前缀不是分配给本地链路的。主机若想该前缀指定的地址发送报文时,需要经过默认路由器转发。
路由器请求RS(Router Solicitation)报文:很多情况下主机接入网络后希望尽快获取网络前缀进行通信,此时主机可以立刻发送RS报文,网络上的设备将回应RA报文。RS报文的Tpye字段值为133。

图:RS报文抓包示例
路由器发现功能如下图所示:

 

图:路由器发现功能示例
RA在华为中的通告时间有两种:

min-interval=200s。
max-interval=600s。
地址自动配置:
IPv4使用DHCP实现自动配置,包括IP地址,缺省网关等信息,简化了网络管理。IPv6地址增长为128位,且终端节点多,对于自动配置的要求更为迫切,除保留了DHCP作为有状态自动配置外,还增加了无状态自动配置。无状态自动配置即自动生成链路本地地址,主机根据RA报文的前缀信息,自动配置全球单播地址等,并获得其他相关信息。

IPv6主机无状态自动配置过程:

根据接口标识产生链路本地地址。
发出邻居请求,进行重复地址检测。
如地址冲突,则停止自动配置,需要手工配置。
如不冲突,链路本地地址生效,节点具备本地链路通信能力。
主机会发送RS报文(或接收到设备定期发送的RA报文)。
根据RA报文中的前缀信息和接口标识得到IPv6地址。
默认路由器优先级和路由信息发现:
当主机所在的链路中存在多个设备时,主机需要根据报文的目的地址选择转发设备。在这种情况下,设备通过发布默认路由优先级和特定路由信息给主机,提高主机根据不同的目的地选择合适的转发设备的能力。

在RA报文中,定义了默认路由优先级和路由信息两个字段,帮助主机在发送报文时选择合适的转发设备。

主机收到包含路由信息的RA报文后,会更新自己的路由表。当主机向其他设备发送报文时,通过查询该列表的路由信息,选择合适的路由发送报文。

主机收到包含默认设备优先级信息的RA报文后,会更新自己的默认路由列表。当主机向其他设备发送报文时,如果没有路由可选,则首先查询该列表,然后选择本链路内优先级最高的设备发送报文;如果该设备故障,主机根据优先级从高到低的顺序,依次选择其他设备。

重定向
当网关设备发现报文从其它网关设备转发更好,它就会发送重定向报文告知报文的发送者,让报文发送者选择另一个网关设备。重定向报文也承载在ICMPv6报文中,其Type字段值为137,报文中会携带更好的路径下一跳地址和需要重定向转发的报文的目的地址等信息。

重定向示例:

 

图:重定向示例
Host A需要和Host B通信,Host A的默认网关设备是Router A,当Host A发送报文给Host B时报文会被送到Router A。Router A接收到Host A发送的报文以后会发现实际上Host A直接发送给Router B更好,它将发送一个重定向报文给主机A,其中报文中更好的路径下一跳地址为Router B,Destination Address为Host B。Host A接收到了重定向报文之后,会在默认路由表中添加一个主机路由,以后发往Host B的报文就直接发送给Router B。

当设备收到一个报文后,只有在如下情况下,设备会向报文发送者发送重定向报文:

报文的目的地址不是一个组播地址。
报文并非通过路由转发给设备。
经过路由计算后,路由的下一跳出接口是接收报文的接口。
设备发现报文的最佳下一跳IP地址和报文的源IP地址处于同一网段。
设备检查报文的源地址,发现自身的邻居表项中有用该地址作为全球单播地址或链路本地地址的邻居存在。
参考文档:华为HedEx文档
————————————————
版权声明:本文为CSDN博主「曹世宏的博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38265137/article/details/80466128

ext2、ext3与ext4的区别

2021.10.17 , , No Comments ,

ext2与ext3

Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。 linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。 对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。
Linux之前缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定。但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统是非日志文件系统。这在关键行业的应用是一个致命的弱点。本文向各位介绍Linux下使用ext3日志文件系统应用。
Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠。它完全兼容ext2文件系统。用户可以平滑地过渡到一个日志功能健全的文件系统中来。这实际上了也是ext3日志文件系统初始设计的初衷。

Ext3日志文件系统的特点
1、高可用性
系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。宕机发生后,恢复ext3文件系统的时间只要数十秒钟。
2、数据的完整性:
ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。在保证数据完整性方面,ext3文件系统有2种模式可供选择。其中之一就是“同时保持文件系统及数据的一致性”模式。采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。
3、文件系统的速度:
尽管使用ext3文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,ext3比ext2的性能还要好一些。这是因为ext3的日志功能对磁盘的驱动器读写头进行了优化。所以,文件系统的读写性能较之Ext2文件系统并来说,性能并没有降低。
4、数据转换
由ext2文件系统转换成ext3文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。用一个ext3文件系统提供的小工具tune2fs,它可以将ext2文件系统轻松转换为ext3日志文件系统。另外,ext3文件系统可以不经任何更改,而直接加载成为ext2文件系统。
5、多种日志模式
Ext3有多种日志模式,一种工作模式是对所有的文件数据及metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=journal模式);另一种工作模式则是只对metadata记录日志,而不对数据进行日志记录,也即所谓data=ordered或者data=writeback模式。系统管理人员可以根据系统的实际工作要求,在系统的工作速度与文件数据的一致性之间作出选择。
实际使用Ext3文件系统
创建新的ext3文件系统,例如要把磁盘上的hda8分区格式化ext3文件系统,并将日志记录在/dev/hda1分区,那么操作过程如下:
[root@stationxx root]# mke2fs -j /dev/hda8
mke2fs 1.24a (02-Sep-2001)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
.. .. ..
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
在创建新的文件系统时,可以看到,ext3文件系统执行自动检测的时间为180天或每第31次被mount时,实际上这个参数可以根据需要随意调节。

以下将新的文件系统mount到主分区/data目录下:
[root@stionxx root]# mount -t ext3 /dev/hda8 /data
说明:以上将已格式化为ext3文件系统的/dev/hda8分区加载到/data目录下。
ext3 基于ext2 的代码,它的磁盘格式和 ext2 的相同;这意味着,一个干净卸装的 ext3 文件系统可以作为 ext2 文件系统重新挂装。Ext3文件系统仍然能被加载成ext2文件系统来使用,你可以把一个文件系统在ext3和ext2自由切换。这时在ext2文件系统上的ext3日志文件仍然存在,只是ext2不能认出日志而已。

以转换文件系统为例,将ext2文件系统转换为ext3文件系统,命令如下:
[root@stationxx root]# tune2fs -j /dev/hda9
tune2fs 1.24a (02-Sep-2001)
Creating journal inode: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
这样,原来的ext2文件系统就转换成了ext3文件系统。注意将ext2文件系统转换为ext3文件系统时,不必要将分区缷载下来转换。
转换完成后,不要忘记将/etc/fstab文件中所对应分区的文件系统由原来的ext2更改为ext3。

ext3日志的存放位置
可以将日志放置在另外一个存储设备上,例如存放到分区/dev/hda8。例如要在/dev/hda8上创建一个ext3文件系统,并将日志存放在外部设备/dev/hda2上,则运行以下命令:
[root @stationxx root]#mke2fs -J device=/dev/hda8 /dev/hda2
ext3文件系统修复
新的e2fsprogs中的e2fsck支持ext3文件系统。当一个ext3文件系统被破坏时,先卸载该设备,在用e2fsck修复:
[root @stationxx root] # umount /dev/hda8
[root @stationxx root] #e2fsck -fy /dev/hda8

 

ext3的优点
为什么你需要从ext2迁移到ext3呢?以下有四个主要原因:可用性、数据完整性、速度、易于迁移。
1、可用性
在非正常当机后(停电、系统崩溃),只有在通过e2fsck进行一致性校验后,ext2文件系统才能被装载使用。运行e2fsck的时间主要取决于 ext2文件系统的大小。校验稍大一些的文件系统(几十GB)需要很长时间。如果文件系统上的文件数量多,校验的时间则更长。校验几百个GB的文件系统可能需要一个小时或更长。这极大地限制了可用性。相比之下,除非发生硬件故障,即使非正常关机,ext3也不需要文件系统校验。这是因为数据是以文件系统始终保持一致方式写入磁盘的。在非正常关机后,恢复ext3文件系统的时间不依赖于文件系统的大小或文件数量,而依赖于维护一致性所需“日志”的大小。使用缺省日志设置,恢复时间仅需一秒(依赖于硬件速度)。
2、数据完整性
使用ext3文件系统,在非正常关机时,数据完整性能得到可靠的保障。你可以选择数据保护的类型和级别。你可以选择保证文件系统一致,但是允许文件系统上的数据在非正常关机时受损;这是可以在某些状况下提高一些速度(但非所有状况)。你也可以选择保持数据的可靠性与文件系统一致;这意味着在当机后,你不会在新近写入的文件中看到任何数据垃圾。这个保持数据的可靠性与文件系统一致的安全的选择是缺省设置。
3、速度
尽管ext3写入数据的次数多于ext2,但是ext3常常快于ext2(高数据流)。这是因为ext3的日志功能优化硬盘磁头的转动。你可以从3种日志模式中选择1种来优化速度,有选择地牺牲一些数据完整性。
4、易于迁移
你可以不重新格式化硬盘,并且很方便的从ext2迁移至ext3而享受可靠的日志文件系统的好处。对,不需要做长时间的、枯燥的、有可能失误的“备份-重新格式化-恢复”操作,就可以体验ext3的优点。有两种迁移的方法:
· 如果你升级你的系统,Red Hat Linux安装程序会协助迁移。需要你做的工作 就是为每一个文件系统按一下选择按钮。
· 使用tune2fs程序可以为现存的ext2文件系统增加日志功能。如果文件系统在转换的过程已经被装载了(mount),那么在root目录下会出现文件”.journal”;如果文件系统没有被装载,那么文件系统中不会出现该文件。转换文件系统,只需要运行tune2fs –j /dev/hda1(或者你要转换的文件系统所在的任何设备名称),同时把文件/etc/fstab中的ext2修改为ext3。如果你要转换自己的根文件系统,你必须使用initrd引导启动。参照mkinitrd的手册描述运行程序,同时确认自己的LILO或GRUB配置中装载了initrd(如果没有成功,系统仍然能启动,但是根文件系统会以ext2形式装载,而不是ext3,你可以使用命令cat /proc/mounts 来确认这一点。)详情可参看tune2fs命令的man page在线手册(执行man tune2fs)。

总而言之,ext3日志文件系统是目前linux系统由ext2文件系统过度到日志文件系统最为简单的一种选择,实现方式也最为简洁。由于是直接从ext2文件系统发展而来,系统由ext2文件系统过渡到ext3日志文件系统升级过程平滑,可以最大限度地保证系统数据的安全性。目前linux系统要使用日志文件系统,最保险的方式就是选择ext3文件系统。

 
最新的ext4
Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:

1. 与 Ext3 兼容。 执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。
2. 更大的文件系统和更大的文件。 较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。
3. 无限数量的子目录。 Ext3 目前只支持 32,000 个子目录,而 Ext4 支持无限数量的子目录。
4. Extents。 Ext3 采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在 Ext3 中要建立 25,600 个数据块(每个数据块大小为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的 25,600 个数据块中”,提高了不少效率。
5. 多块分配。 当写入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用 25,600 次数据块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc) 支持一次调用分配多个数据块。
6. 延迟分配。 Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。
7. 快速 fsck。 以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。
8. 日志校验。 日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4 的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。
9. “无日志”(No Journaling)模式。 日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。
10. 在线碎片整理。 尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。
11. inode 相关特性。 Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展属性(如纳秒时间戳或 inode 版本),默认 inode 大小为 256 字节。Ext4 还支持快速扩展属性(fast extended attributes)和 inode 保留(inodes reservation)。
12. 持久预分配(Persistent preallocation)。 P2P 软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。 Ext4 在文件系统层面实现了持久预分配并提供相应的 API(libc 中的 posix_fallocate()),比应用软件自己实现更有效率。
13. 默认启用 barrier。 磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit 记录,若 commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当 barrier 之前的数据全部写入磁盘,才能写 barrier 之后的数据。(可通过 "mount -o barrier=0" 命令禁用该特性。)

windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境)

2021.10.6 , , No Comments ,

首推phpstudy2016和wampServer3.0.6     理由支持php7.0

目前热门php框架如:laravel5.2要求php版本5.6以上,thinkphp及yii也对php版本有要求

一键搭建PHP运行环境工具

 

1.APMServ   https://www.phpts.com/

优点:功能强大,一键启动。 缺点:不支持php5.0

2. phpstudy       https://www.xp.cn/

特点支持php7.

3.WampServer    http://www.wampserver.com/

支持php7.0

Windows下的Apache+PHP+MySQL的服务器软件。PHP 扩展、Apache模块,但是程序支持中文。它能切换在线和离线状态,选项中的文语言项中也有简体中文可选.

4.Xampp

http://www.apachefriends.org/zh_cn/index.html

5.PHPnow

http://www.phpnow.org/
国内研发,集成套件,绿色免费,简易安装、可快速搭建支持虚拟主机的PHP环境。

 

6.Easy2PHP

官方网站已经过期,下载地址请自行搜索(推荐:http://www.greendown.cn/soft/8254.html)
国内研发,Windows下的Apache+PHP+MySQL+Zend+phpMyAdmin的绿色环境套件,免安装,几秒钟即可搭建你自己的Web服务器。

7.ComsenzEXP

http://www.comsenz.com/downloads/install/exp
国内研发,是康盛创想开发的一套社区产品整合体验安装包,ComsenzEXP包括:Discuz!(论坛)、SupeSite(CMS)、UCenter(用户中心)、UCenter Home(SNS社区)。

 

8.DedeAMPZ-PHP环境整合套件

http://www.dedecms.com/html/chanpinxiazai/20080905/39481.html
国内研发,直接整合PHP+Apache+MySql的服务器环境管理软件,操作十分傻瓜化,适合初中级水平的站长使用。该套装默认搭载dedecms,安装使用十分简单,并支持在php4与php5中切换。同样也可以调试其他PHP程序,只要放在wwwroot目录中即可。

 

 9.AppServ

http://www.appservnetwork.com/
泰国研发,一些网络上免费的架站资源重新包装成单一的安装程序,是PHP网页架站工具组合包,方便PHP初学者快速完成架站。

 

 

手动安装PHP运行环境方法

一般来说PHP运行环境需要安装以下几个组件:

1.Apache(阿帕奇)Web服务器软件;

2.MySQL(小型关系型数据库管理系统);

3.PHP(php语言的编译环境);

4:phpmyadmin(管理MYSQL的);

5.Zend(提高PHP执行速度)。

 

安装PHP常见问题

 

如果某些这样的PHP相关的服务无法启动,请注意一下你的机器中的80端口是否被占用,检查80端口是否被占用的方法:打开CMD(开始-运行-输入CMD后回车),输入netstat -ano就可以很清楚的看到本地80口占用程序的PID。

MESH组网和中继区别_无线中继_无线Mesh组网_无线Mesh路由器

2021.10.2 , , No Comments ,

总的来说:
无线中继,用户操作比较复杂些,只能组成简单的组网;
mesh,用户操作比较简单,组网简单,网状结构组网,且维护简单;

无线中继,即无线分布系统(WDS)组网就是利用AP的无线接力功能,将无线信号从一个中继点接力传递到下一个中继点,但是由于中继器必须在同一个信道上接收和转发,很明显这样就会将原本有线的带宽资源减半,层层递减,甚至在末端将面临有网无速的尴尬,而且由于是这种单链结构,其中一个路由坏了,后续的网络则全部瘫痪。

无线分布系统(WDS)最多允许在访问点之间配置四个点对点链路。一般情况,中心AP最多支持四个远端无线中继模式的AP接入。
无线中继模式虽然使无线覆盖变得更容易和灵活,但是却需要高档AP支持,而且如果中心AP出了问题,则整个WLAN将瘫痪,冗余性无法保障,所以在应用中最常见的是“无线漫游模式”,而这种“中继模式”则只用在没法进行网络布线的特殊情况下,可适用于那些场地开阔、不便于铺设以太网线的场所,像大型开放式办公区域、仓库、码头等。还有就两个网络隔离太远,网络信号无法传送到,就在中间设置一个中继AP,此AP只起中继的作用。

无线Mesh组网方式,与无线中继的单信道接收发送不同,无线Mesh网络进行多信道接入,所以,无线Mesh组网方式组成的是一种多节点互联的网格型网络,即便一个节点出现了问题,也不会导致整个WiFi网络瘫痪,因此拥有更高的稳定性!修改参数后,从节点会自动同步,在多个场景下的组网自动恢复也是很人性化。STA在多设备间切换也支持漫游切换。各节点间不仅可以通过无线连接,同样可以使用类似AC+AP模式的有线连接,获得更高的连接稳定性。
mesh的优点大概可以总结如下:
一、组网方便

在组网方面,全新的Mesh路由都拥有非常便捷的组网方式,在配置方面要比无线中继方便很多,可实现一键快速组网,按下按钮即可,完全不需要复杂的设置和手动操作,所以在连接和配置上比无线中继还要更加的方便智能。

二、无缝漫游

家里有了多个分身路由之后,可能有用户担心当从客厅走到卧室的时候,必然面临各个路由之间切换的问题,这个完全不用担心,从路由和主路由的多频信号被合成了一个WiFi名称,用户不用纠结连哪个,更不必手动切换,在屋内随意走动时,上网设备会自动连接最强信号,无缝无感切换,没有任何等待重连和卡顿感,上网体验十分流畅。

三、自动选择最优联网路径

第三就是用户的WiFi设备可以自动选择更优路线入网,自动侦测平衡带宽流量,而实现网络性能优化,上网环境稳定且可靠。

四、后续维护简单

后续用户修改主路由的WiFi各类参数,同时会同步给从路由,并恢复组网整体,便于用户的正常维护和使用。

IPv6是什么 IPv6有什么作用【详细介绍】

2021.10.1 , , No Comments ,

IPv6是什么?IPv6有哪些作用?

IPv6的概念

IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。目前IP协议的版本号是4(简称为IPv4),它的下一个版本就是IPv6。

目前网络上有不少对IPv6的错误认识,下面就列举部分。

1. IPv6 还不能用于生产环境

IPv6 已经开发了20年了,最初的工作是在1992年展开的,叫做“IP Next Generation”,在1998年被标准化为 IPv6。在2008年在因特网上部署,并且2008年的奥运会服务器就支持 IPv6。在2011年6月8日,几个大型网站开始测试启用 IPv6,叫做“World IPv6 Day”。所以 IPv6 是经过时间检验,可以正式商用的。

2. IPv6 将破坏我的网络

IPv6 并不是 IPv4 的补丁,它是一个新的协议可以在同一根网线上传输。它并不要求你禁用 IPv4,所以你并不需要对现有的网络进行更改。你可以在你的网络中同时部署 IPv6 和 IPv4。

3. IPv6 很难用

IPv6 和 IPv4 最大的区别是,IPv6 的地址长度是 IPv4 的四倍,地址的数量翻了无数倍。你也许会认为 IPv6 的地址太难记了,但是它和 IPv4 的结构是一样的,子网加主机。你可以将一个 IPv6 的地址读为“子网2中的主机7”。虽然你的地址中有很多的数字,但是那不意味着你不能用零来填充。

4. 用户会恨我

大部分用户不会注意到 IPv4 还是 IPv6。大部分的PC操作系统和浏览器都支持 IPv6。IPv6 支持 IPv4 支持的那些协议,例如 TCP 和 UDP。它也是通过 DNS 来解析地址,也就是说只要你不是使用 IP 地址来访问,IPv6 对于你来讲就是透明的。

5. IPv6 不安全

由于地址充足,IPv6 不需要 NAT。这是一件好事。NAT 隐藏了局域网内部的结构。但是 NAT 也就相当于防火墙规则的安全性。一个不好的安全规则等于没有规则。NAT 并不是为安全而建的,它只是延长 IPv4 寿命的折中方案。正如很多折中方案一样,它有副作用。NAT 让管理员和入侵者都很难理解网络结构。IPv6 的可怕在于它让公众意识到 NAT 这位国王原来没有穿衣服!

 6. IPv6 生来就是安全的

坊间总是有传闻 IPv6 比 IPv4 更安全,因为它支持 IPSec VPN。但是 IPSec 只有你设置的时候才起作用,并且 IPv4 也支持它。IPSec 并没有让 IPv6 比 IPv4 更安全。但这个传闻也不是完全不对,起码 IPv6 的地址范围让地址扫描比 IPv4 困难很多。

7. 不急着部署 IPv6

Internet 发展到今天,我们已经面临一个问题,有些地方 - 特别是亚洲 - 已经没有新的 IP 地址可以用。人们仍然可以上网,那是因为 ISP 使用了 NAT。但是在 IPv4 上使用 NAT 比迁移到 IPv6 要麻烦很多。很多经济正在高速发展的地区正在面临 IPv4 地址匮乏的问题,他们有强烈的需求迁移到 IPv6。

8. 我马上就要部署 IPv6

即使 IPv6 已经被广泛部署,IPv4 也不会马上消失。IPv4 仍将在互联网上存在很长一段时间,特别是企业内网。IPv4 将和 IPv6 并行存在。

9. 没有人在使用 IPv6

在 2011年的“WOrld IPv6 Day”过后,2012年迎来了“World IPv6 Launch”。绝大部的主要网站已经运行在 IPv6 上。很多 ISP 和路由器厂商加入了这项行动,使得 IPv6 更容易被访问。在 World IPv6 Launch 之后,任何人都可以使用 IPv6 了。

10. 我并没有用 IPv6

这大概是所有误解中最严重的一条。大部分的操作系统都是支持 IPv6 的,并且默认启用。如果你认为你的网络并不支持 IPv6,那很有可能是你不知道。即使你把 IPv6 路由功能关掉,类似于 Teredo 这样的管道协议也可以让一台主机拥有公共的 IPv6 地址,甚至是在 NAT 后面。

个人微信扫一扫微信号:aiti123com