【存储】SCSI、iSCSI协议详解及对比

article/2025/9/23 1:57:59

作        者:  @NGDCN

原文链接:【存储】SCSI、iSCSI协议详解及对比 - NGDCN

版        权: 本文由 @NGDCN 于2022-11-11原创发布在 NGDCN,未经许可,禁止转载。

SCSI

SCSI是小型计算机系统接口(Small Computer System Interface)的简称,于1979首次提出,是为小型机研制的一种接口技术,现在已完全普及到了小型机,高低端服务器以及普通PC上。SCSI协议定义了一套不同设备(磁盘,磁带,处理器,光设备,网络设备等)利用该框架进行信息交互的模型和必要指令集。

SCSI指的是一个庞大协议体系,可以划分为SCSI-1、SCSI-2、SCSI-3,最新的为SCSI-3,也是目前应用最广泛的SCSI版本。

◼ SCSI-1:1979年提出,支持同步和异步SCSI外围设备;支持7台8位的外围设备,最大数据传输速度为5MB/s。

◼ SCSI-2:1992年提出,也称为Fast SCSI,数据传输率提高到20MB/s。

◼ SCSI-3:1995年提出,Ultra SCSI(Fast-20)。Ultra 2 SCSI(Fast-40)出现于1997年,最高传输速率可达80MB/s。1998年9月,Ultra 3 SCSI(Utra 160 SCSI)正式发布,最高数据传输率为160MB/s。Ultra 320 SCSI的最高数据传输率已经达到了320MB/s。

SCSI协议本质上同传输介质无关,SCSI可以在多种介质上实现,甚至是虚拟介质。例如基于光纤的FCP链路协议(FCP,Fibre Channel Protocol,是使用底层光纤通道连接的 SCSI接口 协议),基于SAS的链路协议(串行SCSI协议(SSP)用于传输SCSI命令),基于虚拟IP链路的iSCSI协议。通俗点说SCSI协议就是一个存储设备与服务器之间接口传递的一个规范。

SCSI 实现了一种客户机/服务器风格的通信架构。发起者/Initator向目标设备/Target发送命令请求。该目标处理此请求并向发起者返回响应。发起者可以是托管计算机中的一个 SCSI 设备,而 SCSI 最终访问目标则可以是一个磁盘、光盘和磁带设备或特殊设备(比如箱体设备,LUN)。下图是一个整体逻辑拓扑架构示例。

逻辑单元(LUN):LUN是SCSI目标器中所描述的名字空间资源,一个目标器可以包括多个LUN,而且每个LUN的属性可以有所区别,比如LUN#0可以是磁盘,LUN#1可以是其他设备。

启动器(Initiator):本质上,SCSI是一个C/S架构,其中客户端成为启动器,负责向SCSI目标器发送请求指令,一般主机系统都充当了启动器的角色。启动器通常在软件中实现,其功能类似于硬件 iSCSI HBA,以从远程存储服务器访问目标。使用基于软件的 iSCSI 发起程序需要连接到具有足够带宽的现有以太网网络以承载预期的存储流量。

目标器(Target):处理SCSI指令的服务端称为目标器,它接收来自主机的指令并解析处理,比如磁盘阵列的角色就是目标器。 SCSI的Initiator与Target共同构成了一个典型的C/S模型,每个指令都是“请求/应答”这样的模型来实现。为了提供对存储或输出设备的访问,目标配置有一个或多个逻辑单元号 (LUN)。在 iSCSI 中,LUN 显示为目标的按顺序编号的磁盘驱动器,尽管目标通常只有一个 LUN。启动器与目标执行 SCSI 协商以建立到 LUN 的连接。LUN 以模拟 SCSI 磁盘块设备的形式响应,它可以以原始形式使用,也可以使用客户端支持的文件系统进行格式化。iscsi 通过使用 ACL 提供 LUN 屏蔽。这确保了只有指定的客户端节点才能登录到特定的目标。在目标服务器上,可以在 TPG 级别设置 ACL 以保护 LUN 组,或为每个 LUN 单独设置。

◼ Initiator主要任务:发出SCSI请求。

◼ Target主要任务:回答SCSI请求,通过LUN提供业务,并通过任务管理器提供任务管理功能。

iSCSI

