首页> 中国专利> 使用原始TCP封装通过TCP/IP来串行地进行传输

使用原始TCP封装通过TCP/IP来串行地进行传输

摘要

在一个实施例中,路由器使用原始TCP封装来在终端单元之间建立TCP/IP(传输控制协议/互联网协议)串行通信会话。针对该会话,路由器将串行特性映射到TCP带外(OOB)通信字段、将串行流控制信号映射到TCP/IP接收机-窗口通告、并且基于串行有效负载优先级来动态地调整TCP/IP优先级。相应地,路由器因此可以基于映射和优先级通过TCP/IP串行会话来传送数据。

著录项

  • 公开/公告号CN105308933A

    专利类型发明专利

  • 公开/公告日2016-02-03

    原文格式PDF

  • 申请/专利权人 思科技术公司;

    申请/专利号CN201480035127.5

  • 申请日2014-06-19

  • 分类号H04L29/06;H04L29/08;H04L12/807;

  • 代理机构北京东方亿思知识产权代理有限责任公司;

  • 代理人李晓冬

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 14:06:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-07

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL2014800351275 申请日:20140619 授权公告日:20190830

    专利权的终止

  • 2019-08-30

    授权

    授权

  • 2016-03-02

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20140619

    实质审查的生效

  • 2016-02-03

    公开

    公开

说明书

技术领域

本公开一般地涉及计算机网络,更具体地涉及由互联网协议(IP)网络分离的串行数据链路。

背景技术

由于各种很好理解的原因,两个端点之间的许多串行数据链路(例如,调制解调器连接)近来已经通过异构互联网协议(IP)网络而被传输(例如,由异构IP网络分离)。例如,传统上通过串行协议(诸如,IEC-60870-5-101,也叫做“IEC-101”或“T-101”)进行互连的实用设备(诸如,计量器、传感器等),已经使用IP-ready协议(诸如,IEC-60870-5-104,也叫做“IEC-104”或“T-104”)通过IP网络而被传输。一般地,这是通过将端点与相应的路由器互连来实现的,该路由器可以将串行传输转换成IP传输,反之亦然,因此对于端点模拟好像它们彼此间直接进行通信一样。然而,与该通信相关联的一个问题是当前的实现方式只获得串行数据并将其置于TCP套接字上。

附图说明

本文中的实施例可以通过结合附图参考以下描述被更好地理解,其中相似标号指示相同或功能上相似的元件,其中:

图1示出了示例通信网络;

图2示出了示例网络设备/节点;

图3根据本文中所描述的一个或多个实施例,示出了将串行通信转换成TCP/IP通信的示例性视图;以及

图4根据本文中所描述的一个或多个实施例,示出了用于提供对在通信网络中使用原始TCP封装通过TCP/IP来串行地进行传输的增强的示例性简化过程。

具体实施方式

概述

根据本公开的一个或多个实施例,路由器使用原始TCP封装来在终端单元之间建立TCP/IP(传输控制协议/互联网协议)串行通信会话。针对会话,路由器将串行特性映射到TCP带外(OOB)通信字段、将串行流控制信号映射到TCP/IP接收机-窗口通告、并且基于串行有效负载优先级来动态地调整TCP/IP优先级。相应地,路由器因此可以基于映射和优先级通过TCP/IP串行(serial-over-TCP/IP)会话来传输数据。

说明

计算机网络是由通信链路互连的节点和用于在末端节点(例如,个人计算机和工作站)之间传输数据的区段的地理分布式集合。许多类型的网络是可用的,其中类型的范围从局域网(LAN)到广域网(WAN)。LAN通常通过私有通信链路来连接位于相同的一般物理位置(例如,建筑或校园)中的节点。另一方面,WAN通常通过长距离通信链路(例如,公用运营商电话线、光学光路、同步光学网络(SONET)或同步数字体系(SDH)链路)来连接地理上分散的节点。互联网是连接全世界不同网络的WAN的示例,提供各种网络上的节点之间的全球通信。节点通常在网络上通过根据预定义协议(例如,传输控制协议/互联网协议(TCP/IP))交换数据的离散的帧或分组来进行通信。在该情况下,协议包括定义节点如何彼此间进行交互的规则集。计算机网络还可以由中间网络节点(例如,路由器)进行互连以扩展每个网络的有效的“尺寸”(诸如,容量和性能)。

