基于MPLS的VPN技术原理及其实现
“卢安娜的飓风”通过精心收集,向本站投稿了8篇基于MPLS的VPN技术原理及其实现,以下文章小编为您整理后的基于MPLS的VPN技术原理及其实现,供大家阅读。
篇1:基于MPLS的VPN技术原理及其实现
基于MPLS的VPN技术原理及其实现
摘要:在研究了基于MPLS的VPN技术的原理和工作的基础上,给出了基于BGP扩展实现的MPLS VPN的一个网络组成模型,同时描述了这个模型中的各个设备及其功能。最后分析了MPLS VPN的技术优势及其应用前景。关键词:VPN MPLS 多协议标记交换
随着Internet的蓬勃发展,人们对其应用提出了更高的要求。但Internet缺乏有效的流量和网络带宽管理手段,网络经常会发生阻塞。无法对服务质量(QoS)提供保证,许多应用对于目前的IP技术(如语音和视频等)显得力不从心。而新兴的多协议标记交换技术(MPLS:MultiProtocol Label Switching)有望解决这一问题。
1 VPN简介
VPN指的是依靠ISP和其它NSP,在公用网络中建立专有数据通信网络的技术。在虚拟专网中,任意两个接点之间的连接并没有传统专网所需的端到端的物理链路,而是利用某种公共网的资源动态组成的。VPN技术采用季认证、存取控制、机密性、数据完整性等措施,以保证信息在传输过程中的机密性、完整性和可用性。它是在公共Internet之上为政府、企业构恐安全可靠、方便快捷的专用网络,并可节省资金。VPN技术是广域网建设的最佳解决方染,它不仅会大大节省广域网的建设和运行维护费用,而且拥有成本低、便于管理,开销少、灵活度高,保密性好等优点。
2 基于MPLS的VPN技术
2.1 MPLS的基本原理
MPLS VPN是指基于MPLS技术构建的虚拟专用网,即采用MPLS技术,在公共IP网络上构建企业IP专网,实现数据、语音、图像等多业务宽带连接。并结合差别服务、流量工程等相关技术,为用户提供高质量的服务。MPLS VPN能够在提供原有VPN网络所有功能的同时,提供强有力的QoS能力,具有可靠性高、安全性高、扩展能力强、控制策略灵活以及管理能力强大等特点。
MPLS是一种特殊的转发机制,它为进入网络中的IP数据包分配标记,并通过对标记的交换来实现IP数据包的转发。标记作为IP包头在网络中的替代品而存在,在网络内部MPLS在数据包所经过的路径通过交换标记(而不是看IP包头)来实现转发;当数据包要退出MPLS网络时,数据包被解开封装,继续按照IP包的路由方式到达目的地。
(本网网收集整理)
如图1所示,MPLS网络包含一些基本的元素。在网络边缘的节点就称作标记边缘路由器(LER:Label Edge Router),而网络的核心节点就称作标记交换路由器(LSR:Label Switching Router)。LER节点在网络中提供高速交换功能。在MPLS节点之间的路径就叫做标记交换路径(LSP:Label Switched Path)。一条LSP可以看作是一条贯穿网络的单向隧道。
MPLS的工作流程可以分为三个方面:即网络的边缘行为、网络的中心行为以及如何建立标记交换路径。
1. 网络的边缘行为
当IP数据包到达一个LER时,MPLS第一次应用标记。首先,LER要分析IP包头的信息,并且按照它的目的地址和业务等级加以区分。
在LER中,MPLS使用了转发等价类(FEC:Forwarding Equivalence Class)的概念来将输入的数据流映射到一条LSP上。简单地说,FEC就是定义了一组沿着同一条路径、有相同处理过程的数据包。这就意味着所有的FEC相同的包都可以映射到同一个标记中。
对于每一个FEC,LER都建立一条独立的LSP穿过网络,到达目的地。数据包分配到一个FEC后,LER就可以根据标记信息库(LIB:Label Information Base)来为其生成一个标记。标记信息库将每一个FEC都映射到LSP下一跳的标记上。如果下一跳的链路是ATM,则MPLS将使用ATM VCC里的VCI作为标记。
转发数据包时,LER检查标记信息库中的FEC,然后将数据包用LSP的标记封装,从标记信息库所规定的下一个接口发送出去。
2. 网络的核心行为
当一个带有标记的包到达LSR的时候,LSR提取入局标记,同时以它作为索引在标记信息库中查找。当LSR找到相关信息后,取出出局的标记,并由出局标记代替入局标记,从标记信息库中所描述的下一跳接口送出数据包。
最后,数据包到达了MPLS域的另一端,在这一点,LER剥去封装的标记,仍然按照IP包的路由方式将数据包继续传送到目的地。
3. 如何建立标记交换路径
建立LSP的方式主要有两种:
(1)“Hop by Hop (逐跳寻径) ”路由
一个Hop-by -Hop的LSP是所有从源站点到一个特定目的站点的IP树的一部分。对于这些LSP,MPLS模仿IP转发数据包的面向目的地的方式建立了一组树。
从传统的IP路由来看,每一台沿途的路由器都要检查包的目的地址,并且选择一条合适的路径将数据包发送出去。而MPLS则不然,数据包虽然也沿着IP路由所选择的同一条路径进行传送,但是它的数据包头在整条路径上从始至终都没有被检查。
在每一个节点,MPLS生成的树是通过一级一级地为下一跳分配标记,而且是通过与它们的对等层交换标记而生成的。交换是通过标记分配协议(LDP:Label Distribution Protocol)的请求以及对应的消息完成的。
(2)显式路由
MPLS最主要的优点就是它可以利用流量设计“引导”数据包。MPLS允许网络的运行人员在源节点就确定一条显式路由的LSP(ER-LSP),以规定数据包将选择的路径。ER-LSP从源端到目的端建立一条直接的端到端的路径。MPLS将显式路由嵌入到限制路由的标记分配协议的信息中,从而建立这条路径。
2.2 基本MPLS的VPN实现
如图2所示,基于BGP扩展实现的MPLS三层VPN包含以下基本组件:
PE:Provider Edge Router,PE路由器使用静态路由、RIPv2、OSPF或EBGP与CE路由器交换路由信息。尽管PE路由器维护着VPN路由信息,但它只需为其直接相连的那些VPN维护VPN路由。每台PE路由器为其直接相连的每个站点维护一个VRP(Virtual Routing Forwarding Table),每个客户连接映射到某个VRF上。在从CE路由器上学习本地VPN路由信息。PE路由器使用IBGP与其它路由器交换VPN路由信息。PE路由器可以保护到路由反射器的IBGP会话,作为全网状IBGP会话的替代方案。使用MPLS在供应商骨干中转发VPN数据流量时,入口PE路由器作为入MPLS使用,出入PE路由器作为出中LSR使用。
CE:客户边缘(CE)设备允许客户通过连接一台或多台供应商边缘(PE)路由器的一条数据链路接入服务供应商网络。CE设备是一台IP路由器,它与直接连接的PE路由器建立邻接关系。在建立邻接后,CE路由器把站点的本地VPN路由广播到PE路由器,并从PE路由器上学习远程VPN路由。
Prouter:Provider Router,供应商路由器是没有连接CE设备的供应商网络中的`任何路由器。在PE路由器这间转发VPN数据流量时,供应商路由器作为MPLS连接LSR使用。由于是在采用两层标记堆栈的MPLS骨干中转发流量,因此供应商路由器只需维护到供应商PE路由器的路由,而不需维护每个客户站点专用的VPN路由信息。
RR:Route Reflector,BGP路由反射器
ASBR:Automated System Border Router,自治系统边界路由器,在实现跨自治系统的VPN时,与其它自治系统交换VPN路由。
MP-BGP:多协议扩展BGP,承载携带标签的IPv4/VPN路由,包括MP-IBGP、MP-EBGP。
PE-CE路由协议:在PE、CE之间传递用户网络路由,可以是静态路由,或RIP、OSPF、ISIS、BGP协议。
LDP:Label distribution Protocol,在PE之间建立尽力而为的LSP,经过P路由器,所有PE、P路由器均需要支持。RSVP-TE:在VPN需要QoS保障时,在PE之间建立具有QoS能力的ER-LSP。
VRF:Virtual Routing Fowarding Table,虚拟路由转发表,它包含同一个Site相关的路由表、转发表、接口(子接口)、路由实例和路由策略等。在PE设备上,属于同一VPN的物理端口或逻辑端口对应一个VRF,可通过命令行或网管工具进行配置,主要参数包括RD(Route Distinguish)、Import Route-Targets、Export Route-Targets、接口(子接口)等。
VPN用户站点:Site是VPN中的一个孤立的IP网络,一般来说,它不通过骨干网公司总部、分支机构都是Site的具体例子。CE路由器通常为VPN Site中的一个路由器或交换设备,Site通过一个单独的物理端口或逻辑端口(通常是VLAN端口)连接到PE设备。
用户接入MPLS VPN后,每个Site提供一个或多个CE与骨干网的PE连接,并在PE上为该Site配置VRF,将连结PE-CE的物理接口、逻辑接口、甚至L2TP/IPSec隧道绑定到VRF上,但不可以是多跳的三层连接。
BGP扩展实现的MPLS VPN扩展的BGP NLRI的IPv4地址,在其前增加了一个8字节的RD(Route Distinguisher),用于标记VPN的成员(Site)。每个VRF可配置某些策略,规定VPN可以接收哪些Site的路由信息,可以向外发布哪些Site的路由信息。PE根据BGP扩展发布的信息进行路由计算,生成相关VPN的路由表。
通常,PE-CE之间通过静态路由交换路由信息,也可通过RIP、OSPF、BGP、IS-IS等协议,静态路由方式可以减少因CE设备管理不善等原因造成的对骨干网BGP路由的震荡,从而提供骨干网的稳定性。
MPLS BGP三层VPN适用于固定的Internet/Extranet用户,每个Site可代表Internet/Extranet的总部或分支机构。MPLS三层VPN的CE与PE设备之间只需要一条物理或逻辑链路,但PE设备必须保存多个路由表。如果在CPE或PE之间运行动态路由协议,则PE还必须支持多实例,对PE性能要求较高。PE与PE之间需要运行BGP协议,可扩展性较差,目前可通过一个或多个路由反射器解决这一问题。对于同一AS(Automated System)域的VPN,必须建立运营商之间路由器IBGP连接的PE,与路由反射器建立IBGP连接即可。
MPLS BGP三层VPN可通过与Internet路由之间配置一些静态路由的方式,实现VPN的Internet上网服务,并可为跨不同地域的、属于同一个AS但没有骨干网的运营商提供VPN互连,即提供“运营商的运营商”模式的VPN网络互连。
2.3 MPLS的优点
1.高安全性。MPLS的标记交换路径(LPS)具有与FR和ATM VCC相似的安全性;另外。MPLS VPN还集成了IPSEC加密,同时也实现了对用户透时,用户可以采用防火墙,数据加密等方法,进一步提高安全性。
2.强大的扩展性。第一,网络可以容纳的VPN数目很大;第二,同一VPN的用户很容易扩充。
3.业务的融合能力。MPLS VPN提供了数据、语音和视频三网融合的能力。
4.灵活的控制策略。可以制定特殊的控制策略,同时满足不同用户的特殊需求,实现增值服务。
5.强大的管理功能。采用集中管理的方式,业务配置和调度统一平台,减少了用户的负担。
6.服务级别协议(SLA)。目前利用差别服务、流量控制和服务级别来保证一定的流量控制,将来可以提供宽带保证以及更高的服务质量保证。
7.为用户节省费用。
MPLS是一种结合了链路层和IP层优势的新技术。在MPLS网络上不仅仅能提供VPN业务,也能够开展QoS、TE、组播等等的业务。随着MPLS应用的不断升温,不论是产品还是网络,对MPLS的支持已不再是额外的要求。VPN虽然是一项刚刚兴起的综合性的网络新技术,但却已经显示了其强大的生命力。在我国网络基础薄弱,政府和企业对IP虚拟专用网的需求不高,但相信随着政府上网、特别是在电子商务的推动下,基本MPLS的IP虚拟专用网技术的解决方案必将有不可估量的市场前景。
篇2:网络监听的原理、实现技术与防范方法
局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处理、具有较高的兼容性和安全性等基本功能和特点,目前局域网主要用于办公室自动化和校园教学及管理,一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。
一、网络监听
网络监听技术本来是提供给网络安全管理人员进行管理的工具,可以用来监视网络的状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时,使用监听技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断地将网上传输的信息截获。网络监听可以在网上的任何一个位置实施,如局域网中的一台主机、网关上或远程网的调制解调器之间等。
二、在局域网实现监听的基本原理
对于目前很流行的以太网协议,其工作方式是:将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工作监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然只能监听经过自己网络接口的那些包)。
在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主机的物理地址,这是一个与IP地址相对应的48位的地址。
传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理的线路上,如果局域网是由一条粗缆或细缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是广播地址,则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。
然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且,当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现在网络中使用的大部分协议都是很早设计的,许多协议的实现都是基于一种非常友好的、通信的双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和口令等信息也以明文的方式在网上传输,而此时一个 或网络攻击者正在进行网络监听,只要具有初步的网络和TCP/IP协议知识,便能轻易地从监听到的信息中提取出感兴趣的部分。同理,正确的使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。
三、局域网监听的简单实现
要使主机工作在监听模式下,需要向网络接口发出I/O控制命令,将其设置为监听模式。在Unix系统中,发送这些命令需要超级用户的权限。在Windows系列操作系统中,则没有这个限制。要实现网络监听,可以自己用相关的计算机语言和函数编写出功能强大的网络监听程序,也可以使用一些现成的监听软件,在很多 网站或从事网络安全管理的网站都有。
1. 一个使用sniffer pro进行监听并解析IPv4协议头部的例子
(1)IP头部概述
对于上图中各个字段的含义以及IPv4和IPv6报头的区别,RFC文档和一些计算机网络基础的书籍中都有详细的说明,在此不再赘述。
(2)实例解析
是用sniffer pro进行监听时捕获的IPv4协议报头。
第一部分显示的是关于IP的版本信息,它的当前版本号为4;然后是头部的长度,其单位是32-bit的字,本例中值为20bytes,
第二部分是有关服务类型的信息。
第三部分为头部长度字段,本例中IP报头长为56字节。
第四部分是关于分段的内容。
第五部分是生存时间字段,一般为64或128,本例为128seconds/hops。
第六部分是协议部分,说明了上层使用的服务类型,本例中为UDP。
第七部分以下各字段分别为校验和、源地址、目的地址等。
2. 一个使用sniffer pro进行监听获取邮箱密码的例子
通过对用监听工具捕获的数据帧进行分析,可以很容易的发现敏感信息和重要信息。例如,对一些明码传输的邮箱用户名和口令可以直接显示出来。
gao-jian为邮箱用户名,12345为邮箱密码,都以明码显示,由此也可以看到局域网监听技术如果用于不正当的目的会有多大的危害。
在以上各部分中还有更详细的信息,在此不作更多的分析。通过这个例子想说明的是通过网络监听可以获得网络上实时传输的数据中的一些非常重要的信息,而这些信息对于网络入侵或入侵检测与追踪都会是很关键的。
四、如何检测并防范网络监听
网络监听是很难被发现的,因为运行网络监听的主机只是被动地接收在局域局上传输的信息,不主动的与其他主机交换信息,也没有修改在网上传输的数据包。
1. 对可能存在的网络监听的检测
(1)对于怀疑运行监听程序的机器,用正确的IP地址和错误的物理地址ping,运行监听程序的机器会有响应。这是因为正常的机器不接收错误的物理地址,处理监听状态的机器能接收,但如果他的IP stack不再次反向检查的话,就会响应。
(2)向网上发大量不存在的物理地址的包,由于监听程序要分析和处理大量的数据包会占用很多的CPU资源,这将导致性能下降。通过比较前后该机器性能加以判断。这种方法难度比较大。
(3)使用反监听工具如antisniffer等进行检测
2. 对网络监听的防范措施
(1)从逻辑或物理上对网络分段
网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全的一项措施。其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听。
(2)以交换式集线器代替共享式集线器
对局域网的中心交换机进行网络分段后,局域网监听的危险仍然存在。这是因为网络最终用户的接入往往是通过分支集线器而不是中心交换机,而使用最广泛的分支集线器通常是共享式集线器。这样,当用户与主机进行数据通信时,两台机器之间的数据包(称为单播包Unicast Packet)还是会被同一台集线器上的其他用户所监听。
因此,应该以交换式集线器代替共享式集线器,使单播包仅在两个节点之间传送,从而防止非法监听。当然,交换式集线器只能控制单播包而无法控制广播包(Broadcast Packet)和多播包(Multicast Packet)。但广播包和多播包内的关键信息,要远远少于单播包。
(3)使用加密技术
数据经过加密后,通过监听仍然可以得到传送的信息,但显示的是乱码。使用加密技术的缺点是影响数据传输速度以及使用一个弱加密术比较容易被攻破。系统管理员和用户需要在网络速度和安全性上进行折中。
(4)划分VLAN
运用VLAN(虚拟局域网)技术,将以太网通信变为点到点通信,可以防止大部分基于网络监听的入侵。
五、结束语
网络监听技术作为一种工具,总是扮演着正反两方面的角色。对于入侵者来说,最喜欢的莫过于用户的口令,通过网络监听可以很容易地获得这些关键信息。而对于入侵检测和追踪者来说,网络监听技术又能够在与入侵者的斗争中发挥重要的作用。鉴于目前的网络安全现状,我们应该进一步挖掘网络监听技术的细节,从技术基础上掌握先机,才能在与入侵者的斗争中取得胜利。
篇3:特种加工技术及原理
激光、离子束、电火花、喷涂技术等都是特种加工:
1)激光熔焊技术:基本原理是把波长一定的连续脉冲光束,通过放大、反射、聚焦,使光束的束宽、束形、束能、峰值功率及重复频率等参数达到特定的技术要求后辐射到工作表面,形成特殊熔池, 特点:具有熔点小、熔速快、精度高、变形小等。工业上主要应用于精密件的焊补、焊接及特殊加工或表面强化。
2)离子束技术:基本原理是由离子源获得高能离子束流,通过磁化、纯化、加速,再经过多为旋转扫描器后注入材料表面,注入的离子与原材料的原子之间发生辐射扩散效应以及晶格置换错位现象,出现成核化合物,生成弥散硬化相,使其表层显微组织结构发生突变,从而获得所需要的性能,
3)摩擦旋转电火花涂覆技术:优点是可以极大地提高工件表面的硬度、耐磨性、热硬性及耐腐蚀等机械特性、不受重量、体积、形状的局限,工件不变性。
4)喷涂、喷焊技术:将焊材加热至熔融状态,以高速撞击在工件表面,属于物理结合
适用范围:可广泛应用于缸筒、活塞、液压缸、导杆、铜瓦、曲轴、滚筒、轧辊、箱体、缸体、齿轮楗槽、转子轴承等各类机械零件的断、裂、磨损、棱角崩损、加工超差、锈蚀等方面的修复;可对大型精密设备零件进行现场不解体修复;可对碳钢、合金钢、不锈钢、铸铁、铸铜、铸铝等各种进口、国产材质及不明材质进行修复;可对表面镀铬、镀钛、镀铜等复合材质及橡胶、塑料等非金属进行修复;对相同或不同材料进行连接、固定、密封及管道、容器的带压堵漏;还可以用于零件表面的改性,使其具有耐磨、耐高温、防腐等突出性能。
篇4:人才测评技术原理
人才测评技术要求比较高,为提高测评结果的有效性,需要有若干技术保障条件,如测评工具(试题)的难度、区分度、信度、效度等,
1.难度。难度是指应试者解答试题的难易程度,它是衡量测评试题质量的一个重要指标参数,它和区分度共同影响并决定人才测评的鉴别性。难度一般用以下公式计算:P=R÷N(P代表试题的难度指数,R代表试题的答对人数,N代表考生人数)。难度指数越高,表示试题越容易;难度指数越低,则表示试题越难。一般认为,试题的难度指数在0.3-0.7之间比较合适,整份试卷的平均难度指数最好掌握在0.5左右,高于0.7和低于0.3的试题不能太多。
2.区分度。区分度是反映测评试题区分应试者能力水平高低的指标。试题区分度高,可以有效拉开不同水平应试者分数的距离,使高水平者得高分,低水平者得低分,而区分度低则反映不出不同应试者的水平差异。试题的区分度与试题的难度直接相关,通常来说,中等难度的试题区分度较大。另外,试题的区分度也与应试者的水平密切相关,试题难度只有等于或略低于应试者的实际能力,其区分性能才能充分显现出来。区分度可用以下公式计算:D=(H-L)÷N(D代表区分度指数,H代表高分组答对题的人数,L代表低分组答对题的人数,N代表一个组的人数即高分组与低分组人数之和),
区分度指数越高,试题的区分度就越强。一般认为,区分度指数高于0.3,试题便可以被接受。
3.信度。信度是指人才测评所测得的结果的一致性或稳定性,稳定性越大,一致的程度越高,就意味着测评结果越可靠。相反,如果用某套试题对同一应试者先后进行两次测试,结果第一次得80分,第二次得50分,结果的可靠性就值得怀疑了。信度通常以两次测评结果的相关系数来表示。相关系数为1,表明测评工具如试卷完全可靠;相关系数为0,则表明该试卷完全不可靠。一般来说,人才测评都要求信度在0.7以上。信度可用再测信度、复本信度和内部一致信度三种方法来进行评估。再测信度是指将同一试卷在相同的条件下对同一组考生先后实施两次,两次测评结果的相关系数。复本信度是指用两份或几份在构想、内容、难度、题型和题量等方面都平行的试卷进行测试,测评结果之间的相关系数。内部一致信度是指试卷内部各题之间的一致性,通常是将试卷一分为二,然后计算一半试卷与另一半试卷之间的相关系数。
4.效度。效度是指测评的有效性和正确性,即测评是否测量了它要测定的东西,是否达到它所预定的测评目标。效度是一个相对概念,而不是一个绝对概念,即效度只有高低之分,而没有全部有效和全部无效之分。效度从种类上可分为卷面效度、内容效度、构想效度、预测效度和共时效度。
篇5:高级扫描技术及原理
声明:本文只是作技术方面的探讨,目的是让大家更好的防范来自各方的攻击,确保网络安全,本文不提供任何程序和软件的下载信息。
Scan,是一切入侵的基础,扫描探测一台主机包括是为了确定主机是否活动、主机系统、正在使用哪些端口、提供了哪些服务、相关服务的软件版本等等,对这些内容的探测就是为了对症下药。对主机的探测工具非常多,比如大名鼎鼎的nmap、netcat、superscan,以及国内的X-Scanner等等。
ICMP协议PING是最常用的,也是最简单的探测手段,用来判断目标是否活动。实际上Ping是向目标发送一个要求回显(Type = 8)的ICMP数据报,当主机得到请求后,再返回一个回显(Type = 0)数据报。而且Ping 程序一般是直接实现在系统内核中的,而不是一个用户进程。Ping是最基本的探测手段,Ping Sweep(Ping扫射)就是对一个网段进行大范围的Ping,由此确定这个网段的网络运作情况,比如著名的fping工具就是进行Ping扫射的。
不过现在连基本的个人防火墙都对Ping做了限制,这个也太基本了。如果透过防火墙,如何获得最理想的目标图,也是很多人整天思考的问题。我们这里介绍的一些扫描技术就是要尽可能地绕过一些安全防护设备,并且尽量保护自己,同时达到我们需要的目的。
一、高级ICMP扫描技术
Ping就是利用ICMP协议走的,高级的ICMP扫描技术主要是利用ICMP协议最基本的用途:报错。根据网络协议,如果按照协议出现了错误,那么接收端将产生一个ICMP的错误报文。这些错误报文并不是主动发送的,而是由于错误,根据协议自动产生。
当IP数据报出现checksum和版本的错误的时候,目标主机将抛弃这个数据报,如果是checksum出现错误,那么路由器就直接丢弃这个数据报了。有些主机比如AIX、HP-UX等,是不会发送ICMP的Unreachable数据报的。
我们利用下面这些特性:
1、向目标主机发送一个只有IP头的IP数据包,目标将返回Destination Unreachable的ICMP错误报文。
2、向目标主机发送一个坏IP数据报,比如,不正确的IP头长度,目标主机将返回Parameter Problem的ICMP错误报文。
3、当数据包分片但是,却没有给接收端足够的分片,接收端分片组装超时会发送分片组装超时的ICMP数据报。
向目标主机发送一个IP数据报,但是协议项是错误的,比如协议项不可用,那么目标将返回Destination Unreachable的ICMP报文,但是如果是在目标主机前有一个防火墙或者一个其他的过滤装置,可能过滤掉提出的要求,从而接收不到任何回应。可以使用一个非常大的协议数字来作为IP头部的协议内容,而且这个协议数字至少在今天还没有被使用,应该主机一定会返回Unreachable,如果没有Unreachable的ICMP数据报返回错误提示,那么就说明被防火墙或者其他设备过滤了,我们也可以用这个办法来探测是否有防火墙或者其他过滤设备存在。
利用IP的协议项来探测主机正在使用哪些协议,我们可以把IP头的协议项改变,因为是8位的,有256种可能。通过目标返回的ICMP错误报文,来作判断哪些协议在使用。如果返回Destination Unreachable,那么主机是没有使用这个协议的,相反,如果什么都没有返回的话,主机可能使用这个协议,但是也可能是防火墙等过滤掉了。NMAP的IP Protocol scan也就是利用这个原理。
利用IP分片造成组装超时ICMP错误消息,同样可以来达到我们的探测目的。当主机接收到丢失分片的数据报,并且在一定时间内没有接收到丢失的数据报,就会丢弃整个包,并且发送ICMP分片组装超时错误给原发送端。我们可以利用这个特性制造分片的数据包,然后等待ICMP组装超时错误消息。可以对UDP分片,也可以对TCP甚至ICMP数据包进行分片,只要不让目标主机获得完整的数据包就行了,当然,对于UDP这种非连接的不可靠协议来说,如果我们没有接收到超时错误的ICMP返回报,也有可能时由于线路或者其他问题在传输过程中丢失了。
我们能够利用上面这些特性来得到防火墙的ACL(access list),甚至用这些特性来获得整个网络拓扑结构。如果我们不能从目标得到Unreachable报文或者分片组装超时错误报文,可以作下面的判断:
1、防火墙过滤了我们发送的协议类型
2、防火墙过滤了我们指定的端口
3、防火墙阻塞ICMP的Destination Unreachable或者Protocol Unreachable错误消息,
4、防火墙对我们指定的主机进行了ICMP错误报文的阻塞。
二、高级TCP扫描技术
最基本的利用TCP扫描就是使用connect,这个很容易实现,如果目标主机能够connect,就说明一个相应的端口打开。不过,这也是最原始和最先被防护工具拒绝的一种。
在高级的TCP扫描技术中主要利用TCP连接的三次握手特性和TCP数据头中的标志位来进行,也就是所谓的半开扫描。
先认识一下TCP数据报头的这六个标志位。
URG:(Urgent Pointer field significant)紧急指针。用到的时候值为1,用来处理避免TCP数据流中断
ACK:(Acknowledgment field significant)置1时表示确认号(Acknowledgment Number)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。
PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。
RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。
SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分Connection Request和Connection Accepted。
FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送了。
TCP协议连接的三次握手过程是这样的:
首先客户端(请求方)在连接请求中,发送SYN=1,ACK=0的TCP数据包给服务器端(接收请求端),表示要求同服务器端建立一个连接;然后如果服务器端响应这个连接,就返回一个SYN=1,ACK=1的数据报给客户端,表示服务器端同意这个连接,并要求客户端确认;最后客户端就再发送SYN=0,ACK=1的数据包给服务器端,表示确认建立连接。
我们就利用这些标志位和TCP协议连接的三次握手特性来进行扫描探测。
SYN 扫描
这种扫描方式也被称为半打开 扫描,因为利用了TCP协议连接的第一步,并且没有建立一个完整的TCP连接。
实现办法是向远端主机某端口发送一个只有SYN标志位的TCP数据报,如果主机反馈一个SYN ││ ACK数据包,那么,这个主机正在监听该端口,如果反馈的是RST数据包,说明,主机没有监听该端口。在X-Scanner 上就有SYN的选择项。
ACK 扫描
发送一个只有ACK标志的TCP数据报给主机,如果主机反馈一个TCP RST数据报来,那么这个主机是存在的。也可以通过这种技术来确定对方防火墙是否是简单的分组过滤,还是一个基于状态的防火墙。
FIN
对某端口发送一个TCP FIN数据报给远端主机。如果主机没有任何反馈,那么这个主机是存在的,而且正在监听这个端口;主机反馈一个TCP RST回来,那么说明该主机是存在的,但是没有监听这个端口。
NULL
即发送一个没有任何标志位的TCP包,根据RFC793,如果目标主机的相应端口是关闭的话,应该发送回一个RST数据包。
FIN+URG+PUSH
向目标主机发送一个Fin、URG和PUSH分组,根据RFC793,如果目标主机的相应端口是关闭的,那么应该返回一个RST标志。
上面这些办法可以绕过一些防火墙,从而得到防火墙后面的主机信息,当然,是在不被欺骗的情况下的。这些方法还有一个好处就是比较难于被记录,有的办法即使在用netstat命令上也根本显示不出来,而且一般的安全防护设备也根本不记录这些内容,这样能够更好地隐藏自己。
三、高级UDP扫描技术
在UDP实现的扫描中,多是了利用和ICMP进行的组合进行,这在ICMP中以及提及了。还有一些特殊的就是UDP回馈,比如SQL SERVER,对其1434端口发送x02或者x03就能够探测得到其连接端口
篇6:浅谈四层交换机技术原理
浅谈四层交换机技术原理
四层交换机通常分为两大类:广域网交换机和局域网交换机,下面就对这两种交换机的特征和用途进行说明概括,
在OSI模型的第四层是传输层,传输层的主要任务是负责端对端的通信任务,四层交换机技术可以根据数据帧的协议端口信息进行目标端口判断与分析工作。
在第四层中,TCP和UDP标题包含端口号(portnumber),它们可以唯一区分每个数据包包含哪些应用协议(例如HTTP、FTP等)。端点系统利用这种信息来区分包中的数据,尤其是端口号使一个接收端计算机系统能够确定它所收到的IP包类型,并把它交给合适的高层软件。
端口号和设备IP地址的组合通常称作“插口(socket)”。 1和255之间的端口号被保留,他们称为“熟知”端口,也就是说,在所有主机TCP/IP协议栈实现中,这些端口号是相同的。除了“熟知”端口外。
标准UNIX服务分配在256到1024端口范围,定制的应用一般在1024以上分配端口号。分配端口号的最近清单可以在RFc1700“Assigned Numbers”上找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第4层交换的基础。
随着通信业的发展以及国民经济信息化的推进,以太网交换机市场呈稳步上升态势。由于以太网具有性能价格比高、高度灵活、相对简单、易于实现等特点。所以,以太网技术已成为当今最重要的一种局域网组网技术,以太网交换机也就成为了最普及的交换机。
从广义上来看,四层交换机分为两种:广域网交换机和局域网交换机。广域网交换机主要应用于电信领域,提供通信基础平台。而局域网交换机则应用于局域网络,用于连接终端设备,如PC机及网络打印机等。
按照现在复杂的网络构成方式,网络交换机被划分为接入层交换机、汇聚层交换机和核心层交换机。其中,核心层交换机全部采用机箱式模块化设计,已经基本上都设计了与之相配备的1000Base-T模块。
接入层支持1000Base-T的以太网交换机基本上是固定端口式交换机,以10/100M端口为主,并且以固定端口或扩展槽方式提供1000Base-T的上联端口。汇聚层1000Base-T交换机同时存在机箱式和固定端口式两种设计,可以提供多个1000Base-T端口,一般也可以提供1000Base-X等其他形式的端口。接入层和汇聚层交换机共同构成完整的中小型局域网解决方案。
从传输介质和传输速度上看,局域网交换机可以分为以太网交换机、快速以太网交换机、千兆以太网交换机、FDDI交换机、ATM交换机和令牌环交换机等多种,这些交换机分别适用于以太网、快速以太网、FDDI、ATM和令牌环网等环境。
从规模应用上又有企业级交换机、部门级交换机和工作组交换机等。各厂商划分的尺度并不完全一致,一般来讲,企业级交换机都是机架式,部门级交换机可以是机架式,也可以是固定配置式。
而工作组级交换机则一般为固定配置式,功能较为简单。另一方面,从应用的规模来看,作为骨干交换机时,支持500个信息点以上大型企业应用的交换机为企业级交换机,支持300个信息点以下中型企业的交换机为部门级交换机,而支持100个信息点以内的交换机为工作组级交换机。
根据架构特点,人们还将局域网交换机分为机架式、带扩展槽固定配置式、不带扩展槽固定配置式三种产品。机架式交换机是一种插槽式的交换机,这种交换机扩展性较好,可支持不同的网络类型,如以太网、快速以太网、千兆以太网、ATM、令牌环及FDDI等,但价格较贵。
不少高端交换机都采用机架式结构。带扩展槽固定配置式交换机是一种有固定端口并带少量扩展槽的交换机,这种交换机在支持固定端口类型网络的基础上,还可以通过扩展其他网络类型模块来支持其他类型网络。
这类交换机的价格居中。不带扩展槽固定配置式交换机仅支持一种类型的网络(一般是以太网),可应用于小型企业或办公室环境下的局域网,价格最便宜,应用也最广泛,
按照OSI的七层网络模型,交换机又可以分为第二层交换机、第三层交换机、第四层交换机等,一直到第七层交换机。
基于MAC地址工作的第二层交换机最为普遍,用于网络接入层和汇聚层。基于IP地址和协议进行交换的第三层交换机普遍应用于网络的核心层,也少量应用于汇聚层。部分第三层交换机也同时具有第四层交换功能,可以根据数据帧的协议端口信息进行目标端口判断。第四层以上的交换机称之为内容型交换机,主要用于互联网数据中心。
按照交换机的可管理性,又可把四层交换机分为可管理型交换机和不可管理型交换机,它们的区别在于对SNMP、RMON等网管协议的支持。可管理型交换机便于网络监控、流量分析。
但成本也相对较高。大中型网络在汇聚层应该选择可管理型交换机,在接入层视应用需要而定,核心层交换机则全部是可管理型交换机。按照交换机是否可堆叠,交换机又可分为可堆叠型四层交换机和不可堆叠型交换机两种。设计堆叠技术的一个主要目的是为了增加端口密度。
四层交换机主要技术浅析
第二层交换机和第三层交换机 都是基于端口地址的端到端的交换过程,虽然这种基于MAC地址和IP地址的交换机技术,能够极大地提高各节点之间的数据传输率,但却无法根据端口主机的应 用需求来自主确定或动态限制端口的交换过程和数据流量,即缺乏第四层智能应用交换需求。第四层交换机不仅可以完成端到端交换,还能根据端口主机的应用特 点,确定或限制它的交换流量。简单地说,第四层交换机是基于传输层数据包的交换过程的,是一类基于TCP/IP协议应用层的用户应用交换需求的新型局域网交换机。第四层交换机支持TCP/UDP第四层以下的所有协议,可识别至少80个字节的数据包包头长度,可根据TCP/UDP端口号来区分数据包的应用类型,从而实现应用层的访问控制和服务质量保证。所以,与其说第四层交换机是硬件网络设备,还不如说它是软件网络管理系统。也就是说,第四层交换机是一类以软件技术为主,以硬件技术为辅的网络管理交换设备。
最后值得指出的是,某些人在不同程度上还存在一些模糊概念,认为所谓第四层交换机实际上就是在第三层交换机上增加了具有通过辨别第四层协议端 口的能力,仅在第三层交换机上增加了一些增值软件罢了,因而并非工作在传输层,而是仍然在第三层上进行交换操作,只不过是对第三层交换更加敏感而已,从根 本上否定第四层交换的关键技术与作用。我们知道,数据包的第二层IEEE802.1P字段或第三层IPToS字段可以用于区分数据包本身的优先级,我们说 第四层交换机基于第四层数据包交换,这是说它可以根据第四层TCP/UDP端口号来分析数据包应用类型,即第四层交换机不仅完全具备第三层交换机的所有交 换功能和性能,还能支持第三层交换机不可能拥有的网络流量和服务质量控制的智能型功能。
第四层交换机支持的重要技术
如上所述,第二层交换设备是依赖于MAC地址和802.1Q协议的VLAN标签信息来完成链路层交换过程的,第三层交换/路由设 备则是将IP地址信息用于网络路径选择来完成交换过程的,第四层交换设备则是用传输层数据包的包头信息来帮助信息交换和传输处理的。也就是说,第四层交换 机的交换信息所描述的具体内容,实质上是一个包含在每个IP包中的所有协议或进程,如用于WEB传输的HTTP,用于文件传输的FTP,用于终端通信的 Telnet,用于安全通信的SSL等协议。这样,在一个IP网络里,普遍使用的第四层交换协议,其实就是TCP(用于基于连接的对话,例如FTP)和UDP(用基于无连接的通信,例如SNMP或SMTP)这两个协议。
由于TCP和UDP数据包的包头不仅包括了“端口号”这个域,它还指明了正在传输的数据包是什么类型的网络数据,使用这种与特定应用有 关的信息(端口号),就可以完成大量与网络数据及信息传输和交换相关的质量服务,因为它们是第四层交换机普遍采用的主要技术。
二层交换机根据链路层MAC地址表通过路由进行端到端的数据交换,三层交换机根据IP地址进行端到端的交换,第四层交换机不仅可以完成端到端交换,还能根据端口主机的应用特点,确定或限制它的交换流量,所以业界对第四层交换机有个通名“应用交换机”,在如今网络交换飞速发展的今天,四层交换机非常值得采购。
篇7:嵌入式WebServer技术及其实现
嵌入式WebServer技术及其实现
摘要:讨论基于TCP/IP协议栈,利用8位单片机构建嵌入式WebServer的具体技术及相关实现方案;给出系统硬件原理框图和有关软件实现的代码框架结构。关键词:WebServer TCP/IP协议栈 套接字
引 言
利用8位微控制器通过ISP(Internet服务供应商),在不需要使用PC机或高档单片机的情况下接入互联网。随着嵌入式系统的迅猛发展和IA(信息电器)的出现,该应用系统正逐步取代传统的以PC为中心的应用,成为未来Internet发展中的主力军;将会广泛应用于智能家居系统、工业智能化从站系统、LED网络控制显示屏系统、网络安全加密系统等各个方面。
利用单片机实现嵌入式WebServer方案的主要技术难点是:如何利用单片机本身有限的资源对信息进行HTTP、SMTP、POP3、TCP、UDP、ICMP、IP及PPP等协议的处理,使之变成可以在互联网上传输的IP数据包以及可以在内置Web页上浏览的数据。
1 应用方案
1.1 方案简介
利用单片机实现嵌入式WebServer,大体可有以下三种形式:
① MCU+专用网络芯片,如E1552、Webchip PS等。此种方案的主要优点是:应用系统设计工程师完全不必考虑任何网络协议,只需要解释并执行网络芯片传送过来的指令和数据就可以实现与Internet网络连接。(本网网收集整理)
② EMIT技术。EMIT采用桌面计算机或高性能的嵌入式处理器作为网关,称为emGateway,上面支持TCP/IP协议并运行HTTP服务程序,形成一个用户可以通过网络浏览器进行远程访问的服务器。emGateway通过RS232、RS485、CAN等轻量级总线与外设联系起来,每个外设的应用程序中包含一个独立的通信任务,称为emMicro,监测嵌入式设备中预先定义的各个变量,并将结果反馈到emGateway中;同时emMicro还可以解释emGateway的命令,修改设备中的变量或进行某种控制。该方案中复杂的网络协议是通过emGateway在PC机上实现的,应用系统MCU只处理较简单的emNet协议,进行网际连接。
③MCU直接实现形式。实现该形式的Web Server,可选用多种型号的MCU来实现网络协议,如AT89C8252、SX52BD100等,并可根据具体要求选用不同速度的MCU作为核心芯片,但是基本硬件结构大致相同。
显然以上方案中,以“MCU直接实现形式”的硬件结构最为简洁,不失为首选方案。下面就详细论述之。
1.2 硬件平台
MCU直接实现形式的WebServer的硬件平台如图1所示。
图1中,MCU以SX52BD100的运算速度最快,在100 MHz晶振驱动下指令执行速度可达100MIPS;RABBIT2000次之,51系列最慢。但是硬件成本恰好反之,用户可以根据不同的要求来配置MCU。以太网控制芯片可采用RealTek公司的RTL8019AS。该芯片是一款全双工以太网控制器,可以工作在Ethernet II和IEEE802.3、 10Base5、10Base2、10BaseT下,并与NE2000兼容。E2PROM主要用来存WEB页面、图像文件、PDF文档等内容,因此没有特殊要求,可由用户自由选择,一般32 KB左右即可。
该方案中,MCU为核心芯片,通过它控制以太网控制芯片RTL8019AS,进而完成接入网络的工作;而且可以通过编程来选择通信电路类型,如RS232、RS485、MODEM等。该技术方案最大的特点在于:用简洁硬件构架应用平台,使原本硬件成本所需的支出可用于相对复杂的软件开发上,且该方案的I/O接口可以自由扩展和支配。
1.3 工作流程和软件设计
整个系统的工作流程如图2所示。当数据包通过RJ45接口传送到RTL8019AS和MCU后,系统内部的TCP/IP堆栈进行数据包解析和流向判断,然后进行解包或者打包的动作,以继续进行后续工作。显然,最终的处理结果都要通过WebServer来进行。
2 网络协议栈的实现
通常,所谓的TCP/IP协议是一个四层协议系统,包括数据链路层、网络层(含IP协议)、传输层(含TCP协议)和应用层,每一层负责不同的功能。基于TCP/IP协议可以实现多种功能应用,如: HTTP(超文本传输控制协议)、TELNET(远程登录)、 FTP(文件传输协议)、SMTP(简单邮件传送协议)、SNMP(简单网络管理协议)等。本文主要讨论HTTP, 也就是WebServer在应用层的主要构成协议。当然,用户也可以根据需要附加其它的协议功能。
2.1 TCP/IP协议栈的实现
IP包含编址方案,并提供寻址功能;TCP则是在不同主机的对等进程之间提供可靠的进程间通信。与TCP两端口所连接的实体中,一端为应用程序进程或用户,另一端则为底层协议,如IP协议。TCP在建立连接过程中采用三向握手机制,以保证数据的可靠性。
下面以ZWORLD公司的Rabbit 2000系列芯片为例,论述嵌入式We
bServer的具体实现过程。Rabbit 2000系列芯片是一种高性能8位器件。由于其C语言友好指令集和快速数字处理功能,因而受到瞩目。Rabbit结构以Zilog公司的原始Z80微处理器为基础,但作了几项改进:不像Z80指令集那样使用16位寻址覆盖存储空间,而用一个20位或1MB的实际存储空间;采取直接与静态存储器件相连接的方式;有3条存储芯片选择线路和2组写入/输出启动线路;片上外设包括4个串行端口、1个子端口、40条I/O线、7个不同的定时器、精确脉冲发生硬件和电池支持的RTC。
系统硬件框架结构如图1所示,用户只需对应添加相关芯片及辅助设施(如电源、用户所需外设等)即可;而软件的实现,由于Rabbit 2000系列芯片得到Dynamic C编译器的支持以及实现TCP/IP所需的库文件dcrtcp.lib,因此只要会用C语言就可以进行开发。用户关注的重点也变为网络通信实现以后的代码编制及优化,可以极大提高开发进度。
以下是Dynamic C实现TCP/IP协议通信的`程序主体框架。程序中起始宏定义为默认IP配置信息;“memmap”句可使程序在芯片里面运行时,如同在扩展代码窗口下被编译;“use”句使编译器按照库文件配置编译代码。
#define TCPCONFIG 1
#memmap xmem
#use dcrtcp.lib
main{
sock_init();
for (;;) {
tcp_tick(NULL);}
}
sock_init()和tcp_tick()都是TCP/IP函数库的基本函数,前者为初始化TCP/IP协议栈函数,使协议栈开始处理入栈数据报;后者主要有两个用途:① 支持后台处理的最新信息;② 测试 TCP套接字的状态。
可以看到利用Dynamic C提供的TCP/IP协议包,用户可以轻松建立起TCP/IP通信。当通信建立以后,就可以在此基础上进行后续的进一步功能扩展,开展例如HTTP、PPP等应用层的协议实现。
2.2 HTTP的实现
HTTP(超文本传输协议)服务器可使 HTML (超文本链接标示语言)页面,如Web页等和其它文件为客户端所使用。在Dynamic C中,HTTP由HTTP.LIB来负责实现。HTTP服务器实现的程序主体框架如下:
#define TCPCONFIG 1
#memmap xmem
#use “dcrtcp.lib”
#use “http.lib”
main(){
sock_init();
http_init();
tcp_reserveport(80);
while (1) {
http_handler();}
}
用户可以根据自己的需要在此程序框架上添加构成WebServer的所有其它动态或静态元素(无论是否符合HTML标准)。限于篇幅,具体示例不再列出。
小 结
在建立起相应的硬件连接以后,就可以根据不同的硬件特点,选用不同的开发工具和开发语言进行WebServer的构架工作。本文给出了目前构架WebServer的主要原理和方法,并给出Rabbit 2000系列芯片实现的具体应用,相信对读者的实际工作会有些帮助。至于采用其它芯片或方案的实现步骤及过程大同小异,读者可举一反三。
篇8:防火墙技术及其实现方法
防火墙技术及其实现方法
随着计算机技术的发展,信息安全已日益引起人们的.高度重视,防火墙技术在信息安全领域中扮演着十分重要的角色.本文介绍了防火墙的分类及特征,着重阐述了防火墙的关键技术及其实现方法.
作 者:任莉 作者单位:南京工程高等专科学校,江苏,南京,210000 刊 名:考试周刊 英文刊名:KAOSHI ZHOUKAN 年,卷(期):2009 “”(23) 分类号:G43 关键词:防火墙 种类 技术 实现方法【基于MPLS的VPN技术原理及其实现】相关文章:
9.实现超我
10.电路原理答案






文档为doc格式