DIY编程器网

标题: 自动化控制系统中多现场总线兼容性问题探讨 ——以太网和现场总线的互连(三) [打印本页]

作者: admin    时间: 2015-4-27 23:35
标题: 自动化控制系统中多现场总线兼容性问题探讨 ——以太网和现场总线的互连(三)
3隧道技术
          隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。被传递的数据是封装之后的数据,被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。隧道所使用的传输网络可以是任何类型的公共互联网络。在互联网环境下,通过建立IP隧道传递数据包,既可节约费用,又可以充分应用主干网的带宽,提高传输速率。
       
        3.1隧道技术的基本概念
          3.1.1封装
          封装(Encapsulation)就是将数据包作为净荷放在另一个数据包或帧中。在IP网络中有:IP的IP封装[RFC 2003]、最小封装{RFC 2004}、通用路由封装(GRE Generic Routing Encapsulation[RFC1701])。
       
        隧道的封装实际上是对信息结构进行变换,在隧道内部使用的数据包格式和地址寻址方式可以与传输数据包的主干网络所使用的数据包格式和地址寻址方式完全不同,从而提供某种程度的内在数据的安全性。
       
        3.1.2隧道
          当一个数据包被封装在另一个数据包的净荷中进行传送时,所经过的路径称为隧道。
       
        3.1.3隧道技术
          隧道技术就是通过将待传输的原始数据经过加密和协议封装处理后再嵌套装入另一种协议的数据包中,像普通数据包一样发送到网络中进行传输,实现跨越公共网络转送私有数据包的目的。
       
        在隧道的入口,即源端要对经过隧道传输的数据包进行分段、加密、封装等处理。而在隧道的出口,即宿端要对经隧道传输过来的数据包解封、解密、重新组装等处理,还原出原始的数据包,然后根据数据包中的目的地址进行处理,如果数据的目的地址就是本节点,就把数据包送给上一层处理,如果不是,则进行转发。也就是说,只有源端和宿端对隧道中的数据包(嵌套信息)进行解释和处理,对其它节点而言数据包不能被解释和处理,因而没有任何意义。
       
        3.1.4分段
          许多数据链路层以及在它的底层运行的硬件对能传送的最大帧的长度有限制,这种限制称为数据链路层MTU(Maximum Transfer Unit)。一条隧道的PMTU(Path MTU)就是构成这条隧道的源到目的地之间的各段路径MTU的最小值,可以通过Path MTU Discovery[RFC 1191]中定义的规程来发现隧道的MTU.MTU限制了在一帧中能传送的IP包的最大长度,如果IP包比传送它的数据链路层的MTU大,在传送前要将IP包分段(Fragmentation),将一个大的IP包分成几个小段,以便每个小片可以装进数据链路层MTU中。
       
        3.1.5数据的安全性
          在通信协议的分层模型中,网络层(在TCP/IP协议中就是IP层)是可实现端到端安全通信的最底层。网络层安全协议为IP报文中封装的所有应用层数据提供透明的安全保护,用户无需修改应用层协议。
       
        数据的安全性(Security)是指数据在隧道中传输时不被篡改和泄露,在Internet上可以用过IPSec机制[RFC 2401]来实现。数据的安全性主要体现在以下几个方面:
          1、数据源身份认证:证实数据报文是所声称的发送者发出的。
       
        2、数据完整性:证实数据报文的内容在传输过程中没有被修改,无论是被估计改动或是由于发生了随机的传输错误。
       
        3、数据机密性:隐藏明文消息,通常靠加密技术来实现。
       
        4、重放攻击保护:保证攻击者不能截获数据报文,且稍后某个时间再发送数据报文,而且不会被检测到。
          5、自动的密匙管理和安全关联管理:保证只需少量或根本不需要手工配置,就可以在共享的公共网络中写上生成密匙,并能动态刷新密匙。
       
        IP安全体系结构是由IETF的IPSec工作组制定的,是一个开放性的标准框架,它能为网络层安全提供能够一个长期的、稳定的基础。它不仅可以使用先进的密码学算法,还可以在将来出现了更新更强大的密码学算法时,同样可以使用。因为它是开放的,IPSec不仅为Internet提供了基本的安全功能,也为创建健壮安全的虚拟私有网提供了灵活的手段。
       
        IP认证头AH(Authentication Header[RFC 1826])数据包通过在其前面加入IP认证头提供对IP报头和净荷(Payload)的认证、完整性检查,IP认证头可用来认证发送者的身份,保护整个数据包不会被篡改。认证头无法提供数据加密,可由IP封装安全净荷ESP来提供。IP封装安全净荷ESP(IP Encapsulating Security Payload[RFC 1627])提供了IP包净荷的机密性、认证和完整性检查。
       
        3.2隧道技术中的封装技术
          封装就是将数据包作为净荷放在另一个数据包或帧中。在IP网络中有三种典型的封装协议:
          1、IP的IP封装协议(IP Encapsulation within IP[RFC2003])
       
        2、最小封装协议(Minimal Encapsulation within IP[RFC2004])
       
        3、通用路由封装协议(GRE Generic Routing Encapsulation[RFC1701])
       
        3.2.1 IP的IP封装协议
          IP的IP封装其实非常简单,一个IP数据包放在一个新的IP包的净荷中,这个新的也就是外层的IP包报头的各个域的设置如下:
         
        采用IP的IP封装的隧道对穿过它们的数据包就像一条虚拟链路。数据包的生存时间域只在进入隧道和离开隧道时才减小。
        3.2.2最小封装协议
          IP的最小封装是移动IP中一种可选的隧道方式。最小封装的目的是减少实现隧道所需的额外字节数,可通过将IP的IP封装中内层IP报头和外层IP报头的冗余部分去掉来完成。
       
        采用最小封装时,原始数据包要经过以下步骤:
          1、在原来的IP净荷和IP报头之间加入最小转发报头(Minimal Forwarding Header)。
       
        2、对原来的IP报头作如下改动:
          协议类型域55,表示新的净荷是经过最小封装的数据包;
          源地址和目的地址将隧道入口和出口地址代替;
          报头长IHL、总长度及校验和由新的报头和净荷计算得到;
          如果隧道入口将原来的数据包从某个端口路由到了隧道端口,那么生存时间域就要相应的减少,如果隧道入口就是原来的数据包的源,那么生存时间域就不用减少。
       
        3、最小转发报头可以这样加入:
          协议类型域的值直接从原始包的IP报头中拷贝;
          如果隧道入口就是原始包的源,那么指示后面存在原始源地址域的比特位置为0,否则置为1.原始目的地址域直接从原始包的IP目的地址中拷贝。报头校验和从最小转发报头中计算得到。
       
        如果隧道入口不是原始数据包的源,那么原始源地址域可以从原始IP包的源IP地址拷贝得到,否则,经过封装的数据包就不用包含这个域。
       
        最小转发报头的大小也就是采用最小封装的隧道的开销,可能是8个字节或12个字节,决定于隧道入口是否是原始数据包的源。
       
        对经过最小封装的数据包进行拆封,需要从最小转发报头中恢复出原始的IP报头。最小转发报头中没有任何信息保存原始数据包有关分段的情况,因此,要想通过隧道传送已经经过分段的原始数据包,隧道入口只能采用IP的IP封装。
       
        3.2.3通用路由封装协议
          通用路由封装协议是多用于移动IP或远程计算机访问Home网络的一种隧道技术。除了IP协议,通用路由封装协议还支持其他网络层协议,它允许一种协议的数据包封装在另一种协议数据包的净荷中,这与IP的IP封装协议和最小封装协议不同,它们都要求只采用IP.
          通用路由封装协议是多协议封装。当第一种协议的网络层数据包要封装进第二种协议的网络层数据包时,内层数据包称为净荷包,外层数据包称为分发包。通用路由封装协议的封装是将GRE报头放在净荷包和分发包之间。通用路由封装协议是可支持多协议的隧道封装协议。
       
        3.3相关隧道协议分析
          3.3.1 PPTP协议(Point to Point Tunnel Protocol)
       
        PPTP协议是将PPP数据帧封装在IP数据报内通过IP网络,例如Internet传送的协议。PPTP还可用于专用局域网络之间的连接。PPTP使用一个TCP连接对隧道进行维护,使用通用路由封装(GRE)技术把数据封装成PPP数据帧通过隧道传送,还可以对封装在PPP帧中的负载数据进行加密或压缩。
       
        PPTP的工作方式是在TCP/IP包中封装原生包如IPX包,包括其控制信息都成为TCP/IP包的负载,然后通过Internet传送。另一端的软件拆包并将其发送给原来的协议进行常规处理。PPTP数据交换的核心是PPTP控制连接,它是建立和维护隧道的一系列控制消息。整个PPTP连接仅包含唯一的TCP/IP连接,它需要响应命令集合以便在发生事务处理时保持打开状态。
       
        PPTP协议提供PPTP客户机和PPTP服务器之间的加密通信。PPTP客户机是指运行该协议的PC机,如启动该协议的Windows95/98;PPTP服务器是指运行该协议的服务器,如启动该协议的Windows服务器。PPTP是PPP协议的一种扩展,它提供了一种在互联网上建立多协议的安全虚拟专用网(VPN)的通信方式。远端用户能够透过任何支持PPT的ISP访问公司的专用网。
       
        3.3.2 IPSec协议(IP Security)
       
        IP安全协议(IPSec)实际上是一套实现网络安全的协议包,而不是一个独立的协议。IPSec是IP协议层的安全体系结构,是对网络层的IP协议进行扩展,加入了安全协商、数据报的加密、认证和面向主机的访问控制等安全措施,为上层的协议和应用提供Internet上一致的安全保护。
       
        IPSec的安全体系包括3个基本协议:AH(Authentication Header)协议,提供无连接的完整性、数据发起验证和重放保护;ESP(Encapsulation Security Payload)协议提供加密机制;密钥管理协议IKE(Internet Key Exchange)提供安全可靠的算法和密匙协商。这些机制均独立于算法,这种模块化的设计允许只改变不同的算法而不影响实现的其他部分。
       
        IPSec可以为IP提供基于加密的互操作性强、高质量的通信安全,所支持的安全服务包括存取控制、无连接的完整性、数据发起方认证和加密[30],这些服务在IP上实现,提供IP层或IP层之上的保护。实现网络层的加密和验证可以在网络结构上提供一个端到端的安全解决方案。这样终端系统和应用程序不需要任何改变就可以利用强有力的安全性保障用户的网络内部结构。因为加密报文类似于通常IP报文,因此可以很容易通过任何IP网络,而无须改变中间的网络设备。只有终端网络设备才需要了解加密,这可以大大减小实现与管理的开销。
          IPSec协议族具有端对端数据信息加密、认证校验和数据一致性检查等安全功能,它允许网络管理者为特殊的应用程序和网络配置沿网络路径的不同网段使用多种的安全管理功能。
       
        3.3.3 L2F协议(Layer 2 Forwarding)
       
        L2F协议是由Cisco公司提出的可以在多种介质,如ATM、帧中继、IP网上建立的多协议安全虚拟专用网的通信协议。远端用户能通过任何拨号方式接入公用IP网,首先按常规方式拨到ISP的接入服务器(NAS),建立PPP连接;NAS根据用户名等信息,建立直达HGW服务器的第二重连接。在这种情况下,隧道的配置和建立对用户是完全透明的。其体系结构见图3.1.
         
        L2F强调的是将物理层协议移到链路层,并允许通过Internet光缆的链路层和较高层协议的传输[32]。一旦建立连接,L2F将通过在保持初始拨号服务器位置不可见的Internet中的虚拟隧道来传送包含验证、授权和记账信息的数据报。
       
        3.3.4 L2TP协议(Layer 2 Tunnel Protocol)
       
        L2TP协议是由L2F和PPTP组合而成的,允许用户从客户端或访问服务器端建立VPN连接。L2TP是把链路层的PPP帧装入公用网络设施,如IP、ATM、帧中继中进行隧道传输的封装协议。其体系结构见图3.1.
          L2TP和PPTP十分相似,因为L2TP有一部分就是采用PPTP协议,两个协议都允许客户通过其间的网络建立隧道,有待客户端软件的扩展。L2TP还支持信道认证,但它没有规定信道保护的方法。L2TP具有IPSec选项。L2TP沿袭了PPTP的握手信息模式和L2F的工作模式。L2TP由访问服务器端发起,到企业网的Gateway端结束。L2TP使一个远程用户通过拨号就近拨入一个ISP,并且能够跨过Internet公网连接到私有网络之上,它是以往拨号用户与私有网络PPP连接的一个扩展。L2TP被设计在OSI的第二层之上建立隧道而取代PPTP.
          与PPTP和L2F相比,L2TP的优点在于提供了差错和流量控制,并且L2TP使用UDP封装和传送PPP帧。面向无连接的UDP无法保证网络数据的可靠传输,L2TP使用Nr(下一个希望接受的信息序列号)和Ns(当前发送的数据包序列号)字段进行流量和差错控制。双方通过序列号来确定数据包的顺序和缓冲区,一旦丢失数据,根据序列号可以进行重发。
       
        作为PPP的扩展协议,L2TP支持标准的安全特性CHAP和PAP,可以进行用户身份认证。L2TP定义了控制包的加密传输,每个被建立的隧道分别生成一个独一无二的随机钥匙,以便对付欺骗性的攻击,但是它对传输中的数据并不加密。
       
        3.4隧道技术在以太网和现场总线互连的应用
          隧道(Tunneling)技术是一种用于异型网络网际互连的技术,当两个同类网络通过中间复杂的异类网络互连时,常采用隧道技术进行分组交换。当数据帧通过路由器时,路由器并不对帧头部进行协议转换,只是将数据帧作为分组再加上自己的帧头部,向同样位于中间网络的另一路由发送。另一路由收到数据后,去掉中间网络的帧头,继续向后继网络发送。整个过程中,中间网络可以被看成从一个多协议路由伸展到另一个路由的大隧道,分组完全不必关心中间经过什么样的网络,因此大大简化了路由转发和寻址的工作。
       
        以太网和现场总线的互连,可以采用隧道技术的方法,这样对于应用程序而言底层网络是透明的,应用程序只知道不在同一网段上,不会感觉系统是由两种网络构成的。采用隧道技术使现场总线接入以太网简单易行,使现场总线通过以太网进行互连成为可能。这种以太网和现场总线相结合的混合控制网络结构,不仅可以很好的解决目前控制系统的全分散、全开放和多种现场总线的系统集成问题,同时也丰富了系统的体系结构,对现场总线提出了新的要求和挑战,促进控制领域标准化工作向更高层次发展。




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2