图1是示例计算机网络100的示意框图,该示例计算机网络100示意性地包括节点/设备,例如,分别经由第一路由器120和第二路由器125互连的、相应的第一终端单元110和第二终端单元115,如图所示。例如,示意性的终端单元可以包括一般被配置为通过串行数据链路进行通信的“远程终端单元”(RTU,被示作110)。示意性地,RTU110可以包括旨在互连到各种制动器、计量器、传感器等的实用设备。网络100还可以包括本地或主终端单元(MTU,被示作115),例如,一般地位于数据采集与监视控制(SCADA)中心处的设备。如本文中所更详细描述的,每个终端单元可以通过串行数据链路和相应的串行数据链路(统称为102)而被互连到转换路由器。转换路由器进而可以在互联网130上通过IP会话103来彼此互连。因此,所示的两个端点可以通过通信会话145进行通信,如以下所更详细描述的那样。本领域的技术人员将认识到,任意数量的节点、设备、链路等可以被用于计算机网络,并且本文中所示的视图是为了简单起见。

数据140(例如,分组、流量、消息、信号等)可以依据通信设备之间的接口/网络的类型使用预定义的网络通信协议来在计算机网络100的节点/设备间进行交换。例如,数据140a可以是使用各种串行通信协议(诸如,调制解调器)来串行地进行传输的信号,而数据/分组140b可以使用各种IP协议或者如本领域技术人员所知道的其他适当的协议(诸如,TCP/IP、用户数据报协议(UDP)、异步传输模式(ATM)协议、帧中继协议、互联网分组交换(IPX)协议等)来进行交换。示意性地,在下层物理传输协议的顶部上进行操作的会话协议可以根据下层物理协议和想要的功能进行选择。例如,如本文中所描述的,用于实用设备(计量器、传感器等)的示例串行数据链路协议是IEC-101,而用以互连串行数据链路的示例IP会话协议是IEC-104。其他类型的会话协议可以被使用,并且本文中所提到的那些协议只是示意性的。

图2是可以与本文中所描述的一个或多个实施例一起被使用的示例性节点/设备200(例如,路由器120和125)的示意框图。设备包括由系统总线250互连的多个网络接口210、一个或多个处理器220和存储器240。网络接口210包含用于通过耦合到网络的物理或无线链路来传送数据的机械线路、电子电路和信令电路。网络接口210可以被配置为使用各种不同的通信协议(例如,通过IP网络接口212的IP协议和通过串行数据链路网络接口214的串行数据链路协议)来具体发送和/或接收数据。

存储器240包括多个可由(一个或多个)处理器220寻址的存储位置以用于存储与本文中所描述的实施例相关联的软件程序和数据结构。处理器220可以包括适于执行软件程序和操纵数据结构245的必要元件或逻辑。操作系统242(例如,Cisco公司的网络互连操作系统或)(该操作系统的某些部分通常位于存储器240中并且由(一个或多个)处理器执行)通过(除了其他之外)调用支持设备上执行的软件进程和/或服务来对节点进行功能组织。这些软件进程和/或服务可以包括路由处理/服务244和“串行到IP转换”处理248。注意到,尽管串行到IP转换处理248在集中式存储器240中被示出,但替换的实施例提供了该处理被特别地操作于网络接口210(212/214)。

对本领域的技术人员显而易见的是,其他处理器和存储器类型(包括各种计算机可读介质)可以被用于存储和执行适于本文中所描述技术的程序指令。此外,尽管说明书示出了各种处理,但明确地认识到各种处理可以被实施为模块,该模块被配置为根据本文中的技术(例如,根据相似处理的功能)进行操作。此外,尽管处理已经被单独示出,但本领域的技术人员将认识到处理可以是其他处理内的例程或模块。

路由服务244包含由处理器220执行的计算机可执行指令以执行由一个或多个路由协议(例如,如本领域技术人员将知道的,内部网关协议(IGP)(诸如,开放式最短路径优先、“OSPF”和中间系统到中间系统、“IS-IS”)、边界网关协议(BGP)等)提供的功能。这些功能可以被配置为对(例如,包含用于做出转发决定的数据的)转发信息数据库进行管理。具体地,网络拓扑中的改变可以使用路由协议(例如,传统的OSPF和IS-IS链路状态协议)来在路由器200间进行传送(诸如,“收敛”到网络拓扑的等同视图)。特别地,路由服务244还可以执行与(例如,维持虚拟路由转发(VFR)实例的)虚拟路由协议或(例如,用于多协议标签交换的)隧道协议等本领域技术人员所理解的每一个协议相关的功能。

目前,许多用户(例如,公用事业公司)已经通过电话/调制解调器连接在它们的配电网(诸如,用于变电站自动化的电子实体)中部署了串行通信链路,例如IEC-101。当这些通信链路被升级以使用IP作为优选的传输时,许多公用事业公司被使得部署IEC-104以通过IP网络传输直接串行链路,具体地用于只支持串行通信的设备(例如,旧有设备)。

