网络系统实现技术之IPX与SPX

类别:编程语言 点击:0 评论:0 推荐:
IPX/SPX

Novell NetWare网络

Novell公司为适应网络发展,将主机网络转换为PC网络,开发了Novell NetWare网络系统。该系统中基于客户机/服务器模式。以普通PC机做为客户机,以性能强大的服务器做为服务器,为客户机提供文件服务、数据库服务及其他服务。

与前面的SNA模型一样,Novell NetWare也早于OSI模型,所以不能与OSI模型严格对应,但也有很明显的对应关系。在主要的层次上,更接近于TCP/IP模型。

下图是Novell NetWare体系对应于OSI模型的示意图:

从图中可以看出,IPX/SPX是NetWare结构中的重要组成部分。IPX/SPX在NetWare的LAN上提供传输服务,也提供网络的控制信息(如路由信息)和网络上可用服务的信息。IPX/SPX具有完全的路由能力,可以实现多网段间的通信,可用于大型企业网。

NetWare没有OSI模型中的会话层与表示层,所有的应用协议都对应于OSI的应用层,如SAP、文件服务等。

NetWare通过服务广告协议(Service Advertising Protocol,SAP)来实现对服务的管理。服务器每隔60秒广播SAP分组[1],给出其地址及提供的服务,网关服务器收集SAP分组并建立的网络路由数据库。

由于受到SAP协议高层广播通信机制的限制,NetWare路由网络中的主机数不宜超过几千。尽管SAP的局限性已经被智能路由器和服务器配置所克服,但是大规模IPX/SPX网络的管理仍是非常困难的工作。

 

IPX协议

网际包交换(Internetwork Packet Exchange,IPX)协议对应于OSI的网络层,是不可靠的无连接协议。IPX主要用来控制局域网内或局域网之间数据包的寻址、路由和传送,不保证消息的完整性,不提供纠错服务。

在无连接传输中,每次数据包被传送时,会话不需要被配置就发出去,比导向连接负担轻。无连接处理断断续续的数据传输效率要高于面向连接的传输。

IPX协议是一个对等的网络协议,它在网络内部或网际提供了无连接数据包传输、控制地址以及数据路由包服务。

在局域网中传输数据包时,如果接收节点在同一网段内,IPX协议就直接将数据传给它;如果接收节点不在同一网段内,那么IPX协议将数据包交给NetWare网关服务器,网关根据网络路由数据库进行做出处理。

上图是IPX的分组格式,其中

分组长度:指出整个分组的长度,包括报头和数据。

传输控制:每经历一个网络增1,记录该分组已经经历多少个网络。当该记录数达到最大值时,此分组被抛弃。

分组类型:用于标记不同的控制分组。

目的地址、源地址:包含一个32比特网络号和一个48比特机器号(socket)。

数据字段:它点满剩下的分组空间,其最大长度由下层网络决定。

 

NCP与SPX协议

IPX协议之上是面向连接的传输协议网络核心协议(Network Core Protocol,NCP)或顺序包交换(Sequenced Packet Exchange,SPX)协议。这两个协议对应于OSI模型的传输层。

NCP是NetWare的心脏,除了用户传输以后,还提供各种其他服务,如文件服务。SPX只提供传输服务,Lotus Notes使用SPX。(由于此处主要讨论此传输服务,以下以SPX,带指NCP与SPX。)

在局域网中,SPX协议主要负责数据包传输的完整性。对整个传输的数据进行无差错处理,即纠错。

面向连接服务需要配置连接,一旦连接被建立后,不再需要在数据传输上花费精力。对于连续的数据传输而言,面向连接的传输比无连接的传输效率高。SPX提供了可靠的数据传输服务,可以跟踪包括许多分散包的数据的传输。

SPX通过对包传送的确认和确认来监视包传送的过程,它也提供差错控制能力,如果包内容不可用,可以负责包的重新发送。

 

SPX协议的限制与增强

SPX具有以下两条限制:

1、任何时候输出的数据包都不能超过一个;2、每个数据包的最大值是576 byte。

这两条限制制约了SPX协议在大型宽带网上的性能发挥,为了突破这两个限制,提升在大型网络上的性能,出现了SPXII,具有如下特点:

1.SPX II允许输出多个数据包。

2.SPX II允许更大的数据包。数据包的最大值可以与LAN的带宽一样大。例如在以太网中,SPX II可以使用1518 byte。

 

[1] 参见Andrew S.Tanenbaum著 熊桂喜,王小虎译. Computer Networks(3). 清华大学出版社,1998.7 第33~34页

本文地址:http://com.8s8s.com/it/it27974.htm