专利名称:远端资料传输系统及方法
技术领域:
本发明是提供一种远端资料传输系统及方法,特别是一种透 过即时通讯软体已建立的点对点连线,来进行远端资料传输的系 统及方法。
背景技术:
现今网际网路日益发达,IP位址的数量逐渐不敷使 用,所以有了网路位址转译器的技术产生,但如此作法,虽然 网路位址转译器架构下的电脑可以连结网际网路,但外部的电脑想要存取网路位址转译器下的电脑却很不容易,此外,为了维护 资讯安全,现今大部分的公司行号都会使用防火墙的设定来保护 公司内部资料,透过防火墙的限制,固然提高了公司内部资讯的 安全性,但也限制了外部电脑存取防火墙内部电脑的权力。为了克服网路网址转译器及防火墙所带来的困难,许多提供 档案传输和语音视讯等功能的即时通讯软体都在穿透防火墙及 网路位址转译器方面提出许多解决方案,这些软体在架构点对点 连线上表现都相当出色,因此,若能利用它们已经建构完成的连 线,传输其它应用程式的资料,便能提供使用者更便利的网路传 输功能,像是画质更好、影像更清晰的视讯会议功能,或者操作 介面更便利、功能更强大的档案传输功能,亦或是远端
上游戏等等,皆可以透过此方式来得到实现。本发明人基于多年从事研究与诸多实务经验,经多方 研究设计与专题探讨,遂于本发明提出一种远端资料传输 系统及方法,以作为前述期望一实现方式与依据。发明内容有鉴于上述课题,本发明的主要目的是提供一种远端资料传 输系统及方法,特别是一种透过即时通讯软体已建立的点对点连 线,来进行远端资料传输的系统及方法。缘是,为达上述目的,依本发明的远端资料传输系统,其适 用于一第一电脑装置,该第一电脑装置是已透过一第一应用程式 与远端的一第二电脑装置建构一点对点连线,第一电脑装置及第 二电脑装置其中至少 一端是位于 一 防火墙或 一 网路位址转译器 架构内,此远端资料传输系统至少包含至少一第二应用程式、一 解析模组、 一封包产生模组、 一过滤模组及一连线管理模组。 解析模组是用以解析第 一 电脑装置的第 一 应用程式所发 送的复数个第一网路封包,以产生一连线资料,封包产生 模组根据连线资料,将第二应用程式的 一发送资料转换为 复数个第二网路封包,过滤模组是因应于所接收的复数个 接收资料封包,过滤接收资料封包为第 一 网路封包及第二 网路封包,并传送第 一网路封包至第一应用程式,及传送 第二网路封包至第二应用程式,连线管理模组是透过点对点连线,传送第一网路封包及第二网路封包至第二电脑装 置,并接收第二电脑装置透过点对点连线所传送的接收资 料封包。其中,第一网路封包为第一应用程式所发送或欲传送
至第一应用程式的封包,第二网路封包为第二应用程式所 发送或欲传送至第二应用程式的封包。承上所述,因依本发明的远端资料传输系统及方法,其利用 即时通讯软体穿透防火墙及网路位址转译器的功能,将其它应用 程式的网路封包伪装为即时通讯软体的封包,以突破防火墙及网 路位址转译器的限制,传输至远端电脑,再透过一过滤机制,过 滤出即时通讯软体封包及其它应用程式封包,以进4于相对应的处 理,达到远端资料传输的功能。
图1是显示IP的表头资讯;图2是显示UDP的表头资讯;图3是显示TCP的表头资讯;图4是显示本发明的远端资料传输系统的方块图;图5是显示本发明的远端资料传输系统的较佳实施例的示意图;图6是显示本发明的远端资料传输系统的另一较佳实施例 的方块图;图7是显示本发明的远端资料传输方法的发送端步骤流程图;图8是显示本发明的远端资料传输方法的接收端步骤流程图。
图号i兌明:40:第一电脑装置;41:解析模组;411:连线资料42:封包产生模组;421:发送资料43:过滤模组;44:连线管理模组;441:接收资料封包;45:第一应用程式;451:第一网路封包;46:第二应用程式;461:第二网路封包;47:第二电脑装置;48:点对点连线;49:防火墙;51: 7>司电脑;52:家中电脑;53:防火墙;54:网路位址转译器;55:即时通讯伺服器;56:即时通讯软体;57:纟见讯会议软体;61:封包产生及接收模组;62:点对点连线监控63:即时通讯解析模组;64:即时通讯控制模65:即时通讯连线管理模组;66:档案传输;67:一见讯串流;68:其他应用程式;S71~ S73:步骤流程;S81 ~ S83:步骤流程。
具体实施方式
为使审查员对本发明的技术特征及所达成的功效有更 进一步的了解与认识,下文谨提供较佳的实施例及相关图
式以为辅佐之用,并以详细的说明文字配合说明如后。资料在TCP/IP网路上传输,都有其固定的表头格式,请参 阅图1,是显示IP的表头资讯,IP表头有Version、 IHL、 T0S、 Total length、 Identification、 Fiags、 Fragment offset、 TTL、 Protocol、 Header checks腦、Source IP address、 Destination IP address、 以及Options and padding等等资讯。当一第二 应用程式想要利用 一第一应用程式已建立好的网路连线来传输 资料时,便必须取得此连线的网路封包资料,再按照取得的网路 封包资料来填入第二应用程式的封包表头,如此即可将第二应用 程式的封包送至远端电脑,不论此连线其中经过了多少防火墙、 路由器或网路位址转译器,只要原来第 一应用程式的网路连线可 以送达远端电脑,在第二应用程式的封包填上正确的表头资讯, 也就会将封包送达远端电脑。然而,当第二应用程式的封包送达远端电脑后,由于填入与 第 一应用程式封包相同的表头资讯,可能会影响第 一应用程式的 运作,因此第二应用程式的网路封包除了必须模仿第 一应用程式 的封包,使其能顺利穿过中间防火墙和路由器的重重拦阻,到达 远端电脑,还要能够提供远端电脑识别两者之间的差异,使第一 应用程式不会因为去处理第二应用程式的网路封包,而干扰了原 有第一应用程式的运作。因此在传送第二应用程式的封包前,本发明在封包内容中加 入特别的识别资讯,当传输到远端电脑后,另在网路层架构一封 包过滤机制,过滤拥有此识别资讯的封包,具有此识别资讯的封 包才由第二应用程式进行处理,没有此识别资讯的封包便由第一 应用程式处理,以避免产生千扰。对于IP表头而言,本发明是保持所有栏位的原始性。也就 是尽可能的按照原来第一应用程式所建立网路连线上所有的资料来填入,而不作任何的修改,除了 Header checksum需要重新 计算以外,其余都使用原始网路连线上的资讯,因为,只要网路 封包可以到达远端电脑,IP表头所填入的资料几乎都不会对原 来拥有连线的第 一应用程式造成任何影响,因此我们尽量保持所 有栏位的原始性,不去作任何的更动,以便网路封包可以顺利穿 越网际网路中间的防火墙与路由器。另外,根据TCP/IP网路上主要的两种连线类型TCP和 UDP,本发明分别提出不同的解决方法,请参阅图2,是显示UDP 的表头资讯,UDP的表头只有四项资讯Source Port 、 Destination Port、 Length、以及Checksum,其中Source Port 和Destination Port是网路封包能够正确地到达远端电脑的 重要凭据资料,因此不能够填错,必须要填原始第一应用程式网 路连线的资料,否则连线中间如果有防火墙或私人路由器,封包 极有可能会无法到达远端电脑,因为防火墙或者私人路由器通常 会纪录已建立连线的资料,并且挡下一切未经授权的连线资讯, 而Source Port和Destination Port就是它们常常会使用的 重要资料,因此不能修改这两项栏位。至于UDP表头中的 Checksum,并无太大实质意义,因为在UDP网路协定的定义中, UDP的Checksum是被允许可以不使用的,因此Checksum资料 通常不会被防火墙或者路由器检查,而拥有原始连线的第一应用 程式也不会去使用这项栏位资料,至于Length则是一项重要可 利用的栏位,它代表UDP封包的长度,而在IP表头中,也有代表整个IP封包长度的栏位Total length,我们策略是在IP 表头中的Total length填入正确的整个封包的长度资讯,^E是 在UDP表头的Length栏位只填入它的最小值8,也就是UDP 表头本身的长度,这样一来,因为IP表头是正确的,所以中间 的防火墙和路由器会顺利让封包通过,当到达远端电脑,我们首 先从网路层透过封包过滤机制取得这些封包的内容,当封包从网 路层往上传送到传输层之时,传输层看到UDP表头的Length 只有8,便不会处理其附夹的封包内容,因为封包内容这时候就 像是隐形不存在的,传输层只看到UDP的表头,看不到UDP封 包的内容,因此不会造成干扰。但是部份防火墙会特别检查UDP封包的Length栏位,如 果比对Length和IP表头的Total length不一致,会自动丢 弃这类封包,遇到这些防火墙,必须填入正确的UDP资讯,且 必须使用格式和第 一应用程式网路连线不一致而且长度较短的 封包内容,格式不一致确保第 一应用程式无法正确解析我们的资 料,长度较短让传输层不至于因我们的封包受到负面影响。请参阅图3,是显示TCP的表头资讯,其中包括Source Port 、 Destination Port、 Sequence N咖ber、 Acknowledgement Number、 Data0ffset、 ECN、 Control Bits、 Window、 Checksum、 Urgent Pointer 、 以及 Options and padding 。 Source Port 和 Destination Port和UDP表头中一样,重要性也一样,因此不 能修改,本发明在TCP的解决方法主要是利用TCP的SYN-ACK 机制,也就是当TCP连线的两端,某一端先送出资讯时,其封
包必定会设定SYN旗标,而另一端接收到资料,也必定会回应 一设定ACK旗标的封包给原发送端,确认资料已经被收到,在 网路资料持续传送的情况下,两端都会不断地收送设定SYN和 ACK旗标的封包,当收到ACK封包之时,资料发送端可以藉此 确认资料已经被对方接收到,本发明即是夹带第二应用程式的资 料在ACK封包之内,模仿一个ACK封包,送到远端电脑,TCP 表头其余的栏位都填入相对应的正确资讯,以让封包穿越过防火 墙和路由器,当ACK封包到达远端电脑时,先在网路层透过封 包过滤机制,验证封包含有事先所置入的识别资讯,并且将封包 内容解析出来处理,而因为此封包为ACK封包,因此原拥有连 线的第一应用程式看到此ACK封包,唯一会做的工作就是验证 此ACK封包是否代表之前发送的SYN封包已经被对方接收了, 因此只要填入重复或者早先已经送出过的ACK,让拥有连线的第 一应用程式不会误以为新送出的资讯已经被接受到,而是以为是 接受端因为网路状况或不明因素而重送之前的ACK,而自动忽略 此封包,这样就不会影响原网路连线中第一应用程式的运作,而 又可以透过此连线传输第二应用程式的资料。请参阅图4,是显示本发明的远端资料传输系统的方块图, 其适用于一第一电脑装置40,该第一电脑装置40是已透过一第 一应用程式45与远端的一第二电脑装置47建构一点对点连线 48,第一电脑装置40及第二电脑装置47其中至少一端是位于一 防火墙49或一网路位址转译器架构内,此远端资料传输系统至 少包含至少一第二应用程式46、 一解析模组41、 一封包产生模 组42、 一过滤模组43及一连线管理模组44。解析模組41是
用以解析第一电脑装置4G的第一应用程式45所发送的复 数个第一网路封包451,以产生一连线资料411,封包产生 模组42根据连线资料411,将第二应用程式46的一发送 资料421转换为复教个第二网路封包461,过滤模组43是 因应于所接收的复数个接收资料封包441,过滤接收资料 封包441为第一网路封包451及第二网路封包461,并传 送第一网路封包451至第一应用程式45,及传送第二网路 封包461至第二应用程式46,连线管理模组44是透过点 对点连线48,传送第一网路封包451及第二网路封包461 至第二电脑装置47,并接收第二电脑装置47透过点对点 连线48所传送的接收资料封包441。其中,第一网路封包451为第一应用程式45所发送或 欲传送至第一应用程式45的封包,第二网路封包461为第 二应用程式4 6所发送或欲传送至第二应用程式4 6的封包。上述第一应用程式较佳为一即时通讯软体,上述远端 资料传输系统更包含一监控模组,是用以监控点对点连线是 否被建立,当发现点对点连线被建立时,是通知解析模组,以进 行解析第 一应用程式的第 一 网路封包,上述封包接收模组是因应于所接收的第二网路封包,将第二网路封包转换为一接收资料, 并传送接收资料至第二应用程式。请参阅图5,是显示本发明的远端资料传输系统的较佳实施 例的示意图,其中包含一公司电脑51,是位于公司的防火墙53 内, 一家中电脑52,是位于网路位址转译器54的架构内,公司 电脑51及家中电脑52已分别透过即时通讯软体56连接一即时 通讯伺服器55,达到彼此即时通讯的连线状态,另, 一视讯会议软体57透过即时通讯软体56所建立的连线,将视讯会议软体 57的视讯串流封包伪装成即时通讯软体56的封包,可突破防火 墙53及网路位址转译器54的限制,在公司电脑51及家中电脑 52之间进行传输,并透过公司电脑51及家中电脑52中的一封 包过滤机制,过滤出即时通讯软体56封包及视讯会议软体57封 包,并分别由即时通讯软体56及视讯会议软体57进行封包处理。 请参阅图6,是显示本发明的远端资料传输系统的另一较佳 实施例的方块图,其包含一封包产生及接收模组61、 一点对点 连线监控模组62、 一即时通讯解析模组63、 一即时通讯控制模 组64及一即时通讯连线管理模组65。其中档案传输66、视讯串 流67及其他应用程式68是利用此系统传输资料,封包产生及接 收模组61系控制网路封包的传送和接收,将应用程式需要传送 的资料包装成网路封包,贴上自订标签,直接透过网路资料连结 (Data Link)层传送出去,也负责接收远端传送来的网路资料, 并且将对应资料传递给上层,这一层也负责处理流量控制,以及 检查网路封包的完整性及正确性。点对点连线监控模组62是用以监控点对点连线相关资讯, 透过检查网路封包内容,检视是否有点对点连线被建立,在本机 上检查任何传送出去的网路封包内容和封包流量,透过封包内容 的解析和特殊流量的分析, 一旦发现有连线建立,便取得该连线的所有相关网路资讯,例如连线双方的IP位址、通讯埠、以及 MAC位址等资讯,并且将取得的所有资讯传递给上层即时通讯连 线管理模组65。
即时通讯解析模组63是用以监控本机上所有即时通讯软体所传送的网路讯息, 一旦发现有邀请建立点对点连线的封包资 讯,就负责解析该系列封包以取得相关资讯,例如连线双方的帐 号、谁是邀请者、谁是被邀请者等等,并将这些资讯交由上层即时通讯连线管理模组65决定如何处理。即时通讯控制模组64负责控制即时通讯软体,例如控制启 动或关闭视讯对话、档案传输、传送文字对话等等功能,可以利 用此;f莫组让即时通讯软体替我们建立点对点连线。即时通讯连线 管理模组65是用以管理下层模组,将资讯综合起来以建立连线, 并且提供介面让后端程式,诸如档案传输66,视讯串流软体 67,可以使用连线传输资料。请参阅图7,是显示本发明的远端资料传输方法的发送端步 骤流程图,其适用于一第一电脑装置,该第一电脑装置是已透过 一第一应用程式与远端的一第二电脑装置建构一点对点连线,第 一电脑装置及第二电脑装置其中至少一端是位于一防火墙或一 网路位址转译器架构内,其步骤如后步骤S71:解析第一电脑装置的第一应用程式所发送的 复数个第一网路封包,以产生一连线资料;步骤S72:根据连线资料,将至少一第二应用程式的发 送资料转换为复数个第二网路封包;步骤S73:透过点对点连线,传送第一网路封包及第二 网路封包至第二电脑装置。上述第 一应用程式较佳为 一 即时通讯软体。请参阅图8,是显示本发明的远端资料传输方法的接收端步
骤流程图,其适用于一第一电脑装置,该第一电脑装置是已透过 一第一应用程式与远端的一第二电脑装置建构一点对点连线,第 一电脑装置及第二电脑装置其中至少一端是位于一防火墙或一 网路位址转译器架构内,其步骤如后步骤S81:透过点对点连线,接收复数个接收资料封包; 步骤S82:过滤此些接收资料封包为第 一 网路封包及第 二网^各封包;步骤S83:传送第一网路封包至第一应用程式,及传送第二网路封包至第二应用程式。上述第 一应用程式较佳为 一 即时通讯软体。 以上所述仅为举例性,而非为限制性者。任何未脱离本发明的精神与范畴,而对其进行的等效修改或变更,均应包含于本发明的权利范围中。
权利要求
1、一种远端资料传输系统,适用于一第一电脑装置,该第一电脑装置是已透过一第一应用程式与远端的一第二电脑装置建构一点对点连线,该第一电脑装置及该第二电脑装置其中至少一端是位于一防火墙或一网路位址转译器架构内,其特征在于,该远端资料传输系统至少包含至少一第二应用程式;一解析模组,是用以解析该第一电脑装置的该第一应用程式所发送的复数个第一网路封包,以产生一连线资料;一封包产生模组,是根据该连线资料,将该些第二应用程式的一发送资料转换为复数个第二网路封包;一过滤模组,是因应于所接收的复数个接收资料封包,过滤该些接收资料封包为该些第一网路封包及该些第二网路封包,并传送该些第一网路封包至该第一应用程式,及传送该些第二网路封包至该第二应用程式;一连线管理模组,是透过该点对点连线,传送该些第一网路封包及该些第二网路封包至该第二电脑装置,并接收该第二电脑装置透过该点对点连线所传送的该些接收资料封包;其中,该些第一网路封包为该第一应用程式所发送或欲传送至该第一应用程式的封包,该些第二网路封包为该些第二应用程式所发送或欲传送至该些第二应用程式的封包。
2、 如权利要求1所述的远端资料传输系统,其特征在于, 该第一应用程式为一即时通讯软体。
3、 如权利要求1所述的远端资料传输系统,其特征在于, 更包含一监控模组,是用以监控该点对点连线是否被建立,当 发现该点对点连线被建立时,通知该解析模组,以进行解析该 第一应用程式的该些第一网路封包。
4、 如权利要求1所述的远端资料传输系统,其特征在于, 更包含一封包接收模组,是因应于所接收的该些第二网路封包, 将该些第二网路封包转换为一接收资料,并传送该接收资料至 该第二应用程式。
5、 一种远端资料传输方法,适用于一第一电脑装置,该第 一电脑装置是已透过一第一应用程式与远端的一第二电脑装置 建构一点对点连线,该第一电脑装置及该第二电脑装置其中至 少 一端是位于一 防火墙或一 网路位址转译器架构内,其特征在 于,该远端资料传输方法至少包含解析该第 一 电脑装置的该第 一 应用程式所发送的复 数个第一网路封包,以产生一连线资料;根据该连线资料,将至少一第二应用程式的一发送资 料转换为复数个第二网路封包;透过该点对点连线,传送该些第 一 网路封包及该些第 二网路封包至该第二电脑装置。
6、 如权利要求5所述的远端资料传输方法,其特征在于, 该第一应用程式为一即时通讯软体。
7、 一种远端资料传输方法,适用于一第一电脑装置,该第 一电脑装置是已透过一第一应用程式与远端的一第二电脑装置 建构一点对点连线,该第一电脑装置及该第二电脑装置其中至 少一端是位于一防火墙或一网路位址转译器架构内,其特征在于,该远端资料传输方法至少包含透过该点对点连线,接收复数个接收资料封包;过滤该些接收资料封包为该些第 一 网路封包及该些第二网路封包;传送该些第一网路封包至该第一应用程式,及传送该 些第二网路封包至该第二应用程式。
8、 如权利要求7所述的远端资料传输方法,其特征在于, 该第一应用程式为一即时通讯软体。
全文摘要
本发明是揭露一种远端资料传输系统及方法,其适用于一第一电脑装置,该第一电脑装置是已通过一第一应用程式与远端的一第二电脑装置建构一点对点连线,且其中至少一端是位于一防火墙或一网路位址转译器架构内,此远端资料传输系统包含一解析模组,用以解析第一应用程式所发送的第一网路封包,以产生一连线资料,一封包产生模组根据连线资料,将第二应用程式的发送资料转换为第二网路封包,过滤模组是过滤接收资料封包为第一网路封包及第二网路封包,连线管理模组是通过点对点连线,用以传送及接收网路封包。
文档编号H04L29/06GK101110816SQ200610098960
公开日2008年1月23日 申请日期2006年7月19日 优先权日2006年7月19日
发明者张棋岚, 林志祥 申请人:宏碁股份有限公司