基于扇区操作的无盘工作站数据传输格式和传输方法

文档序号:7662103阅读:199来源:国知局
专利名称:基于扇区操作的无盘工作站数据传输格式和传输方法
技术领域
本发明涉及计算机网络技术,尤其涉及一种基于扇区操作的无盘工作站数 据传输格式和传输方法。
技术背景无盘工作站充分利用了网络技术的优点,计算机所必须的硬盘用虚拟的硬 盘代替。近年来,无盘工作站技术逐渐完善,其成本低、便于管理的优点逐渐 被认识。很多学校、网吧、金融机构、酒店等开始大规模应用无盘工作站。传统的无盘工作站启动过程如下无盘工作站在加电启动的时候,使用BOOTP/DHCP协议广播自己的MAC地址,BOOTP/DHCP服务器响应无盘工作站 的广播,并返回无盘工作站的IP地址,然后无盘工作站使用TFTP协议取得启动 映象文件,运行启动映象文件即能完成可启动过程。传统的无盘工作站虽然能正常工作,但有以下缺点(1) TFTP协议需要IP协议和UDP协议作为基础。虽然和FTP协议相比己经作 了简化,但在无盘工作站启动时,客户机程序在BootROM里完成,BootROM空 间有限,TFTP还是显得复杂。(2) IP协议和UDP协议都有数据包头,在局域网上传输的时候,有效数据所 占比例下降。(3) TFTP协议的操作对象是文件,在服务器上完成磁盘扇区操作到文件操作 的转换,服务器需要较多的计算量,不利于提高速度。发明内容本发明的目的在于提供一种基于扇区操作的无盘工作站数据传输格式和传 输方法,在无盘工作站启动时,提供一种技术手段,可以充分利用以太网的带 宽,实现高速传输数据,并且可以和BIOS操作无缝连接。这种数据传输方法是 以以太网数据为基础的,和TCP/IP协议无关。本发明解决其技术问题采用的技术方案是1. 一种基于扇区操作的无盘工作站数据传输格式数据包包括磁盘数据头、磁盘数据头加程序上下文、磁盘数据头加磁盘扇 区数据或磁盘数据头加程序上下文加磁盘扇区数据。所述的磁盘数据头,总长度共16字节,包括ID字段2字节,OpType字段l字
节,PktOrder字段l字节,SNo字段2字节,Len字段2字节,ReserverdField字段8字节。所述的程序上下文,总长度83字节,包括Flag字段l字节,AX字段2字节, BX字段2字节,CX字段2字节,DX字段2字节,BP字段2字节,SI字段2字节,DI字 段2字节,ES字段2字节,DS字段2字节,PacketAddress字段16字节,ReservedBytes字段48字节。所述的磁盘扇区数据长度选512字节或1024字节。2. —种基于扇区操作的无盘工作站数据传输方法,包括服务器定位、读磁 盘操作、写磁盘操作和磁盘参数传送;其中所述的服务器定位操作由客户机请求,服务器应答,客户机得到服务器的 MAC地址;所述的读磁盘操作由客户机请求,服务器读取磁盘数据,并将磁盘数据返 回到客户机;所述的写磁盘操作由客户机将程序上下文和扇区数据传送到服务器,由服 务器完成写磁盘,并将程序上下文返回到客户机;所述的磁盘参数传送由客户机请求,服务器将程序上下文返回给客户机。 本发明具有的有益效果是直接在以太网数据格式基础上定义,并且直接传输扇区数据,冗余数据少, 传输速度快,客户机程序比较简单,服务器的计算负荷低。


