具有用于IPV6扩展头和目的地选项的应用的方法和系统与流程

文档序号:17049381发布日期:2019-03-05 19:53阅读:328来源:国知局
具有用于IPV6扩展头和目的地选项的应用的方法和系统与流程

本发明涉及一种用于使用过滤数据分组的应用对数据分组进行处理的方法和系统,更具体地涉及一种具有用于优先化、选择和修改互联网协议版本6(ipv6)扩展头和目的地选项的应用的方法和系统,其可以避免例如由于扩展头大小、片段化问题、和/或中间盒扩展头识别问题而分组在网络目的地路径上被丢落。



背景技术:

网络通过允许一个个人计算机通过网络(或网络连接)使用电子消息与另一个个人计算机和/或其它联网装置通信,提高了我们传达和访问信息的能力。当在个人计算机或联网装置之间传送电子消息时,该电子消息通常将通过协议栈,该协议栈对该电子消息内的数据执行操作(例如,分组化、路由、流控制)。

寻址结构的第一个主要版本(互联网协议版本4(ipv4))仍是互联网的主导协议,尽管后继者(互联网协议版本6(ipv6))正被积极地全世界地部署。目前,基于互联网协议版本4(基于ipv4)的互联网和基于ipv6的互联网的两个协议版本同时存在。

在过渡期间,现有的ipv4应用能够使用双栈来与启用了更新的ipv6的应用一起工作,双栈既包括ipv4协议栈,又包括ipv6协议栈。ipv6网络协议提供为ipv6主机或主机装置(例如,图像形成设备和其它装置)在使用icmpv6邻居发现消息(即,邻居发现协议或ndp)连接到ipv6网络时可以自动地配置它们自己(即,无状态地址自动配置)。当第一次连接到网络时,ipv6主机发送广告其试探性本地链路地址的本地链路多播邻居征集请求以用于双地址检测(dad),如果没有遇到问题,则主机使用本地链路地址。路由器征集被发送(或者路由器广告根据定时被接收)以获得网络层配置参数,并且路由器用包含网络层配置参数的路由器广告分组来对这样的请求做出响应。

ipv6扩展头承载可选的互联网层信息。扩展头将仅在分组的目的地处被检查和处理,除了需要在分组的路径上的每一个中间节点(包括发送节点和接收节点)处被处理的逐跳选项之外。扩展头是可选的,并且应当最多仅出现一次,除了目的地选项头之外,其可以出现两次。然而,情况通常并非如此,因为防火墙、路由器和中间件盒可以在网络路径上,并且可以自行选择丢掉这些分组。因此,这些分组的最终目的地可能停留在网络路径(和对应的中间节点)上,而不是在数据分组的发起者(或接收器)上。

因此,将可取的是具有这样的机制,该机制通过优化ipv6扩展头网络路径来使得客户端或主机装置(例如多功能外设(mfp))可以具有与ipv6网络的改进互操作,这可以解决ipv6扩展头固有的可能防止两个节点(例如,通信网络内的两个节点)之间的通信的各种问题。



技术实现要素:

考虑到以上问题,将可取的是具有用于优先化、选择和修改ipv6扩展头和目的地选项的应用(例如用于多功能外设(mfp)的应用),并且其中,ipv6扩展头和目的地选项的优先化、选择和修改可以避免例如由于扩展头大小、片段化问题或中间盒扩展头识别问题而分组在网络目的地路径上被丢落。

根据示例性实施例,公开了一种促进互联网协议(ip)网络环境中的数据分组的处理的系统,所述系统包括:计算机装置,所述计算机装置具有在与互联网协议版本6(ipv6)网络通信的所述计算机装置的操作系统上运行的ipv6扩展应用,并且其中,所述ipv6扩展应用执行以下步骤:设置用于所述计算机装置的ipv6扩展头策略;从所述计算机装置上的网络栈检索原始的ipv6分组,所述原始的ipv6分组具有扩展头或目的地选项;确定扩展头或目的地选项中的指定的路线是否是根据用于所述计算机装置的ipv6扩展头策略的;以及如果指定的路线是根据ipv6扩展头策略的,则根据用于所述计算机装置的ipv6扩展头策略来修改扩展头或目的地选项以产生经修改的ipv6分组,并且在ipv6网络上发送经修改的ipv6分组;或者如果指定的路线不是根据用于所述计算机装置的ipv6扩展头策略的,则在ipv6网络上发送原始的ipv6分组。

