通过对ip数据包“免疫封装”进行标识核验的方法

文档序号:7897809阅读:242来源:国知局
专利名称:通过对ip数据包“免疫封装”进行标识核验的方法
技术领域
本发明属于网络通信领域,具体涉及一种利用“免疫封装”对IP报文进行重新封装,以此进行相应数据源以及传输数据包协议身份的标识区分。
背景技术
IP是英文Internet Protocol ( 网际协议)的缩写,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP协议属TCP/IP协议族,是TCP/IP协议族中最为核心的协议,所有的TCP、UDP、 ICMP、及 IGMP 数据都以 IP 数据报格式传输。TCP/IP (Transmission Control Protocol/ Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,TCP/IP协议分为四层,依次是链路层、网络层、传输层、应用层,IP协议属于网络层。数据包中,类型标识位于以太网首部,IP协议为0x0080,如图3所示。IP协议报文如附图1所示的部分组成,普通的I P首部长为20个字节,除非含有选项字段。在附图1所示的首部中,最高位在左边,记为Obit ;最低位在右边,记为31bit。4个字节的32bit值以下面的次序传输首先是0 7bit,其次8 15bit,然后 16 23bit,最后是24 31bit。由于TCP/IP首部中所有的二进制整数在网络中传输时都要求以这种次序,因此它又称作网络字节序。以其他形式存储二进制整数的机器,则必须在传输数据之前把首部转换成网络字节序。目前的协议版本号是4,因此当前普遍使用的IP协议也称作IPv4。IPv4是当前普遍使用的网络地址协议,首部长度指的是首部占32bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部最长为60个字节。服务类型(TOS)字段包括一个3bit的优先权子字段(预留字段),4bit的TOS子字段和Ibit未用位,Ibit未用位必须置0。4bit的TOS分别代表最小时延、最大吞吐量、 最高可靠性和最小费用。4bit中只能置其中lbit。如果所有4bit均为0,那么就意味着是
一般服务。图2列出了对不同应用建议的4bitT0S值。在最后一列中给出的是十六进制值, 对应相应TOS值的十六进制数据位填充值。以上对8位服务类型(TOS)进行了描述,4bitT0S和Ibit未用位均有说明,而对其中高三位的使用并未规定,属预留位,本发明正是利用此三位进行网络传输协议数据身份标识和识别,进行相关意义表达。在本发明涉及的数据源以及其所发出的数据包标识以及识别控制方面,目前现有的对网络终端数据源或传输的数据包身份识别和控制的方式主要有以下几种第一种是通过IP、MAC地址进行身份识别。这种识别方式是目前最为普通,也是最为广泛、最简单的身份识别方式,很多路由器、交换机和软件产品的安全和管理均是通过对数据包中得IP和MAC地址进行读取,通过IP、MAC匹配的方式进行身份识别、确定,然后进行相应的管理策略和数据处理。MAC(Medium/MediaAccess Control,介质访问控制)MAC地址是烧录在(网卡, NIC)里的。MAC地址,也叫硬件地址,是由48比特/bit长(6字节/byte,lbyte = 8bits),16 进制的数字组成.0-23位叫做组织唯一标志符(organizationally unique,是识别LAN(局域网)节点的标识.24-47位是由厂家自己分配。其中第40位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(—种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机和传输数据的,其中MAC是全球唯一的。比如以太网卡,其物理地址是48bit (比特位)的整数,如 44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE) (IEEE 电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。形象的说,MAC地址就如同我们身份证上的身份证号码, 具有全球唯一性。在正常的情况下,由相应MAC地址的网卡发布出来的数据包其源MAC填充位是该网卡的物理MAC,这样通过分析数据包中源MAC地址可以确定数据来源的准确身份。但在实际中由于数据包可以由基于网卡驱动的上层应用程序构造发出,这样数据包中的源MAC填充位的内容并不是只有网卡可以操作,其它应用程序和软件可以随意填充。这就导致了通过数据包源MAC进行身份识别具有很大的不确定性、准确性差。另外,由于所有协议和类型的数据包的源MAC均相同,这就给依据不同协议、报文进行区隔处理造成了障碍。第二种是通过802. Ix协议进行数据封装、身份认证和识别。802. Ix协议是基于 Client/Server的访问控制和认证协议。它可以限制未经授权的用户/设备通过接入端口 (access port)访问LAN/WLAN。在获得交换机或LAN提供的各种业务之前,802. Ix对连接到交换机端口上的用户/设备进行认证。在认证通过之前,802. Ix只允许EAPoL(基于局域网的扩展认证协议)数据通过设备连接的交换机端口 ;认证通过以后,正常的数据可以顺利地通过以太网端口。网络访问技术的核心部分是PAE (端口访问实体)。在访问控制流程中,端口访问实体包含3部分认证者一对接入的用户/设备进行认证的端口 ;请求者一被认证的用户/设备;认证服务器一根据认证者的信息,对请求访问网络资源的用户/设备进行实际认证功能的设备,如图4的802. IX认证工作过程为(1)当用户有上网需求时打开802. IX客户端程序,输入已经申请、登记过的用户名和口令。(2)客户端发起连接请求,此时,客户端程序将发出请求认证的报文给交换机,开始启动一次认证过程。(3)交换机收到请求认证的数据帧后,将发出一个请求帧要求用户的客户端程序将输入的用户名送上来。
(4)客户端程序响应交换机发出的请求,将用户名信息通过数据帧送给交换机。(5)交换机将客户端送上来的数据帧经过封包处理后送给认证服务器进行处理。(6)认证服务器收到交换机转发上来的用户名信息后,将该信息与数据库中的用户名表相比对,找到该用户名对应的口令信息。(7)认证服务器用随机生成的一个加密字对它进行加密处理。(8)认证服务器将此加密字传送给交换机。(9)由交换机将加密字传给客户端程序。
(10)客户端程序收到由交换机传来的加密字后,用该加密字对口令部分进行加密处理(此种加密算法通常是不可逆的)。(11)客户端将加密后口令送至交换机。(12)加密口令通过交换机传给认证服务器。(13)认证服务器将送上来的加密后的口令信息和其自己经过加密运算后的口令信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息,并向交换机发出打开端口的指令,允许用户的业务流通过端口访问网络。否则,反馈认证失败的消息,并保持交换机端口的关闭状态,只允许认证信息数据通过而不允许业务数据通过。从以上可以过程看出,此种识别方式的缺点在于需要专门的交换机设备执行,进行认证的是相应请求者的密码,而不是请求者的身份,更不是所要进行收发的每一个数据包,存在的问题是伪造符合相应密码的请求者IP、MAC身份即可获的认证,即便是真实请求者本身,也不能实现对每一个数据包进行标识、核验。另外,此种认证方式多局限于认证服务器和认证者在同一个子网内,且控制方式为交换机端口控制,限制了认证细分到具体协议、具体数据包的能力。第三种是利用特定数据协议通过维持心跳进行识别。如图5,所谓心跳即是维持正常通信的基础通信数据,它采用特定格式,间隔一定时间发出。通过特定的协议进行确认的数据包间隔一定时间发送出来,接收方通过该时间内是否接收到该心跳数据(同时检查该心跳数据包是否合规)作为后续对该来源数据的处理依据。此种处理方式是通过特定协议数据心跳是否存在作为对其它数据的处理依据。首先,此种方式的缺点在于通过部分数据以偏盖全的代表了其它所有数据的身份检查,这样并不能代表被处理数据的可靠。其次,此种方式同样以IP、MAC为基准确定相应的数据来源,准确性差。另外,此种方式需要采用特定协议重新组包封装,拆包检查,比较复杂。第四种是通过在数据包data部分进行内容填充,通过内容读取进行识别。接收方按照一定规则将数据包中的信息提取,按照其中的指令进行处理。这种方式解决了以偏盖全的缺点,对每一个数据包都进行data部分的指令添加,安全性高。问题在于由于对每一个数据包都进行了 data部分的指令添加,导致传输的数据量大幅增加。另外,由于修改了数据包的data部分,导致其他应用程序和软件工具不能独自识别被封装了 data的数据包, 产生了兼容性隐患。

发明内容
为了解决上述现有技术实现上的缺点,本发明的目的是通过对以太网数据包IP 首部TOS高三位的填充,实现一种能够兼备每包校验、效率高、操作简单、兼容性好的数据身份检查和处理方式。所述技术方案如下一种通过网络IP数据包“免疫封装”用以进行协议数据身份核验的方法,其特征在于通过以太网IP数据包IP首部的TOS字段高三位进行填充,实现简单、高效、准确到每一个数据包进行标记。对数据包进行“免疫封装”是由支持本封装方式的软件或模块进行, 数据源如网络终端设备、数据处理端如交换设备和路由转发均可进行“免疫封装”。数据源也就是数据生成发起方的“免疫封装”过程为数据源端的“免疫封装”首先要检查相应数据是否具被封装要求,例如数据发起方的设备物理MAC是否正确,IP和MAC 的对应关系等。如果满足相关要求,即表示该数据源端符合“免疫封装”要求,进入准备标记流程。如果不满足要求,即表示该数据源端不符合免疫标记要求,则采取不进行“免疫封装”发出,甚至采取丢弃该数据的动作。满足免疫标记要求的数据进入“免疫封装”过程。 标记流程即按照设定的标记位规则,填充标记位,计算新的正确的校验和填入,并发出。数据源端“免疫封装”完毕,发出的经过“免疫封装”的数据包,会被下一阶段的交换转发设备处理,进入数据处理端“免疫封装”流程。数据交换、数据转发等数据处理端接收到数据包后,由其数据处理单元进行分析, 提取所接收数据的IP首部TOS高三位,判断是否已经在相应位置进行了填充,如果是则进行符合性处理,即该数据符合标记封装要求后,进行转发、取消标记等后续处理。如果否则进行不符合性处理,即该数据不合格标记封装要求,进行丢弃、不符合标记处理等操作。“免疫封装”的过程中,涉及到TOS高三位填充标记位修改时,均需要进行重新计算校验和,以保证符合IP报文的标准。本发明的技术方案带来的有益效果是采用数据包IP首部TOS高三位预留位进行标记填充用以进行身份检验的方法做到了 1、由于每一个数据包都进行了标记位填充,使得每一个数据包可以进行相应含义表达的位填充,传输中的每一个数据包都能做到了身份识别,细致到每一个数据包;2、由于使用了 TOS预留位进行标记,使得处理后的数据经由现有的应用程序、协议或设备处理时互不影响,兼容性好;3、所使用的标记位共3位,可以实现一定范围的指令差异控制,控制类别达到8种,可进行8中含义表达,8中含义标记区分如图6所示;4、此种封装方式既实现了对每一个数据包都处理,做到了对原有数据包修改最小,影响最低,效果较高;5、由于填充的数据位经过多级路由转发也不会受到影响,所以此种方式的应用范围并不局限于同一局域网,同时可以实现跨网段。


图1是IP数据报格式及首部中的各字段图2是服务类型字段值规范的对应意义图3是以太网首部IP协议类型图4是802. Ix协议过程图5是心跳方式维持身份处理的过程图6是本发明使用的TOS位的种类图7是本发明处理方法和步骤过程图
具体实施例方式下面 结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。本发明采用以下技术方案网络转发设备、交换设备或终端网卡等连接到网络中进行数据发起或转发的设备通过免疫模块对将要发出或已经接收的数据包进行分析,检查数据包格式是否正确、IP首部TOS中高三位优先级字段相应位置是否存在标记,并进行相应“免疫封装”操作。对于转发端如果已存在免疫标记,根据相应标记位预先约定的含义、 要求进行相应处理。对数据包的识别和封装均是通过IP首部TOS中高三位进行。这样处理主要是由于传统的数据包身份识别方式存在不能兼顾对原数据包修改最小、每一包单独标记、效率和准确性高、兼容性好的要求。本发明使得网络传输的数据包身份核验、标识有了一种简易、改动小、效率高、使用方便的方式。“免疫封装”指的是对用于网络传输的协议数据包进行拆包重新封装,对其中的某些特定数据位进行修改,封装可以在网络终端设备、交换设备或路由转发设备上进行。也就是说,连接到网络中的设备及接口、涉及到数据包收发的网络接口都可以通过“免疫封装” 的方法实现数据身份核查的目的。“免疫封装”由位于网络终端设备或网络交换转发设备上的按照本发明方法进行的安全模块(或软件)完成。进行“免疫封装”的具体过程为对于有权限发出网络访问数据的网络接口,要对其发出数据包的IP首部TOS高三位优先级字段进行填充,在进行“免疫封装”之前,此三位在以太网数据包中均为“0”,而“免疫封装”的过程正是按照一定规则在其至少一位进行“ 1,,填充,不同的填充位置,就使得被“免疫封装”后的数据包具备相应的网络传输“含义”。下面针对以上步骤进行详细说明。如图7中所示,数据源及数据包发起源端的具体“免疫封装”过程为1、数据源设备的系统应用程序将要送的协议数据发送到协议栈;2、协议栈将数据送往网卡驱动,而“免疫封装”模块则位于协议栈和网卡驱动之间,此时免疫驱动将进行网络协议检查。3、如果是IP协议,且符合协议标准规则,则进行IP首部TOS高三位优先字段的位填充,按照设定规则在其至少一位上填充“1”,并重算校验和,填入IP首部校验和位置;如果是非IP协议,直接将数据转给网卡驱动,不做任何处理;4、然后将数据转给网卡驱动,就完成了 “免疫封装”。数据交换、转发等处理端的“免疫封装”是数据接受、交换转发方进行的相关TOS 高三位的封装过程,包含以下步骤步骤A 数据接收方接受到数据包。步骤B 判断数据包是否符合以太网协议规则,如校验和是否正确,格式是否匹配,是否为IP协议包等。步骤C : 如果数据包格式不规范,则进行丢弃或不“免疫封装”转发。如果数据包格式规范,则取数据包IP首部TOS高三位,查看是否在正确位进行了标记,也就是说标记位的选择是相关参与 “免疫封装”的各方设定好的,以便形成统一。有了标记,但标记位错误也是不合格的。步骤 D 采取相应动作,如果标记位不存在或标记位置错误,说明此数据包不符合标记规则,需要进行不合规处理,如丢弃、返回提示信息给数据源等。如果标记位存在且位置正确,说明此数据包符合标记规则,需要进行合规处理,如予以转发或进行标记位修改使其满足转发后的下一端点标记规则等。
这里需要特别说明的是,进行IP首部TOS填充的具体方式并非仅限于在网卡驱动和协议栈之间进行,凡是通过IP首部TOS字段填充用以标记数据包类别、身份、安全度、来源意义的实现均为本发明涉及的范围。
“免疫封装”还包括进行数据转发后是否进行还原动作,也就是位于网络中的三层设备在进行跨网段转发时,依据相应策略方式进行。三种策略处理方式一种是不进行“免疫封装”的任何操作,直接转发;一种是变更标记为,表明此数据是经由合法的转发设备转发过来的;第三种是还原标记位即将IP首部TOS中3位优先级字段归“0”,恢复其原始的以太网数据预留填充状态。可见“免疫封装”是在特定网络范围内的网络数据标记和网络行为检查规范,是利用TCP/IP协议IP首部预留位进行的。这个特定网络范围可以不断扩大,使得更大规模网络采用此种方式进行安全身份的简易高效处理。本发明主要是改进了通过在数据包data部分进行内容填充、增加协议辅助验证识别数据报身份的方式,采用通过不新增数据格式,不改变数据包大小,直接使用原有预留位的方式,保证了被“免疫封装”数据包在网络中传输的兼容性、提高了网络数据报封装和解封装的效率、减少了网络流量负荷。以上便是“免疫封装”技术方案的处理流程,对于本方案的关键部分,进行IP首部 TOS高三位的填充最重要,是本发明的核心所在。数据发起端和数据处理端的“免疫封装” 方式主要是利用了以太网协议原有数据预留位这样就使得此种封装方式具备以下优点1、利用原有数据协议位进行封装,没有增加数据负载,通信效率高;2、由于使用的数据位为预留位,所以数据对现有网络完全兼容,不存在非专有设备不能识别而导致的数据处理问题;3、“免疫封装”操作简易、效率高,处理过程更加迅速高效,整个封装过程的处理速度快;4、“免疫封装”针对每一个独立的数据包进行,细致到每一个数据包,更加精准;5、“免疫封装”对IP协议数据进行,可以实现跨网段传输管理,适用范围广。以上所述的实施举例,只是本发明较优选的具体实施方式
,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种通过对IP数据包“免疫封装”进行标识核验的方法,其特征在于采用数据包中 20字节长度的IP首部中第二字节的8位服务类型(TOQ的高三位进行位填充,重新计算校验和,而不涉及IP数据包其它位的改变,所述“免疫封装”方法涉及数据源端和数据交换、 转发端两种网络位置上进行,包含以下步骤数据源及数据包发起源端的具体“免疫封装”步骤为 步骤A 数据源设备的系统应用程序将要发送的协议数据发送到协议栈; 步骤B 协议栈将数据送往网卡驱动,而“免疫封装”模块则位于协议栈和网卡驱动之间,此时免疫驱动将进行网络协议检查。步骤C 如果是IP协议,且符合协议标准规则,则进行IP首部TOS高三位优先字段的位填充,按照设定规则在其至少一位上填充“1”,并重算校验和,填入IP首部校验和位置; 如果不是IP协议,直接将数据转给网卡驱动,不做任何处理;步骤D 然后将步骤C的数据转给网卡驱动,就完成了 “免疫封装”; 数据交换、数据转发等数据处理端接收到数据包后,进行“免疫封装”步骤为 步骤A 由其数据处理单元进行分析,判断其是否是合规的IP协议数据包; 步骤B 如果是则提取所接收数据的IP首部TOS高三位,判断是否已经在相应位置进行了填充,如果存在标记且标记位正确则进行符合性处理,即该数据符合标记封装要求后, 可以进行下一步的转发、取消标记等后续处理,如果否则进行不符合处理,即该数据不符合标记封装要求,进行下一步的丢弃、提示安装“免疫封装”组件等不符合标记要求的处理操作。
2.如权利要求1所述的“免疫封装”的方法,其特征在于对IP首部8位服务类型(TOS) 的位填充主要用于数据包来源和数据包本身的可信身份确认,用以进行数据来源和数据包的是否符合要求的标记。
3.如权利要求1所述的“免疫封装”的方法,其特征在于IP数据包在数据源和数据交换、转发、接收端均进行。“免疫封装”包括对1中所述的TOS高三位的初始标记、标记修改、 标记清除。以便更好的利用“免疫封装”进行不同阶段数据传输过程中相关身份检查和管理。
全文摘要
本发明涉及一种通过对IP数据包“免疫封装”进行标识核验的方法,该种方法采用对数据包中20字节长度的IP首部中第二字节的8位服务类型(TOS)的高三位,以相应标记填充的方式实现标识该数据包身份类型的目的。本发明属于网络通信领域,避免了传统网络数据身份检验方式通讯效率低、不能准确到每一个数据包、无法跨网段和实施部署成本高的缺点。网络设备、网络接口、网络驱动、网络系统和组件等通过支持“免疫封装”可以做到对网络中每一个数据包都标记、对原有网络负荷小、执行效率高、同时经过“免疫封装”的数据可在原网络中正常传输,无论其设备是否支持“免疫封装”。
文档编号H04L29/06GK102299851SQ20111025620
公开日2011年12月28日 申请日期2011年9月1日 优先权日2011年9月1日
发明者潘薇 申请人:潘薇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1