如图1所示,假定终端单元1是远程终端单元(RTU),该RTU作为位于终端单元2上的主终端单元(MTU)的从单元。应该注意到,以下说明只是作为示例被给出,并且相同的说明同样应用于平衡模式,其中RTU以对等关系进行通信。(特别地,如本文中所使用的,“本地终端单元”暗指本地附接到路由器的任意类型的终端单元,而“远程终端单元”暗指位于该IP网络之外的远程站点中的任意类型的终端单元。这样,“RTU”应该被用于仅暗指根据本文中所给出的具体实用示例的终端单元的具体名称。根据示意性地被用于通过IP网络互连串行数据链路的转换,路由器1(RTU路由器)120可在数据链路1(“DL1”)上用作RTU的主设备,并且在服务器/客户端关系中用作路由器2(路由器125)的从设备。该MTU路由器然后可以在数据链路2(DL2)上作为主MTU115的从设备。

在该设置中,路由器1(120)的转换处理248对来自RTU110(从设备)的串行(例如,IEC-101)消息进行转换,并且将它们作为IP分组(例如,IEC-104消息)传输到路由器2(125)。路由器2(125)然后可以将这些IP分组转换回串行消息(例如,IEC-101),并且通过DL2将这些消息传输到MTU115(例如,SCADA控制)。该双向转换允许MTU115接收本地串行流量。

然而,如以上所标注的,与TCP/IP串行通信相关联的一个问题是目前的实现方式只获得串行数据并且将其置于TCP套接字上。就是说,不能如串行通信最初期望的那样跨越TCP/IP网络承载某些关键串行通信属性。

针对TCP/IP串行传输的增强

当串行数据通过原始TCP传输被载送时,本文中的技术将串行通信的属性和事件映射到下层TCP/IP网络可用的那些。特别地,根据以下所详细描述的本公开的一个或多个实施例,路由器使用原始TCP封装来在终端单元之间建立TCP/IP串行通信会话。针对会话,路由器将“重要的”串行特性映射到TCP带外(OOB)通信字段,将串行流控制信号映射到TCP/IP接收机-窗口通告,并且基于串行有效负载优先级来动态地调整TCP/IP优先级。相应地,路由器因此可以基于映射和优先级通过TCP/IP串行会话来传送数据。

示意性地,本文中所描述的技术可以由硬件、软件和/或固件执行,例如根据串行到IP转换处理248来执行,其可以包含由处理器220(或接口210的独立处理器)执行的计算机可执行指令以(例如,结合路由处理244)执行与本文中所描述的技术相关的功能。例如,本文中的技术可以被视为传统协议(诸如各种串行到TCP/IP协议)的扩展,并且因此,可以相应地由本领域技术人员所理解的执行那些协议的相似组件进行处理。

操作上,路由器(例如,路由器1)使用原始TCP封装来在终端单元(例如,经由路由器2的MTU和RTU)之间建立TCP/IP串行通信会话。根据本文中的技术,在串行数据和TCP/IP数据之间的增强转换然后可以一般地参照图3开始,以使得路由器基于以下所描述的映射和优先级通过TCP/IP串行会话来传送数据。

首先,本文中的技术以将“重要的”串行特性映射到TCP带外(OOB)通信字段的方式来利用那些字段。例如,TCP使用紧急(“URG”)标志和紧急指针以指示存在紧急数据(例如,参见互联网工程任务组(IETF)的请求注解(RFC)793)。串行协议具有需要尽可能快地被传输到通信的对等设备的某些重要的串行特性(例如,串行BREAK(中断)信号)。根据本文中的技术,封装路由器可以将这些重要特性310映射到TCPOOB数据315上,以使得该数据在远端以及时的方式被传输和处理。这将确保紧急数据甚至可在TCP流中的所有未决的字节被处理之前被处理,如果接收机如此进行选择的话。(换句话说,重要的串行特性可以包括要在已由接收机接收的任何未决数据之前被处理的指令。)

其次,本文中的技术利用TCP接收机-窗口通告。具体地,TCP使用接收机-窗口通告以向发送者传送关于它能够发送多少数据。在正常的TCP通信中,这被用于TCP流控制和拥塞避免。串行通信针对流控制具有它们自身的要求,例如基于硬件的(RTS/CTS-请求发送/清除发送信号)或者基于软件的(XON/XOFF消息)。根据本文中的技术,这些串行流控制信号320可以被映射到TCP/IP接收机-窗口通告325上。这存在若干优势。首先,这确保了应用(在此情形中,串行通信信道)能够影响下层传输层。其次,因为TCP可以缓冲数据,因此接收机没有办法告知发送者停止在传输级发送数据。代替地,在TCP报头中公布该信息允许接收机必要地停止来自发送者的传输,就像XOFF将针对规则的串行通信信道所做的。

第三,本文中的技术检查串行数据以对IP分组的TCP/IP优先级值(例如,服务类型(ToS)字段或差分服务代码点(DSCP)字段)进行控制。通常,TCP/IP串行需要优先级值(例如,DSCP字段)被硬配置为配置的一部分,并且将该值用于整个通信会话。然而,根据本文中的技术,串行通信的有效负载被检查并被用于标记IP分组的ToS/DSCP比特(就是说,TCP/IP优先级可以基于串行有效负载“优先级”而被动态地调整)。例如,已知的分布式网络协议(第3版)(DNP3)具有“未经请求的响应”的概念,这通常是由分站设备(outstationdevice)当在分站设备处发生紧急事件并且等不及主设备的周期性轮询时发送的。因此,本文中的技术寻找这种“更高优先级”的消息,并且在检测到该消息时,设置套接字选项以动态地改变IP报头中的流量优先级(DSCP/ToS比特)。(例如,换句话说,针对其设置高TCP/IP优先级的高级串行有效负载优先级可以对应于作为串行有效负载的未经请求的响应)。

以此方式,基于这些增强的转换特征(将串行通信的属性和事件映射到下层TCP/IP网络中可用的那些),本文中的技术提供了更鲁棒的TCP/IP串行通信会话。

图4根据本文中所描述的一个或多个实施例,示出了用于提供对在通信网络中使用原始TCP封装通过TCP/IP来串行地进行传输的增强的示例简化过程400。过程400可以开始于步骤405并且继续到步骤410,其中,如以上所更详细描述的,路由器使用原始TCP封装(例如,用本地终端单元和连接到远程终端单元的远程路由器)来在终端单元之间建立TCP/IP(传输控制协议/互联网协议)串行通信会话。根据本文中的技术,在步骤415,路由器将“重要的”串行特性310映射到TCP带外(OOB)通信字段315;并且在步骤420,将串行流控制信号320映射到TCP/IP接收机-窗口通告325。此外,如以上所标注的,在步骤425,路由器还可以基于串行有效负载优先级330来动态地调整TCP/IP优先级335。因此,在步骤430,路由器可以基于映射和优先级通过TCP/IP串行会话来传送数据,并且过程结束于步骤435。特别地,当数据被接收时,过程400能够继续在串行和TCP/IP通信之间继续进行转换。

应该注意到,尽管如以上所描述的,过程400内的某些步骤可以是可选的,但图4中所示的步骤只是用于图示的示例,并且某些其他步骤可以根据需要被包括或排除。此外,尽管步骤的特定顺序被示出,但该顺序只是示意性的,并且步骤的任意适当的安排可以在不脱离本文中实施例的范围的情况下被使用。

因此,本文中所描述的技术提供对在通信网络中使用原始TCP封装通过TCP/IP来串行地进行传输的增强。具体地,通过将串行通信属性与TCP/IP网络的那些属性相接连,本文中的技术提高了通过原始TCP传输的串行通信的响应性(延迟/延时、流量优先级排序和流控制的处置)。

尽管示意性的实施例被示出和描述(该实施例提供对在通信网络中使用原始TCP封装通过TCP/IP来串行地进行传输的增强),但应该理解,各种其他的改进和修改可以在本文中实施例的精神和范围内被做出。例如,实施例已经在本文中被示出和描述,其中IP会话依照IEC-104协议并且串行数据链路依照IEC-101协议。然而,在其更广的意义上的实施例不是限制性的,并且实际上可以与其他适当的协议(例如,通过IP网络进行操作的专用协议)一起被使用。此外,尽管以上实施例针对IP网络的任一端处的两个路由器,但还可能发生单个转换的情况,例如,一个路由器从RTU的串行数据链路(例如,IEC-101连接)转换到附接到IP网络的MTU(例如,能够进行IEC-104通信的MTU)。在该实例中,唯一的路由器可以被配置为通过自身将串行数据链路与IP会话同步,而不是将同步信息传输到另一路由器来将两个串行数据链路同步。此外,如以上所标注的,本文中的技术一般地已经参考主通信和从通信进行描述。然而,本文中的实施例同样应用于主/从配置,以及应用于串行链路上两个实体之间的平衡(对等)关系。

以上说明书是针对具体的实施例。然而显而易见的是,其他改变和修改可以针对所描述的实施例被做出,并获得其优点中的某些或全部。例如,明确地认识到,本文中所描述的组件和/或元件可以作为存储在有形的(非暂态的)计算机可读介质(例如,磁盘/CD/RAM/EEPROM等)上的软件而被实现,其具有在计算机、硬件、固件或其组合上执行的程序指令。因此,该说明书只以示例的方式示出并且不以其他方式限制本文中实施例的范围。因此,所附权利要求的目的是为了覆盖进入本文中实施例的真正精神和范围内的所有这些改变和修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号