根据进一步的示例性实施例,公开了一种使得计算机装置能够对互联网协议(ip)网络环境中的数据分组进行处理的方法,所述方法包括以下步骤:提供在所述计算机装置的操作系统上运行的互联网协议版本6(ipv6)扩展应用,并且其中,所述ipv6扩展应用被配置为执行以下步骤:设置用于所述计算机装置的ipv6扩展头策略;从所述计算机装置上的网络栈检索原始的ipv6分组,所述原始的ipv6分组具有扩展头或目的地选项;确定扩展头或目的地选项中的指定的路线是否是根据用于所述计算机装置的ipv6扩展头策略的;以及如果指定的路线是根据ipv6扩展头策略的,则根据用于所述计算机装置的ipv6扩展头策略来修改扩展头或目的地选项以产生经修改的ipv6分组,并且在ipv6网络上发送经修改的ipv6分组;或者如果指定的路线不是根据用于所述计算机装置的ipv6扩展头策略的,则在ipv6网络上发送原始的ipv6分组。

根据示例性实施例,公开了一种具有存储于其中的用于控制计算机装置的计算机程序的计算机可读记录介质,所述计算机程序被配置为使在所述计算机装置的操作系统上运行的应用对数据分组进行处理,所述处理包括以下步骤:设置用于所述计算机装置的ipv6扩展头策略;从所述计算机装置上的网络栈检索原始的ipv6分组,所述原始的ipv6分组具有扩展头或目的地选项;确定扩展头或目的地选项中的指定的路线是否是根据用于所述计算机装置的ipv6扩展头策略的;以及如果指定的路线是根据ipv6扩展头策略的,则根据用于所述计算机装置的ipv6扩展头策略来修改扩展头或目的地选项以产生经修改的ipv6分组,并且在ipv6网络上发送经修改的ipv6分组;或者如果指定的路线不是根据用于所述计算机装置的ipv6扩展头策略的,则在ipv6网络上发送原始的ipv6分组。

要理解,前面的总体描述和下面的详细描述是示例性的和说明性的,并且意图提供要求保护的本发明的进一步的解释。

附图说明

附图被包括在内以提供本发明的进一步理解,并且合并在本说明书中且构成本说明书的一部分。附图例示说明本发明的实施例,并且与描述一起用于解释本发明的原理。

图1是根据示例性实施例的网络系统的例示说明,该网络系统包括客户端装置或主机装置,例如,具有可以优先化、选择和修改ipv6扩展头和目的地选项的应用的多功能外设(mfp)。

图2是根据示例性实施例的具有ipv6扩展头和目的地头的网络分组的例示说明。

图3是示出根据示例性实施例的使用ipv6扩展头和目的地选项的应用的实现的另一示例性实施例的流程图。

图4是根据示例性实施例的用于从网络层捕捉ipv6分组的ip过滤器的例示说明。

具体实施方式

现在将详细参考本发明的目前的优选实施例,这些实施例的例子在附图中例示说明。在可能的情况下,相同的标号在附图和描述中用于指代相同的或相似的部分。

图1是根据示例性实施例的网络系统100的例示说明,网络系统100可以包括客户端装置或主机装置110,例如,具有可以优先化、选择和修改ipv6扩展头和目的地选项的应用的多功能外设(mfp)。如图1所示,系统100可以包括客户端装置或主机装置110,例如,多功能外设(mfp)或图像形成设备112、目的地主机装置120(目的地主机1)、一个或多个ipv6路由器140、150(ipv6路由器1、ipv6路由器2)和通信网络130。通信网络130被配置为将客户端装置或主机装置110、目的地装置120和所述一个或多个ipv6路由器140、150彼此连接。根据示例性实施例,客户端装置或主机装置110、mfp112、目的地装置120和所述一个或多个ipv6路由器140、150可以是计算机装置。

根据示例性实施例,与本发明的实施例一致的通信网络130的例子包括但不限于互联网、内联网、局域网(lan)和广域网(wan)。根据示例性实施例,客户端装置或主机装置110、目的地主机120和所述一个或多个ipv6路由器140、150可以例如通过使用射频(rf)、红外(ir)传输、ieee1394和/或其它合适的无线技术而连接到无线连接。