iSCSI是由Cisco和 IBM两家发起的,2003年2月由IETF(互联网工程任务组)认证通过,是一项比较成熟的技术。它将SCSI命令封装在TCP/IP包里,并使用一个iSCSI帧头。它基于IP协议栈,假设以不可靠的网络为基础,依靠TCP恢复丢失的数据包。iSCSI继承了两大最传统技术:SCSI和TCP/IP协议。这为iSCSI的发展奠定了坚实的基础。基于iSCSI的存储系统只需要不多的投资便可实现SAN存储功能,甚至直接利用现有的TCP/IP网络。相对于以往的网络存储技术,它解决了开放性、容量、传输速度、兼容性、安全性等问题,其优越的性能使其备受始关注与青睐。

如上图所示,iSCSI (Internet SCSI)把SCSI命令和块状数据封装在TCP中在IP网络中传输。iSCSI作为SCSI的传输层协议,基本出发点是利用成熟的IP网络技术来实现和延伸SAN。 iSCSI协议是SCSI远程过程调用模型到TCP/IP协议的映射。SCSI协议层负责生成CDB,并将其送到iSCSI协议层,然后由 iSCSI协议层进一步封装成PDU,经IP网络进行传送。

iSCSI工作流程

 

◼ iSCSI系统由SCSI适配器发送一个SCSI命令。

◼ 命令封装到TCP/IP包中并送入到以太网络。

◼ 接收方从TCP/IP包中抽取SCSI命令并执行相关操作。

◼ 把返回的SCSI命令和数据封装到TCP/IP包中,将它们发回到发送方。

◼ 系统提取出数据或命令,并把它们传回SCSI子系统。

具体来讲,发起端(Initiator):

◼ SCSI层负责生成CDB(命令描述符块),将CDB传给iSCSI。

◼ iSCSI层负责生成iSCSI PDU(协议数据单元),并通过IP网络将PDU发给target。

目标器(Target):

◼ iSCSI层收到PDU,将CDB传给SCSI层。

◼ SCSI层负责解释CDB的意义,必要时发送响应。

总结

SCSI与ISCSI区别

◼ iSCSI,即internet SCSI,是IETF制订的一项标准,用于将SCSI数据块映射成以太网数据包。从根本上说,iSCSI协议是一种跨过IP网络来传输潜伏时间短的 SCSI数据块的方法;简单的说, iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。

◼ SCSI 的意义是小型计算机系统接口(Small Computer System Interface);今天的SCSI已划分为SCSI-1和SCSI-2,以及最新的SCSI-3三个类型。不过,目前最为流行的版本还要算是SCSI-2

参考资料

1、SCSI/ISCSI协议_嚴 帅的博客-CSDN博客_iscsi scsi

2、SCSI、FC、iSCSI三大协议概述 - 知乎

3、scsi和iscsi区别_yujin2010good的博客-CSDN博客_iscsi和scsi

4、https://www.interserver.net/tips/kb/iscsi-internet-scsi-target-initiator-configuration/

5、存储知识学习之--IP网络存储iSCSI的概念与工作原理-阿里云开发者社区


http://chatgpt.dhexx.cn/article/TZC9sHkX.shtml

相关文章

ISCSI详解(二)——ISCSI基础知识

今天继续给大家介绍Linux运维相关知识,本文主要内容是ISCSI基础知识。 一、ISCSI简介 ISCSI,即Internel Small Computer System Interface,互联网小型计算机接口,就是在互联网上运行SCSI协议的一种技术。 ISCSI把原本用于用于计…

ISCSI介绍

ISCSI Internet Small Computer System Interface ISCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,…

iSCSI详解及 iSCSI服务端配置、客户端(Linux、Windows配置)

一、简介: iSCSI,Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。iscsi通过TCP/IP协议,实现远程存储单元的…

交换机的Access口与Trunk口

基本概念 Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口; Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口; 处理流程 Acess端口收报文:…

交换机中access和trunk详解

首先需要说明的是,vlan的标准802.1q中采用的是untagged,tagged这两个术语来制定vlan规范,并没有access,trunk。然而大多数实际的交换机设备在配置时,却都采用access,trunk。 以下简称802.1q中数据包中的vlan标识部分为vid标签。 …

什么是trunk端口?

什么是iis7服务器监控工具Trunk端口 基本概念 Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口; 处理流程 trunk端口收报文: 收到一个报文,判断是否有VLAN信息,如果没有则打上端口的PVID,并进行交换转发;如果有判断…

