启动器和目标器之间的TCP连接以及iSCSI协议赋予该TCP连接的属性合称为iSCSI连接。同一会话中相同启动器IP地址的只能有一个连接。对于每个连接有一个可接收的最大PDU的大小,缺省为8K,该大小指的是PDU中携带数据的大小不包括数据摘要, 头部摘要以及校验部分。这个大小又称最大接收PDU大小。
iSCSI的连接的主要工作是:接收从对方发送的PDU并完成必要的校验工作,如果这个PDU是登录请求PDU,那么首先在iSCSI连接范围内处理最终交会话层;如果是其他PDU,通常直接交会话层处理。每个iSCSI连接维持一个发送PDU的滑动窗口,这个滑动窗口可以实现PDU的选择重传。
在iSCSI协议连接过程中,可以创建两个进程,分别是Initiator-connect和Target-connect。在iSCSI连接建立的过程中,共有8个状态:
⑴ S1 FREE:
对于启动器为iSCSI协议连接初始化的状态或成功关闭后的状态。
对于目标器为iSCSI连接初始化的状态或成功关闭后的状态。
⑵ S2 XPT_WAIT:
对于启动器为己发送连接请求等待目标器返回响应的状态。
对于目标器该状态不存在。
⑶ S3 XPT_UP 等待来自客户的连接请求:
对于启动器该状态不存在。
对于目标器为成功接受连接,等待Login开始的状态。
⑷ S4 IN_LOGIN等待登录客户确认连接的决定。可能需要进行若干PDU的交换:
对于目标器为等待Login过程结束的状态,在该状态下目标器可能与启动器有若干个PDU的交换。
⑸ S5LOGGED_ IN全功能阶段((Full-Feature phrase):连接的正常工作状态,等待数据输入或协议栈内部产生的事件:
对于启动器该状态为全功能状态,可以接受并处理所有的内部iSCSI协议事件和传输事件。
对于目标器该状态为全功能状态,可以接受并处理所有的内部iSCSI事件和传输事件。
⑹ S6 IN_ LOGOUT等待协议栈内部的LOGOUT结束的信号:
对于启动器为等待Logout Response的状态。
对于目标器为等待内部Logout处理完成的过程。
⑺ S7 LOGOUT处理启动:
对于启动器为等待可以进行Logout处理的内部事件的状态。
对于目标器为通过Async Message发送Logout Request后等待Logout过程启动的状态。
⑻ S8 CLEANUP WAIT等待连接的清理工作:
对于启动器为等待某事件启动当前连接状态机CSM清理资源过程的状态。
对于目标器为等待当前连接状态机CSM开始清理资源的状态。
根据上面的状态,可以在OPNET中实现出启动器和目标器之间的iSCSI协议建立连接的状态图。
热点导读:
2013年,软件产业面临着结构性的转型与升级,在蕴藏着巨大机遇的同时,如何科学、方便、快捷地选择到适合自己的软件,是CIO面临的一大挑战。2013年3月15日,中国首届软件用户选型与体验大会暨中国软件金牛奖颁奖盛典将在中关村软件园软件广场隆重开幕。