根据示例性实施例,客户端装置或主机装置110可以包括处理器或中央处理单元(cpu)和用于存储软件程序和数据(诸如将被打印的文件)的一个或多个存储器。处理器或cpu执行操作和/或控制客户端装置或主机装置110的功能性的至少一部分的计算机程序的指令。客户端装置或主机装置110还包括操作系统(os)115,os115管理计算机硬件,并且提供用于高效地执行各种软件程序的通用服务。例如,软件程序可以包括应用软件和打印机驱动器软件。

根据示例性实施例,客户端装置或主机装置110是多功能外设(mfp)112,mfp112至少包括复印功能、图像读取功能、传真(fax)功能和打印机功能,并且基于例如从目的地主机120接收的打印任务(打印指令)来在片材上形成图像。例如,目的地主机120可以是移动装置、智能电话、个人数字助理、个人计算机、照相机、路由器、mfp、图像形成设备、打印机、和/或医疗装置或设备。根据示例性实施例,通信网络130经由ipv6协议传达和发送数据。目的地主机120可以被配置为通过发送表示将被打印的文档的数据和描述打印任务的信息来将打印任务提交给客户端装置或主机装置110。根据示例性实施例,客户端装置或主机装置110是多功能外设(mfp)或打印机112,其包括打印机控制器(或固件)、优选为硬盘驱动器(hdd)的形式的存储器部、图像处理部(或数据调度器)、打印引擎和输入/输入(i/o)部。

根据示例性实施例,目的地主机120可以体现为智能电话、智能平板、个人计算机、照相机、路由器、医学装置或设备或mfp(或打印机),并且产生例如在客户端装置或主机装置110中可用的打印数据,客户端装置或主机装置110可以例如是打印机、打印服务器或多功能外设(mfp)112。根据示例性实施例,目的地主机装置120可以包括打印机驱动器程序(以下有时简称为打印机驱动器),并且目的地主机装置120可以使用打印机驱动器的功能来产生包括在图像形成时将被应用的打印条件的数据和图像数据的打印任务,并且将产生的打印任务发送到客户端或主机装置110,客户端或主机装置110例如可以是mfp或打印机112。

根据示例性实施例,所述一个或多个ipv6路由器140、150可以是在计算机网络之间、例如通过通信网络130转发数据分组(分组1、分组2、分组3)210、220、230的联网装置。数据分组210、220、230可以通过构成互联网络的通信网络130从一个路由器(例如,ipv6路由器140)转发给另一个路由器(例如,ipv6路由器150),直到它到达其目的地节点(例如,目的地主机120)为止。根据示例性实施例,所述一个或多个ipv6路由器140、150可以连接到来自不同网络的两个或更多个数据线。当数据分组(例如,ipv6数据分组)进入所述线中的一个时,所述一个或多个ipv6路由器140、150读取ipv6分组中的网络地址信息以确定最终目的地。然后,使用其路由表或路由策略中的信息,所述一个或多个ipv6路由器140、150可以将ipv6分组指引到其行程上的下一个网络。例如,如图1所示,ipv6分组210通过通信网络130、经由所述一个或多个ipv6路由器140、150被成功地发送到目的地主机120。然而,如例如图1所示,ipv6分组220、230可能不能被成功地发送到目的地主机,例如,分组可能由于ipv6分组220、230的ipv6扩展头不兼容或者具有如本文所公开的不能操作的问题而被例如ipv6路由器140丢落。

如图2所示,ipv6分组210、220、230是在整个互联网协议版本6(ipv6)网络上经由互联网协议交换的消息实体。根据示例性实施例,ipv6分组210可以由用于寻址和路由的控制信息和有效载荷组成,有效载荷由用户数据组成。ipv6分组210、220、230中的控制信息被细分为强制固定头(ipv6header)212、扩展头214(extheader1)、上层头(upperlayerheader)216和上层有效载荷(upperlayerpayload)218。扩展头使用“nextheader”字段来形成改变,“nextheader”字段在固定头中指示第一个扩展头的类型。最后一个扩展头的nextheader字段指示分组的有效载荷中的上层协议头的类型。ipv6分组的有效载荷通常是高层传输层协议的数据报或分段,但是代替地可以是用于互联网层(例如,icmpv6)或链路层(例如,ospf)的数据。

