
_START_ARTICLE_
ATA over Ethernet
_START_PARAGRAPH_
ATA over Ethernet（简称：AoE）是由Brantley Coile所提创的一种网络通讯协议，此协议可以在以太网路上访问ATA标准的存储装置（多指硬盘），运用此协议的好处在于能以平价且标准的技术来实现一个存储局域网络环境。_NEWLINE_AoE不倚赖以太网路中网络层以上的协议，包括IP、UDP、TCP等都弃舍不用，这表示AoE不能通过在局域网络上进行路由、绕径，很明显AoE仅打算做为存储局域网络之用。_NEWLINE_需要注意的是，AoE与iSCSI相同，皆强调自身是远比光纤渠道（Fibre Channel）低廉的存储局域网络布建方案，不过AoE标榜比iSCSI更简单、更低廉。单就标准规范的技术文件而言，AoE规格仅有8页，而iSCSI却为257页。
_START_SECTION_
支持AoE的软、硬件
_START_PARAGRAPH_
在支持的硬件方面，有Coraid公司推出AoE用的硬盘柜，称为EtherDrive。_NEWLINE_另外，LayerWalker（中文名：联克科技）也推出了AoE的SoC芯片。 实际测试的性能，在10/100Mbps以太网路上可以达到最高11.5MB/s（约92Mbps）的速度。在Gigabit网络上，则可以达到最高65MB/s（约530Mbps）读取速度与55MB/s（约440 Mbps写入速度）。称为miniSAN的这个Soc解决方案，展现了AoE有足够的能力与稳定性以取代价格高昂的iSCSI与速度较慢的SAMBA，FTP等以TCP为基础的资料传输协议。_NEWLINE_在软件方面，自由软件的专案网站：SourceForge.net有提供vblade软件的下载，将vblade软件安装到Linux服务器上，Linux服务器就会通过网络去寻找AoE硬盘柜，找寻到后便可向硬盘柜提出存储服务的请求，进而使用硬盘柜内的存储空间、资源。vblade软件有两种型态与执行法，一种是以使用者空间（userspace）的执行程式（属aoetools工具程式包的一部分）来运作，另一种是以Linux的核心模组程式（kernel module）来运作。
_START_SECTION_
相关概念
_START_PARAGRAPH_
虽然AoE是简单的网络协议，但在存储的功效机制运作上却也增高了复杂性，因此有必要对AoE的进一步细节进行了解，如此才能切实依据场合、情境的需求来决定是否该采行AoE，同时此也有助于将一些新存储概念的普及推行。
_START_SECTION_
区块性的存储传输
_START_PARAGRAPH_
首先，ATA在AoE中被当成一种硬盘用的线路协议，资料写入硬盘后若要进行读出，则会以一个或一个以上的块状型态进行回传，且每块的容量尺寸大小（Block size）固定一致，此可称为传输区块（Block），AoE的技术基础即是此种“区块性传输”。_NEWLINE_接着，AoE协议直接、简单地将ATA指令（ATA command）送入低阶网络封包内，此种方式使以太网路线（ethernet cable）能有效取代ATA界面的接线（或称：排线，ribbon cable），AoE可以在以太网路所及的各处进行资料区块的搬运与传输，而以太网路上的各端点可以是硬盘（硬盘柜）或电脑。_NEWLINE_对ATA标准中的ATA排线而言，它不用去理会自身所传输的是何种资料区块，这对AoE标准而言也是相同，AoE标准所用的以太网路线不用去了解它所传输的是何种资料区块，用户可以读出、写入任何想要的区块资料，只不过在多数情况下，文件系统将比传输区块更适合用来进行资料的组织与结构化运用。
_START_SECTION_
区块传输上的文件系统
_START_PARAGRAPH_
就传统而言，使用者是以文件系统的方式来使用电脑中的硬盘，如ext3、XFS、以及NTFS等文件系统皆是以此种想定所设计、运用。_NEWLINE_然而在使用AoE时，由于AoE运用以太网路来取代ATA排线，这就有可能破坏此种想定用法，改以AoE方式运作对传统文件系统而言是一件危险的事，有可能导致文件系统的错乱，或造成操作系统的核心错愕（kernel panic）。_NEWLINE_对此，AoE是用集群式的文件系统来避免这些问题，使AoE硬盘、硬盘柜的区块性存储、传输的装置设备，能够同时供多部电脑访问使用，跳脱过往ATA技术只能让硬盘、硬盘群专供单一部电脑访问使用的限制。若就实际的功效运作来说，能够访问AoE硬盘柜的服务器自身就如同是加入集群系统的一部集群电脑，是以集群的共享机制来共同取用存储资源，而AoE硬盘柜即是一个可供共享的区块性存储设备。_NEWLINE_至于具集群功效的文件系统有哪些，常见的有GFS、OCFS2等。
_START_SECTION_
组态字串
_START_PARAGRAPH_
当同时间有一部以上的服务器对AoE硬盘柜进行访问，此时传输运作就会发生冲突，因为AoE硬盘柜不能确认哪一部服务器拥有真正的访问主控权，为了解决这个问题，AoE协议中具备一种协调机制，通过此种机制来排解冲突，使同时性的访问纠纷可以化解，此外该机制也能维持与保护共享资料的一致性，避免资料发生矛盾，举例来说，当一部服务器取得AoE硬盘柜的访问主控权时，特别是服务器正将新的资料写入硬盘时，机制上会自动对正在写入的存储区块进行保护，防止其他的服务器也对该区块进行写入，待原有的服务器完成写入后才将保护解除，并允许下一个获得主控权的服务器对该区块进行读出或写入。_NEWLINE_若进一步探究，AoE允许用两种方式来实现此种排解机制，一种是由已经获得访问主控权的服务器，由该服务器以TCP/IP协议的方式对其他服务器发送讯息，告知哪个区块正在访问使用中，请勿对该区块进行重复性访问，以免造成访问冲突与资料矛盾等问题，等于让多部服务器间自行进行访问上的讨论与知会。_NEWLINE_另一种作法是由AoE硬盘柜自己来决定哪个服务器可以进行访问，AoE协议也支持此种作法，在AoE协议中具有一种组态字串（Config String）的功效机制，即是在AoE硬盘柜上设置一个组态字串，由各部服务器来对此字串进行设定（对字串的存储区进行写入），设定成功的服务器即拥有访问传输的主控权，反之失败的服务器只能等候与再次尝试设定，而同时间只会有一个服务器能成功设定。