为了避免现有技术的不足之处,本发明在改进“虫洞技术”的
基础上,提出了“先锋寻径”和“信令隐蔽”的通信技术,并设计了独创的先锋寻径式交换机、先锋网卡、相关通信协议和
软件,形成了结构简单、使用方便的先锋寻径计算机网络。
本发明的先锋寻径式计算机网络,包括交换机、网卡和计算机,通过交换机和网卡将各台计算机互连成为群机网络,其特征在于:先锋网卡根据先锋寻径式网络通信协议来传送和接收数据和信令;先锋寻径交换机具有先锋寻径信令识别
电路和消息结束信令识别电路,所述先锋寻径信令识别电路用于识别接收的先锋寻径信令,根据目的端口号进行寻径,接通相应的交叉开关从而建立信道;信道建立后,消息经过交换机直接传送到目的机,交换机的信道中无需缓存来暂存消息体;所述消息结束信令识别电路用于识别接收的消息结束信令,断开相应的交叉开关,从而撤销所建立的信道。
本发明的技术思想是:由交换机(3)、网卡(2)将各台计算机(1)互连成为群机网络,本发明的“先锋寻径计算机网络”是将各计算机通过先锋寻径式交换机(或多个级联的先锋寻径交换机)直接连通,进行“端—端”通信。采用了独创的“先锋寻径技术”、“信令隐蔽技术”,设计了相应的“先锋寻径式网络通信协议”。
“先锋寻径技术”的思想是:将原有的消息头和消息体一起发送的“虫洞技术”,进行改革,其特征在于:将消息头与消息体分离。为此,设计了
申请建立信道用的先锋寻径信令(HDR),和撤消信道用的消息结束信令(END)。实际上,消息头与消息体分离后,消息头就不宜再称为消息头了,而应该称为先锋寻径信令(HDR)。先锋寻径信令(HDR)中,应含有目的机地址的信息,以便寻址。根据先锋交换机的特点,本发明没有采用目的机地址来寻址,而是采用先锋交换机的目的端口号来寻径。例如,要与5号端口接通,以便与和5号端口相连的目的机通信,先锋寻径信令(HDR)中就带个5号。当需要通信时,先向交换机(3)发送带有5号的先锋寻径信令,用于申请信道。一旦申请成功,接通相应的交叉开关,建立信道。多个交换机级联时,可以发送多个独立的先锋寻径依次将信道接通。建立信道后,消息可以直接传送到目的机。交换机的信道中无需缓存来暂存消息体。
“信令隐蔽技术”的思想是:利用D、S
信号同时跳变来识别信令。本发明的交换机,物理信道选用英国Inmos公司的D-S Link体制,即有两条
导线:一条传送数据,称为D(Data);另一条为选通线,用于补充
时钟信号,称为S(Strobe)。D线为高电平时为1,低电平时为0,跳变时生成时钟信号。当相邻代码相同为00或11时,由S线电平的跳变来补充所需的时钟信号。通常D跳变时,S不会跳变;S跳变时,D不会跳变。这样,D和S不会同时跳变。本发明利用D和S同时跳变的特征来识别信令。这样,用代码是无法识别信令的,故可实现信令的隐蔽。申请建立信道采用先锋寻径信令(HDR),撤消信道采用消息结束信令(END),交换机只需检测HDR和END两种信令。检测D和S同时跳变的电路比较简单,使交换机的结构进一步的简化,便于扩大交换机的规模,可扩大为8,16,32个端口。
先锋寻径式网络通信协议的内容是:a.物理级协议:每条链路由数据线(D)和选通线(S)组成。D线为高电平时表示1,低电平是表示0,跳变时生成时钟信号。当相邻代码相同为00或11时,由S线电平的跳变来补充所需的时钟信号。
b.信元(Token)级协议:信元有数据信元和信令信元两种,数据信元包含1个字节和1位奇偶位。
信令信元由6位组成。各种信令的格式如下表所示:名称 符号 信令码 T1 T2 T3 T4 T5 T6先锋寻径 HDR 0X?c -- -- -- -- 1 1消息结束 END 0X04 0 0 0 0 0 1清除FIFO结束 CLS 0X08 0 0 0 0 1 0清除FIFO CLR 0X18 0 0 0 1 1 0信包尾 EOP 0X28 0 0 1 0 1 0消息尾 EOM 0X38 0 0 1 1 1 0确认 ACK 0X48 0 1 0 0 1 0重发 RET 0X58 0 1 0 1 1 0广播 BRD 0X68 0 1 1 0 1 0信令的T5T6两位为11时表示先锋寻径;T1T2T3T4四位表示目的端口号。例如,输入端口号为0000,输出端口号为0101时,表示0000号申请建立与0101号之间的信道。如输出端口号也为0000时,表示0000号要向所有其他端口广播。其他端口也可以有类似的广播功能。
信令的T5T6两位为01时表示消息结束,发给交换机,用于撤消所建立的信道。
信令的T5T6两位为10时表示网卡其他的各种信令。
c.消息(Message)包协议:一条长度不超过512(含512)字节(如网卡采用更大容量的FIFO,消息包的长度即可相应扩大。)的消息由一串数据信元和一个消息尾(EOM)组成。
DATA DATA DATA DATA。。。。。。 DATA EOMd.信包(Packet)协议:长度超过512字节的消息要分包发送。一个信包由512字节(可扩)的数据信元和一个信包尾(EOP)组成。
DATA DATA DATA DATA。。。。。。 DATA EOP超过512字节的消息由若干信包和1个消息包组成,如下:DATA DATA DATA DATA。。。。。。 DATA EOPDATA DATA DATA DATA。。。。。。 DATA EOP。。。。。。
DATA DATA DATA DATA。。。。。。 DATA EOPDATA DATA DATA DATA。。。。。。 DATA EOP为实现上述本发明的独创技术,设计了先锋网卡和先锋寻径式交换机。
先锋寻径式交换机的特征在于:交换机主要含有D交叉开关(6)和S交叉开关(7)。每条信道中备有HDR识别电路(4)和END识别电路(5),实现交叉开关的控制。HDR识别电路(4)的作用是:在收到先锋寻径信令后,根据目的端口号,接通相应的D交叉开关(6)和S交叉开关(7),从而建立相应的信道。END识别电路(5)的作用是,在收到消息结束信令后,断开相应的D交叉开关(6)和S交叉开关(7),从而撤消所建立的信道。图4表示一个4端口先锋寻径式交换机的结构原理。
先锋网卡的特征在于:网卡由32位→8位的转化电路(8)、8位→1位的发送电路(9)、
控制器(10)、8位→32位的转换电路(11)、先进先出堆栈(FIFO)(12)、1位→8位的接收电路(13)和状态寄存器(14)等电路组成。为便于说明问题,这里仅用两台计算机通过网卡互连,如图5所示。网卡A连左机,网卡B连右机,上部实现左机发送、右机接收;下部则相反,右机发送、左机接收。从
PCI总线上传来的32位数据由(8)转换成4个8位组,再由(9)转换成1位1位的串行数据发送到D-S Link上;从D-S Link上接收到的1位1位的串行数据由(13)转换成8位的数据组,然后进行判断;若是数据,则将逐个字节存入先进先出堆栈(FIFO)(12),然后经8位→32位的转换电路(11),将4个字节拼成1个32位的字发送到PCI总线上;若是信令,只有一个字节,则存入状态寄存器(14),再经(11)发送到PCI总线上。本网卡能够全面支持先锋寻径网络通信协议,具有“发送信令”,“发送数据”,“开中断”,“关中断”,“网卡复位”,“状态复位”,“自检”,“退出自检”,“取数据”,“取状态”等各种网卡命令。
附图说明
:图1:8机先锋寻径网络图2:D-S链路协议图3:数据信元图4:先锋寻径式交换机原理图图5:先锋网卡组成
框图图6:发送程序
流程图图7:接收程序流程图1-微机或工作站 2-先锋网卡 3-先锋寻径交换机 4-HDR识别5-END识别 6-D交叉开关 7-S交叉开关 8-32位→8位的转换电路9-8位→1位的发送电路 10-控制器 11-8位→32位的转换电路12-先进先出堆栈(FIFO) 13-1位→8位的接收电路 14-状态寄存器具体
实施例本发明将结合实例作进一步的描述:如图1所示,本发明实施例实现了一个8台奔腾PC机互连的先锋寻径网络。
本实施例的网络组成为:先锋寻径交换机(3);奔腾PC机(1);先锋网卡(2),插在奔腾机的PCI总线插槽中。该交换机有8个端口,每个端口由一个输入口和一个输出口组成。各个端口依次与各个奔腾机的先锋网卡相连,端口的输出口连到网卡的输入口,反之,端口的输入口连到网卡的输出口。连接采用5类通信
电缆。目前通信
频率为每秒33兆位,采用高速器件可进一步提高。
该交换机主要由一片AMD公司的CPLD器件MACH系列MACH466-15组成。也可采用“系统芯片”技术,制成专用芯片,以提高频率、降低成本。先锋网卡主要由2片MACH436组成。每片MACH436含有128个宏单元,最多可编程成128个触发器。图5中的10由1片MACH436组成;其余8,9,11,13,14由另1片MACH436组成。
先锋网卡的口地址可选为IO空间的AD15,AD14,AD13三位均为1。各种网卡命令可用C语言表示如下:CT 发送信令outport(0xe008,0x??)其中,0xe008为网卡命令码,不同的码表示不同的命令;0x??为信令码,见信元级协议DT 发送数据 outport(0xe004,0x????????)其中,0x????????为发送的32位数据INTE 开中断 outport(0xe00c,0)INTD 关中断 outport(0xe010,0)RRAR 网卡复位 outport(0xe014,0)FRST 状态复位 outport(0xe018,0)ZJ 自检 outport(0xe01c,0)
ZJD 退出自检 outport(0xe020,0)RD 取数据 inport(0xe004,0)RF 取状态 inport(0xe008,0)通信过程如下:(1)源机向交换机申请建立接通目的机的信道。
(2)交换机建立信道后向源机发回ACK。
(3)源机收到ACK后即可向目的机发信包,发完信包接着还要发信令EOP。
(4)目的机收到EOP后知道FIFO中已收到一个信包,于是发一串取数命令,直到从FIFO中把信包取完。取完后,向源机发ACK。
(5)源机收到ACK后即可向目的机发信包,发完信包接着还要发信令EOP。
(6)目的机收到EOP后知道FIFO中已收到一个信包,于是发一串取数命令,直到从FIFO中把信包取完。取完后,向源机发ACK。
(7)源机发消息包,发完消息包接着还要发信令EOM。
(8)目的机收到EOM后知道FIFO中已收到一个消息包,发一串取数命令,直到从FIFO中把信包取完。取完后,向源机发ACK。
(9)源机收到ACK后知道目的机已收完全部信息,于是发END,撤消信道。
(10)如果目的机在接收数据的过程中发现有奇偶错,就向源机发RET要求重发。
(11)源机连发CLR,CLS两个信令,将目的机网卡中的FIFO清除。
(12)源机接着重发信包或消息包。
通信过程由程序实现。发送程序流程图见图6,接收程序流程图见图7。
本发明相比现有技术的优点在于:● 独创的先锋寻径技术。在先锋寻径建立信道后,消息可经过交换机中的交叉开关直通目的机,无需在交换机中暂存。
● 独创的信令隐蔽技术。交换机制只需识别HDR和END两条信令,使交换机的设计进一步简化,成本显著降低。
● 具有一般虫洞技术所没有的广播功能。
● 信道灵活:信道可随时建立,任意
选定目的机。通信结束,信道随之撤消。
● 信道时延小:数据通过交换机时只有一级
门的延时。几个交换机
串联时,也只有几级门的延时。交换机规模越大,信道通过交换机的级数越少,通信时延可进一步减少。
● 各条信道可以并行工作。
● 通信开销小,效率高。
● 信包长度决定于网卡中FIFO的容量。如采用4KB的FIFO,1个信包的长度便可扩大为4KB,便于支持多媒体通信。
● 可靠性高:由于信令信元有特殊的通信机制,即使信道传送数据有错,也能正确接收信令。每个数据信元有奇偶校验位,发现有错时,有重发功能。
● 价格较低。