可替代地,根据示例性实施例,ipv6分组220、230可以包括强制固定头(ipv6header(ipv6头))222、扩展头224、234、片段扩展头226、上层头和上层有效载荷228。为了发送比路径最大化传输单元(mtu)大的分组,发送装置110、112、120可以将分组划分为片段。片段扩展头226承载重组原型(未片段化的分组)所需的信息。

ipv6分组210的固定头212由其头40个八位组(220个比特)组成。可以承载可选的互联网层信息的扩展头(或目的地选项)214被放置在固定头212和上层控制头216之间。根据示例性实施例,扩展头是在ipv6评论请求(rfc)中定义的,并且可以包括例如逐跳选项、目的地选项(在路由头之前)、路由、片段、认证头(ah)、封装安全有效载荷(esp)、目的地选项(在上层头之前)和移动性(例如,目前没有上层头)。上层头216例如为传输层提供数据,例如,tcp分段或udp数据报。分组中包含的有效载荷的类型包含在上层有效载荷218中。

根据示例性实施例,可以使用各种不同的通信协议(包括例如各种互联网层协议、传输层协议或应用层协议)、在通信网络(或网络)130的节点之间、以加密的或未加密的形式、在客户端装置或主机装置110和目的地主机120之间传输数据。例如,可以使用传输控制协议/互联网协议(tcp/ip)、用户数据报协议(udp)、传输控制协议(tcp)、超文本传送协议(http)、安全超文本传送协议(https)、通过http的动态自适应流传输(dash)、实时流传输协议(rtsp)、实时传输协议(rtp)和实时传输控制协议(rtcp)、文件传送协议(ftp)、websocket(ws)、无线接入协议(wap)、各种消息传送协议(sms、mms、xms、imap、smtp、pop、webdav等)或其它已知协议,经由网络130传输数据。

如图1所示,客户端装置或主机装置110可以具有ipv6扩展应用(或软件模块)114,其从操作系统(os)115和网络栈116捕捉(或拦截)具有依照ipv6协议的扩展头和目的地选项的传出的和传入的数据分组。根据示例性实施例,ipv6扩展应用(或软件模块)114优选为应用级模块,其被配置为如本文所公开那样优先化、选择和修改具有扩展头和目的地选项的ipv6分组。根据示例性实施例,例如,如果客户端装置或主机装置110为mfp或打印机112,则应用(或软件模块)114可以是打印机或mfp112的打印机驱动器和/或固件的一部分、或单独的软件模块或应用、或mfp或打印机112的操作系统的一部分。

根据示例性实施例,ipv6扩展应用(或软件模块)114可以使得用户可以具有独立于操作系统检查或修改ipv6扩展头的能力。例如,应用114可以通过为数据分组210提供最佳的或优化的ipv6扩展头网络路径来为客户端装置或主机装置110和目的地主机120提供与ipv6网络的改进互操作。

根据示例性实施例,例如,管理员可以将应用114设置为对某个目的地或路线执行自动的自动校正。例如,ipv6扩展头可能具有问题,因此,ipv6扩展头的使用在最近的ipv6rfc8200标准中已被更新。要求之一是使扩展头局限于分组的第一个片段中。然而,网络(或字段)中的许多主机装置(例如,目的地主机120)可能未被更新。另外,扩展头可能引起的另一个问题是,尽管标准不允许任何中间主机/路由器检验扩展头选项,但是出于互操作的考虑,例如,出于安全的原因,许多路由器和中间件盒可以以某种方式过滤某些分组(参见rfc7045)。鉴于这些问题,将可取的是,不管操作系统(os)115如何并且独立于os115地控制ipv6扩展头。

根据示例性实施例,将可取的是,使管理员能够例如出于互操作、片段化和/或安全的考虑来控制ipv6分组的哪些特性是期望的以及它们的优先级。例如,互操作可以意味着,一旦针对这样的网络学习了路线的网络偏好,就互操作的目的来说,使用以前的rfc2460定义比新的rfc8200就更加方便。片段化可以意味着,一旦通过使用来自路径最大化传输单元(mtu)协议rfc8201的结果学习了mtu,ipv6扩展分组头就不应被片段化。安全原因可以意味着,需要或不需要扩展分组头,并且甚至是在发送网络流量之前,应用也应相应地排除分组。

