欢迎user
DLSw(Data Link Switching,数据链路交换)是APPN(Advanced Peer-to-Peer Networking,高级对等网络)、Implementers Workshop(AIW,实现工作组)开发,用来实现通过TCP/IP承载SNA(System Network Architecture,系统网络结构体系)的一种方法。SNA是IBM在70年代推出的与OSI参考模型对应的网络体系结构。要实现SNA协议跨广域网传输,解决方案之一就是DLSw技术。
DLSw的工作原理如图1所示:
(1) 运行DLSw的路由器将本地SNA设备的LLC2(Logical Link Control,type 2,第二类逻辑链路控制)格式的帧转换成可封装在TCP报文中的SSP(Switch-to-Switch Protocol,交换机到交换机协议)帧;
(2) SSP帧通过TCP通道跨越广域网送达远端路由器;
(3) 远端路由器将SSP帧再转换成相应的LLC2帧,发送给对端SNA设备。
因此,DLSw使得本地的SNA终端设备以为远端的SNA设备和自己处于同一个网络上。但DLSw与透明网桥不同,它不是将原来的LLC2协议帧直接透传到对端,而是将原来的LLC2协议帧转换成SSP协议帧来完成将原有数据在TCP报文中的封装。它具有本地应答机制,因此,可以减少不必要的数据传输(例如确认帧和保持活跃帧),并且解决了数据链路控制超时的问题。
利用DLSw技术,还可以实现SDLC(Synchronous Data Link Control,同步数据链路控制)链路协议的跨TCP/IP传输。先将SDLC格式的报文转换成LLC2格式的报文,再通过DLSw和远端互联。这样,DLSw还支持LAN与SDLC之间不同介质的互联。
DLSw目前有两种版本:DLSw1.0和DLSw2.0。基于RFC 1795实现的DLSw为DLSw1.0版本;为了提高产品可维护性,减少网络开销,系统基于RFC 2166实现了DLSw2.0版本。DLSw2.0中增加了支持以组播及单播方式发送UDP探询报文的功能。当通信对端也是DLSw2.0时,二者可以使用UDP报文探询可达信息,仅在有数据传输需求时才建立TCP连接。
l TCP连接的问题
DLSw1.0在配置本地对等体和远端对等体以后,无论当时本地及远端对等体是否有建立连接的需求,本地对等体都会立即尝试与远端对等体建立TCP连接(先建立两条TCP连接,完成性能交换以后,断掉一条TCP连接);且所有报文(包括探询报文、建立电路请求报文、数据报文)都使用TCP连接传输,这在一定程度上造成了网络资源的浪费。
l 广播报文泛滥
尽管DLSw1.0实现了本地应答机制,但在DLSw的可达信息列表尚未有可达路径信息或可达路径信息过少的时候,探询报文将通过已经建立好的TCP连接大量涌向广域网。
l 可维护性较差
链路中断时,DLSw1.0使用两种报文通知对端,但不能告诉对端是什么原因导致的链路中断,所以一旦DLSw出现链路异常中断,很难明确是由哪一种情况引起的。
针对以上问题,DLSw2.0做了相应的改进,并兼容DLSw1.0。
为了方便介绍现将DLSw2.0组网中的各部分定义如下:
图2 DLSw2.0组网示意图
如图2所示,源终端是指发起通信的终端,目标终端是指接受通信的终端,源DLSw路由器是指与源终端连接的使能了DLSw的路由器,目标DLSw路由器是指与目标终端连接的使能了DLSw的路由器。下文中提到源DLSw2.0路由器,则是指使能了DLSw功能,且其版本为DLSw2.0的路由器。
l 使用UDP报文探询对等体地址
为了避免建立不必要的TCP连接,DLSw2.0一般不使用TCP连接发送探询报文,而改用UDP报文发送(除非此时TCP连接已经存在)。当使用UDP报文探询可达信息时,有两种报文发送方式――组播和单播(分别用于不同的情况)。以UDP方式进行探询报文的发送和接收,一定程度上减少了建立TCP连接的数量,避免了网络资源的浪费。
l 按照需求建立单条TCP通道
在源DLSw2.0路由器和目标DLSw2.0路由器之间使用UDP报文探询到可达信息以后,当源终端和目标终端有建立链路的需求时,源DLSw2.0路由器和目标DLSw2.0路由器之间才建立TCP连接。DLSw2.0路由器之间建立TCP通道的过程简化为两个阶段:首先建立一条TCP连接;然后两个设备进行性能交换,如果能力协商不成功,源路由器会向对端发送拒绝报文,之前建立的TCP连接也会被断开。
在DLSw2.0中,有建立链路需求的时候才建立一条TCP连接,这种方式减少了建立、维护TCP连接的开销,提高了系统资源的利用率。
l 增强可维护性
DLSw2.0定义了五种电路中断原因:探测到未知错误、DLSw从终端接收到DISC帧、终端检测到DLC错误、电路标准协议错误和系统初始化。这五种电路中断原因,将被报文携带知会给对端。