链路聚合Eth-Trunk

链路聚合简介 以太网链路聚合Eth-Trunk简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。 目的&…

超详细讲解access和trunk的区别,从此不再迷糊

我在网上阅读了好几篇关于这个主题的博文,发现很多都是有错误理解的,特此发表一下关于本人的理解,本文只简单概述access和trunk的区别并且hybrid不做探讨。 一、接收区别 access收到的帧通常是不带vlanTag的,收到无tag的帧会打上…

Eth-Trunk技术原理与配置

目录 前言Eth-Trunk概念手工负载分担模式LACP模式LACP模式活动链路的选取LACP模式的抢占机制 Eth-Trunk接口负载分担模式配置手工负载分担模式配置LACP模式 前言 随着网络中部署的业务量不断增长,对于全双工点对点链路,单条物理链路的带宽已不能满足正常…

TRUNK通信过程

一、拓扑结构 拓扑说明,PC1、PC3连接到VLAN10接口下,PC2、PC4连接到VLAN20接口下,两台交换机用trunk链路连接,允许VLAN10 20 通过 以上述拓扑为例,说明PC1到PC3的通信过程 二、通信过程 PC1 ping PC3 PC1发起一个与…

trunk与access的区别

首先声明我没研究过交换机底层实现,以下结论都是我的个人理解。不保证正确,但是有助于理解trunk和access。以下言论可能你在哪里都没有看到过。 先说观点:我认为trunk与access并没有本质的区别。 access收到带vlan的帧和自己所属vlan比较&a…

TRUNK详解

TRUNK 详解 TRUNK作为一个重要的指标,常常在二层交换机的性能参数中被提到,许多的二层交换机产品在介绍其性能时,都会提到能够支持TRUNK功能,从而可以为互连的交换机之间提供更好的传输性能。一下就是TRUNK的介绍 一、什么是TRUN…

链路聚合(eth-trunk)

文章目录 1.链路聚合概述①概念:②链路聚合两种模式:当两台交换机之间使用链路聚合技术进行互连时,各个成员端口需要满足以下哪些条件? 2.二层链路聚合配置修改负载均衡的方式:(可选)注意:e-tru…

Trunk和Access分析

一、配置界面: 如果有页面可以添加trunk口和access口,如常规的HCI产品上,交换机通常可以增加新的trunk和access, 新建的时候,配置参数就不一样: 1、trunk:两个配置参数 (1)、vlan范…

实验: 配置trunk

配置trunk 实验: 配置trunk1、实验拓扑结构图如下:2、给每台主机配置IP地址3.配置SW14.配置SW25.配置trunk端口(两个交换机都要配置)6.流量控制7.修改nativeVLAN为VLAN 90 实验: 配置trunk 实验目标: 1.学会配置trunk,实现端到端VLAN通信 2.配置trunk流量控制 3.修…

Access、Trunk、Hybrid模式详解

文章目录 华为交换机转发VLAN数据时的行为详解前言参考阅读一、交换机的行为1.1 接收数据1.2 转发数据 二、工作模式横向对比2.1 接入模式2.2 中继模式2.3 混杂模式 三、实验详解3.1 几种模式的配置3.2 DHCP分配地址时对于native vlan的处理方式至此,理论实验完成&a…

Trunk概念

一、为什么需要trunk? 1、当一条链路,需要承载多VLAN信息的时候,需要使用trunk来实现。 2、trunk两端的交换机需要采用相同的干道协议。 3、一般见于交换机之间或交换机与路由器、服务器之间。 4、划分多个vlan之后,解决不同交换机…

access与trunk详细解析+区别

目录 一、Access 二、Trunk 三、区别: 四、额外说明: 一、Access Access只能属于一个vlan,一般用来连接计算机的端口Access接受和转发的数据包必是无VID的数据包Access端口发送出去的数据包无VID,可被PC接受或access口接受。…

TRUNK 的介绍和配置

一、 TRUNK 的背景 : 如果交换机与交换机之间存在多条链路,交换机每增加一个vlan,交换机与交换机就会增加一条链路。这样会存在链路浪费,就产生了 DTP ( dynamic trunk protocols)采用trunk后,所…

网络管理中TRUNK的作用和使用

😘作者简介:一名99年运维岗位员工。👊宣言:人生就是B(birth)和D(death)之间的C(choise),做好每一个选择。🙏创作不易,动动…