根据示例性实施例,作为例子,新的rfc8200要求所有的头都进入第一片段中。对于网络系统或域中的先前的mfp112,这可能是个问题,因为整个操作系统(os)115可能需要被改变,然而,根据示例性实施例,如本文所公开的ipv6扩展应用114可以使用网络分组过滤器,例如,如图4所示,伯克利(berkeley)套接字过滤器、或os115上的任何可用的分组过滤器功能性,例如如共有的美国专利no.8,432,907和8,699,483中公开的那样。根据示例性实施例,不管操作系统如何,当产生ipv6分组210、220、230时,ipv6分组210、220、230都可以被传递到应用114,应用114将具有可用于根据管理员设置的优先级修改分组210、220、230的配置和网络数据库。

根据示例性实施例,例如,在具有至少一个mfp或打印机112的打印商店或办公环境中,如果因为大部分打印将在办公环境中完成,管理员决定不需要支持移动扩展头,则出于安全原因,ip移动头扩展可以被ipv6扩展应用114例如基于管理员设置的ipv6扩展头策略丢落。根据示例性实施例,管理员也可以基于客户端装置或主机装置100(例如,mfp112)中的基于例如与安全相关的公司策略的选定ipv6扩展头来设置ipv6扩展头策略。

根据示例性实施例,例如,用于客户端装置或主机装置110或mfp112的ipv6扩展头策略可以被设置为使得客户端装置或主机装置110或mfp112被配置为使得ipv6移动扩展头不能在其分组中的任何分组中发送或接受。

根据示例性实施例,例如,如果ipv6头与新的rfc定义不兼容,并且扩展头是在两个不同的片段上片段化发送的,则片段可能被更新的路由器丢落,这可能使装置或主机110、112、120之间的通信中断。根据示例性实施例,应用114可以记录网络路径,并且将包重新设计为使用新的扩展头定义,这可以成功地将ipv6分组递送到目的地装置或主机110、112、120。

根据示例性实施例,用于ipv6扩展应用114的ipv6扩展策略可以被设置为避免片段化、互操作、安全和其它与ipv6扩展头相关问题。另外,通过使用如本文所公开的ipv6扩展应用114,操作性对于装置或主机110、112、120上的或与装置或主机110、112、120相关联的所有应用、并且对于网络栈116和os115的网络层可以是透明的。因此,根据示例性实施例,主机或装置110、112、120将不取决于用这样的信息更新的网络层。

根据示例性实施例,例如,当分组由客户端装置或主机装置110产生并且被发送到网络层时,过滤器(例如,网络过滤器118(图4))提取分组210、220、230,该分组然后被转发给ipv6扩展应用114。ipv6扩展应用114将确定扩展头或目的地选项214中的路线是否已经在ipv6扩展应用层处被记录(例如,在数据库中),分组210可以根据扩展头或目的地选项214中的路线的记录而被修改(经修改的ipv6分组)。

根据示例性实施例,如果没有ipv6分组220、230的扩展头或目的地选项的记录,则ipv6分组220、230可以不经修改地(即,原始的ipv6分组)在网络130上被发送。如果原始的ipv6分组在网络130上被丢落,则ipv6扩展应用114将重试具有优先级配置(或优先级配置选择)的分组220、230,其根据管理员选择的规则添加或移除扩展头(或目的地选项)224、234。

根据示例性实施例,如果原始的ipv6分组220、230存在互操作问题,例如,网络路径没有识别出ipv6扩展头,则ipv6扩展应用114可以根据管理员设置的ipv6扩展头策略来自动地修改原始的ipv6分组。

图3是示出使用根据示例性实施例的ipv6扩展头的ipv6扩展应用114的实现的示例性实施例的流程图300。如图3所示,在步骤310中,管理员可以对正被例如mfp112发送的每个数据分组设置配置选项。根据示例性实施例,配置设置可以被ipv6扩展应用114访问。在步骤320中,当重启mfp112时,步骤310中的配置设置(即,新的配置)被应用于ipv6扩展应用114中的ipv6数据分组,以产生例如如本文所公开的经修改的ipv6分组。在步骤330中,ipv6扩展应用115检查ipv6流量以确认ipv6分组符合配置选项。在步骤340中,ipv6扩展应用114根据配置设置对ipv6分组进行优化。在步骤350中,数据分组(或流量)210到达具有配置设置中允许的ipv6扩展头的目的地(例如,目的地主机120),所述ipv6扩展头先前已经例如被记录为可以被从目的地主机120接收并且发送的扩展头或目的地选项。