图l是服务器定位示意图。图2是读磁盘操作示意图。图3是写磁盘操作示意图。图4是磁盘参数传送示意。
具体实施方式
一、数据格式定义数据包格式,采用最常见的以太网(RFC 894)的数据格式。目的地址源地址协议类型磁盘数据CRC其中目的地址6字节,源地址6字节,协议类型2字节,两字节分别为4AH和 2EH,所有数据包均相同。按以太网的有关规定,数据长度在46 1500字节之间。本发明所描述的数据传输格式,不会超过1500字节,如果磁盘数据长度不 足64字节,以0填充至64字节。CRC校验码,遵循RPC 894的规定。磁盘数据也
分成几个部分,格式如下磁盘数据头程序上下文 扇区数据为了和PC机的数据格式兼容,减少数据格式转换的工作量,数据采用小尾 (Little EndiarO的字节顺序,磁盘数据头在每一个数据包中存在,程序上下文 和扇区数据则是可选的。磁盘数据头包括以下几个字段ID: 2字节,这个字段表明数据发送端的编号,在使用本协议的局域网内,每一台计算机,都有一个唯一的ID号,服务器的ID为0。OpType: l字节,操作类型,是一个ASCII码字符,以下三种可能,'C'表示 本数据包为一个磁盘命令,'D'表示磁盘数据,'R'表示服务器定位操作。PktOrder : l字节,磁盘数据包的顺序号,表明本数据包在一组操作中的顺 序号,在一次操作开始时清0,每发出一个数据包加l。SNo : 2字节,表示操作的序列号,在同一次操作中,如果不止一个数据包, 则使用相同的序列号。Len: 2字节,数据长度,表明磁盘数据头后面的数据长度,不包括磁盘数 据头本身的长度。ReserverdField:8字节,保留字段,作为将来扩展之用。程序上下文的内容即为PC机调用BIOS INT13H的读写磁盘所需要的上下 文,这一字段的实际作用是把客户机调用BIOS之前的程序上下文传到服务器, 由服务器完成磁盘操作,再将操作结果及程序上下文传到客户机。字段定义如下Flag:l字节,其值为PC机的程序状态字的CF位。AX,BX,CX,DX,BP,SI,DI,ES,DS:总共18字节,和PC机寄存器的名称及意义均相同。PacketAddress:这个字段总共16字节,和INT 13 H的扩展功能所需要的磁盘地址包有相同的定义,包含以下的子字段(1) packet—size: l字节,必须为10H,(2) reserved: l字节,保留字段,必须为0(3) block—count: 2字节,传输的扇区数(4) buffer—addr: 4字节,内存缓冲区地址(段偏移)(5) block—num: 8字节,起始绝对扇区号(即起始扇区的LBA号码) ReservedBytes:48字节,保留字节,为将来扩展之用。 磁盘扇区数据的长度可选,最长不超过1024字节,由磁盘数据头的Len字段确定。二、数据传输方法木数据传输方法是客户机/服务器模式,所有的操作都是由客户机主动请求, 服务器应答。分为4种操作,服务器定位操作、读磁盘、写磁盘、磁盘参数传送。1、 服务器定位这是客户机开机以后的第一个请求,用于定位服务器,也就是得到服务器的MAC地址,如图1所示。按RFC 894的规定,请求数据包的目的地址为广播地址,6字节的FFH,源 地址为客户机网卡的MAC地址,数据包仅有一个磁盘数据头,OpType字段为'R,, PktOrder为l其他字段按上一节定义。应答数据包,目的地址为客户机地址,源地址为服务器地址,其他字段和 请求数据包相同。2、 读磁盘操作读磁盘操作实质上是客户机将BIOS的INT13H的程序上下文传送到服务器, 由服务器完读取磁盘,并将程序上下文和扇区数据返回到客户机,如图2所示。 请求数据包格式如下磁盘数据头程序上下文磁盘数据头的OpType字段为,C,,程序上下文即为调用INT 13H之前的程序 上下文。如果不出错,至少有2个应答数据包,第一个应答数据包,格式和请求 数据包相同,将服务器调用INT 13H后的程序上下文传送到客户机。从第2个应 答数据包开始是磁盘扇区的数据包,格式如下磁盘数据头磁盘数据磁盘数据可以是l个扇区(512字节)或2个扇区(1024字节)。数据长度由磁 盘数据头的Len字段确定,可以连续传送多个数据包,直到把读出的磁盘数据传 送完毕。客户断根据第一个应答数据包判断所请求的读操作是否被成功执行了。 3、写磁盘操作和读磁盘操作类似,写磁盘操作是客户机将BIOS的INT13H的程序上下文和扇区数据传送到服务器,由服务器完成写磁盘,并将成程序上下文返回到客户 机,如图3所示。第一个请求数据包为程序上下文,磁盘数据头的OpType字段为,C,,格式如 磁盘数据头程序上下文接下去至少一个数据包为磁盘扇区数据,磁盘数据可以是l个扇区(512字 节)或2个扇区(1024字节)。数据长度由磁盘数据头的Len字段确定,可以连续 传送多个数据包,直到把读出的磁盘数据传送完毕。格式如下磁盘数据头磁盘数据应答数据包的格式和第一个请求数据包一样,是服务器调用INT 13H后的程 序上下文。4、磁盘参数传送PC机的BIOSINT13H除了读写磁盘扇区,还有其他功能,比如8H号功能和 48H号功能可以获得磁盘的容量大小,如图4所示。请求数据包格式如下磁盘数据头程序上下文在服务器调用BIOS后将程序上下文返回到客户机,如果除了程序上下文还 有其他数据,那么也在同一个数据包中传送,数据长度由磁盘数据头的Len字段确定。格式如下。磁盘数据头程序上下文磁盘数据三、 出错控制机制本发明应用在局域网上,通常是比较可靠的,出错的概率很小,为了提高 效率,减小计算量,不采用检错、纠错码。本发明采用比较简单的重传机制, 任一次操作失败或超时,将导致客户机重新操作一次,超时的时间为l秒钟。四、 多用户实现本发明可以实现多用户并行操作,每一个客户机都可以任意修改文件,并 永久保存。为了保证并行操作无冲突,采取了以下措施
1、 为每一客户机分配唯一的ID号;
2、 服务器为每一个客户机保存足够的信息,包括ID号,MAC地址,操作的 序列号SNo,磁盘数据包的顺序号PktOrder,程序上下文等;
3、 实现多用户并行操作的最重要措施是服务器的磁盘采用了一种独特的存 储结构,这种结构的要点是为每一客户机分配一块独立的磁盘空间,对任意文 件的修改都保存在这 -磁盘空间中,而原文件保持不变。本发明适用于无盘工作站和服务器之间的通信,主要有以下需求(1)只在局域网内通信,不需要路由功能。
(2) 传送的数据主要为磁盘扇区。
一个磁盘扇区为512字节, 一个以太网数据包最多容纳2个磁盘扇区,协议可以一次传送l个或2个磁盘扇区。(3) 能快速高效地传输数据。(4) 对服务器的计算负荷低, 一台服务器能支持数十台客户机同时启动。(5) 需要有简单有效的出错重传机制。(6) 可以支持多操作系统启动。(WINDOWS系列) 五、数据包实施例以下是Ethereal软件抓取的数据,这是次读磁盘操作,总共3个数据包, 是读取磁盘主引导区,Frame 3是客户机向服务器请求读数据,Fram4是服务器 向客户机返回程序上下文,Frame5则是一个磁盘扇区。Frame 3 (78 bytes on wire, 78 bytes captured)Arrival Time: Jun 16, 2005 15:47:28.135923000Time delta from previous packet: 0.000117000 secondsTime relative to first packet: 0.000240000 secondsFrame Number: 3Packet Length: 78 bytesCapture Length: 78 bytes Ethernet II, Src: 00:05:07:02:lf:87, Dst: 00:05:07:01:al:06Destination: 00:05:07:01 :al:06 (FineAppl一01:al:06)Source: 00:05:07:02:lf:87 (FineAppl一02:lf:87;)Type: Unknown (0x4a2e) Data (64 bytes)0000 02 00 43 00 02 00 30 00 00 00 00 00 00 00 00 00 ..C...O.........0010 00 01 02 00 7c 01 00 80 00 00 00 95 a2 95 a2 00 ....|...........0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................Frame 4 (78 bytes on wire, 78 bytes captured)Arrival Time: Jun 16, 2005 15:47:28.183899000 Time delta from previous packet: 0.047976000 seconds Time relative to first packet: 0.048216000 secondsFrame Number: 4Packet Length: 78 bytesCapture Length: 78 bytes Ethernet II, Src: 00:05:07:01 :al:06, Dst: 00:05:07:02:lf:87Destination: 00:05:07:02:lf:87 (FineAppl—02:If:87)Source: 00:05:07:01 :al:06 (FineAppl—01 :al:06)Type: Unknown (0x4a2e) Data (64 bytes)0000 00 00 43 00 02 00 30 00 00 00 00 00 00 00 00 00 ..C,.,O.0010 46 00 00 00 7c 01 00 8000 00 00 95 a2 95 a2 00R..|…… 0020 0030Frame 5 (542 bytes on wire, 542 bytes captured)Arrival Time: Jun 16, 2005 15:47:28.184348000 Time delta from previous packet: 0.000449000 seconds Time relative to first packet: 0.048665000 seconds Frame Number: 5 Packet Length: 542 bytes Capture Length: 542 bytesEthernet II, Src: 00:05:07:01 :al:06, Dst: 00:05:07:02:lf:87 Destination: 00:05:07:02:lf:87 (FineAppl一02:lf:87) Source: 00:05:07:01 :al:06 (FineAppl—01 :al:06) Type: Unknown (0x4a2e)Data (528 bytes)0000 00 00 44 01 02 00 00 02 00 00 00 00 00 00 00 00 ..D..........0010 33 c0 8e d0 be 00 7c fb 50 07 50 If fc be lb 7c 3.....|.P.R...|0020 bf lb 06 50 57 b9e5 01 Ga4cbbebe07bl 04 …PW.........0030 38 2c7c 09 75 15 83 c6 10 e2f5cd 18 8b 14 8b 8,|.u.......... 0040 0050 0060 0070 0080 0090 00a0 00b0 OOcO 00d0 00e0 00f0 0100 0110 0120 0130 0140 0150 0160 0170 0180 0190 OlaO OlbO OlcO OldO OleO OlfD 0200ee 83 c6 10 49 74 16 38 2c 74伤be 10 07 4e ac ….It8,t….N.3c 00 74 fa bb 07 00 b4 0e cd 10 eb G 89 46 25 <.t...........F%96 8a 46 04 b4 06 3c 0e 74 11 b4 0b 3c 0c 74 05 ..F…〈.t…〈丄3a c4 75 2b 40 c6 46 25 06 75 24 bb aa 55 50 b4 :.u+@.F%.u$..UR41 cd 13 58 72 16 81 fb 55 aa 75 10 f6 cl 01 74 A,.Xr…U.u….tOb 8a e0 88 56 24 c7 06 al 06 eb le 88 66 04 bf ....V$.……f..Oa 00 b8 01 02 8b dc 33 c9 83 ff 05 7f 03 8b 4e …….3……,N25 03 4e 02 cd 13 72 29 be 59 07 81 3e fe 7d 55 %.N...r).Y>.}Uaa 74 5a 83 ef 05 7f da 85 f6 75 83 be 2e 07 eb .tZ.......u.....8a 98 91 52 99 03 46 08 13 56 Oa e8 12 00 5a eb ...R丄V....Z.d5 4f 74 e4 33 cO cd 13 eb b8 00 00 80 55 19 16 .Ot.3........U..56 33 f6 56 56 52 50 06 53 51 be 10 00 56 8b f4 V3.VVRP.SQ...V.. 50 52 b8 00 42 8a 56 24 cd 13 5a 58 8d 64 10 72 PR..B.V$..ZX.d.rOa 40 75 01 42 80 c7 02 e2 f7 f8 5e c3 eb 74 b7 .@u.B......八..t.d6 c7 f8 bl ed ce de dO a7 al a3 bO b2 d7 bO b3 ................cc dO f2 ce de b7 a8 be cc dO fB al a3 00 be d3 ................d4 d8 b2 d9 d7 f7 cf b5 cd b3 ca bl b3伤cf d6 ................b4 ed ce f3 al a3 bO b2 d7 bO b3 cc dO f2 ce de ................b7 a8 be cc dO f8 al a3 00 c8 bl c9 d9 b2 d9 d7 ................f7cfb5 cd b300 00 00 8b fc le 57 8b f5 cb 00 00 00 00 00 00 ......W.........00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01 ................01 00 Ob fe 3f fe 3f 00 00 00 00 82 3e 00 00 00■ . .....>... 01 ff0ffe3ffa3f82 3e00fc08fa00 00 00.... . .>.......00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa ..............U.
权利要求
1.一种基于扇区操作的无盘工作站数据传输格式,其特征在于数据包包括磁盘数据头、磁盘数据头加程序上下文、磁盘数据头加磁盘扇区数据或磁盘数据头加程序上下文加磁盘扇区数据。
2. 根据权利要求l所述的一种基于扇区操作的无盘工作站数据传输格式, 其特征在于所述的磁盘数据头,总长度共16字节,包括ID字段2字节,OpType 字段1字节,PktOrder字段l字节,SNo字段2字节,Len字段2字节,ReserverdFieW 字段8字节。
3. 根据权利要求l所述的一种基于扇区操作的无盘工作站数据传输格式, 其特征在于所述的程序上下文,总长度83字节,包括Flag字段l字节,AX字段 2字节,BX字段2字节,CX字段2字节,DX字段2字节,BP字段2字节,SI字段2字 节,DI字段2字节,ES字段2字节,DS字段2字节,PacketAddress字段16字节, ReservedBytes字段48字节。
4. 根据权利要求l所述的一种基于扇区操作的无盘工作站数据传输格式, 其特征还在于所述的磁盘扇区数据长度选512字节或1024字节。
5. —种基于扇区操作的无盘工作站数据传输方法,其特征在于数据传输 方法包括服务器定位、读磁盘操作、写磁盘操作和磁盘参数传送。
6. 根据权利要求5所述的一种基于扇区操作的无盘工作站数据传输方法, 其特征在于所述的服务器定位操作由客户机请求,服务器应答,客户机得到服务器的 MAC地址;所述的读磁盘操作由客户机请求,服务器读取磁盘数据,并将磁盘数据返回到客户机;所述的写磁盘操作由客户机将程序上下文和扇区数据传送到服务器,由服 务器完成写磁盘,并将程序上下文返回到客户机;所述的磁盘参数传送由客户机请求,服务器将程序上下文返回给客户机。
全文摘要
本发明公开了一种基于扇区操作的无盘工作站数据传输格式和传输方法。数据包包括磁盘数据头、磁盘数据头加程序上下文、磁盘数据头加磁盘扇区数据或磁盘数据头加程序上下文加磁盘扇区数据。数据传输方法包括服务器定位、读磁盘操作、写磁盘操作和磁盘参数传送。直接在以太网数据格式基础上定义,并且直接传输扇区数据,冗余数据少,传输速度快,客户机程序比较简单,服务器的计算负荷低。
文档编号H04L29/06GK101163144SQ20071015651
公开日2008年4月16日 申请日期2007年11月6日 优先权日2007年11月6日
发明者任达千, 英 刁, 江志伟, 胡劲松 申请人:宁波工程学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1