图4是根据示例性实施例的用于从网络层116捕捉ipv6分组的ip过滤器118的例示说明。如图4所示,客户端装置或主机装置110(例如,mfp112)具有ipv6扩展应用(或软件模块)114和ip过滤器(或分组捕捉过滤器)118,其捕捉(或拦截)具有依照ipv6协议的ipv6扩展头和目的地选项的传出的和传入的数据分组。根据示例性实施例,ipv6扩展应用(或软件模块)114优选为应用级模块,其被配置为如本文所公开那样修改、改变和判断ipv6分组。根据示例性实施例,ipv6扩展应用114可以是客户端装置或主机装置110或mfp112的打印机驱动器和/或固件的一部分、或单独的软件模块或应用、或客户端装置或主机装置110或mfp112的操作系统(os)的一部分。根据示例性实施例,ip过滤器118如所公开的那样转发传入的或传出的ipv6分组。

根据示例性实施例,ipv6分组(或包)优选地经由ipv6通信网络130(例如,互联网)广播和/或送出。根据示例性实施例,ip过滤器118优选地在初次广播(即,邻居发现)之前和/或可替代地在分组被发送到网络栈116用于处理之前捕捉ipv6分组。根据示例性实施例,ipv6扩展应用114的功能性也可以由网络管理员或其他指定的个体任意地启用或禁用。

根据示例性实施例,客户端装置或主机装置110、mfp112或目的地主机120可以包括操作系统115(os),其充当装置的硬件和应用程序之间的接口,并且还负责活动的管理和协调以及主机装置内的资源共享。根据示例性实施例,ipv6扩展应用114在客户端装置或主机装置110、mfp112或目的地主机120的操作系统115上运行,并且网络层在操作系统115之下,或者是操作系统115的一部分。可以意识到,通过利用如本文所描述的ipv6扩展应用115,客户端装置或主机装置110、mfp112或目的地主机120的操作系统无需被以任何方式更改或改变。可替代地,可以意识到,根据另一示例性实施例,操作系统(os)115可以被配置为执行如本文所描述的方法。

根据示例性实施例,公开了一种具有存储于其中的用于控制计算机装置的计算机程序的计算机可读记录介质,所述计算机程序被配置为使在所述计算机装置的操作系统上运行的应用对数据分组进行处理,所述处理包括以下步骤:设置用于所述计算机装置的互联网协议版本6(ipv6)扩展头策略;从所述计算机装置上的网络栈检索原始的ipv6分组,所述原始的ipv6分组具有扩展头或目的地选项;确定扩展头或目的地选项中的指定的路线是否是根据用于所述计算机装置的ipv6扩展头策略的;以及如果指定的路线是根据ipv6扩展头策略的,则根据用于所述计算机装置的ipv6扩展头策略来修改扩展头或目的地选项以产生经修改的ipv6分组,并且在ipv6网络上发送经修改的ipv6分组;或者如果指定的路线不是根据用于所述计算机装置的ipv6扩展头策略的,则在ipv6网络上发送原始的ipv6分组。

所述计算机可用介质当然可以是磁性记录介质、磁光记录介质、或在未来将被开发的任何其它的记录介质,所有这些都可以被认为以完全相同的方式适用于本发明。这样的介质的复制品(包括主要复制产品和次要复制产品以及其它复制品)被认为无疑地等同于以上介质。此外,即使本发明的实施例是软件和硬件的组合,它也根本不背离本发明的构思。本发明可以被实现为使得其软件部分已经被预先写入到记录介质上并且将在操作中根据需要被读取。

本领域技术人员将显而易见的是,在不偏离本发明的范围或精神的情况下,可以对本发明的结构做出各种修改和更改。鉴于前述内容,意图是,本发明涵盖本发明的修改和更改,前提条件是它们落在权利要求书和它们的等同的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1