虚拟次网段控制方法及其控制器 【技术领域】
本发明涉及一种虚拟次网段控制器(virtual subnet controller)及其控制方法,尤其涉及一种可在次网段的机台间进行数据封包传输的控制器及其控制方法。
背景技术
为了解决公众IP地址(Public IP address)日渐不足的问题,RFC1918定义了三个范围的私有IP地址(Private IP address),分别为10.0.0.0至10.255.255.255、172.16.0.0至172.31.255.255及192.168.0.0至192.168.255.255。该私有IP地址可为企业内部的计算机联机使用,而无需进行IP地址的申请手续。且由于多个私有IP地址在连接至外界的公众网络时将被转换为同一个公众IP地址,因此可达到节省IP地址的目的。然而相对地,由于该多个私有IP地址共享同一个公众IP地址,因此数据封包在公众网络和企业内部的私有网络传输时即必需通过路由器(router)进行IP地址的转换。
一种常用的私有IP地址和公众IP地址的转换方法为RFC1631所定义的网络地址转换(Network Address Translation,NAT)。该NAT路由器将私有网络的数据封包的IP表头(IP header)所内含的来源地址更换为进入公众网络的公众IP地址,且将该公众网络的数据封包的IP表头所内含的来源地址更换为进入私有网络的私有IP地址。
然而,NAT路由器并无法将私有网络内的具有公众IP地址的机台的数据封包传入公众网络。
美国专利号6,130,892的专利说明书,标题为「NOMADICTRANSLATOR OR ROUTER」揭示一种转换器,其可将具有公众IP地址地机台的数据封包转换为该转换器的地址,再传入公众网络。同样地,该转换器在收到公众网络传来的数据封包后,将其转换为该转换器的地址,再传给该具有公众IP地址的机台。
然而,上述美国专利揭示的转换器仅限使用于一或数台可携带式机台上,且以类似集线器(Hub)的连接方式连接该转换器和该携带式机台。之后,再由该转换器联机至一私有网络,并经由一路由器联机至公众网络。换言之,该转换器并非一用于公众网络和私有网络之间的路由器的功能,也没有管理网络和次网段内的机台的功能,因此并不能完全符合目前产业界的需求。
【发明内容】
本发明的主要目的是提供一种虚拟次网段控制方法及其控制器,可提供相同或不同次网段的机台间互相传送数据封包。
本发明的第二目的是提供一种虚拟次网段控制方法及其控制器,可提供公众网络和私有网络的机台间互相传送数据封包。
本发明的第三目的是提供一种可保持隐密传送的虚拟次网段控制方法及其控制器。
为实现上述目的并避免现有技术的缺点,本发明揭示一种虚拟次网段控制方法,其利用一虚拟次网段控制器连接公众网络和私有网络,该私有网络包含至少一次网段,该方法包含步骤(a)至步骤(e)。在步骤(a),第一机台广播一ARP要求。在步骤(b),若该ARP要求的目标机台为和该第一机台位于同一次网段内的第二机台,则该第二机台回复一ARP答复。在步骤(c),该虚拟次网段控制器回复一ARP答复。在步骤(d),该第一机台将数据封包传送至该虚拟次网段控制器。在步骤(e),该虚拟次网段控制器将数据封包传送至该目标机台。
本发明的虚拟次网段控制器的两端分别连接一公众网络和一包含至少一次网段的私有网络,该虚拟次网段控制器具有两项特征。特征(a):包含一次网段对照表,当数据封包的发送机台和目标机台分属于公众网络和私有网络时,则利用NAT协议将该数据封包的IP地址进行转换。特征(b):当收到数据封包发送机台发出的ARP要求后,则回复其ARP答复,致使该数据封包的发送机台将其数据封包先传送至该虚拟次网段控制器,再经由该虚拟次网段控制器转送至目标机台。
【附图说明】
本发明将依照附图来说明,其中:
图1为本发明的虚拟次网段控制器的一实施系统图;
图2为本发明的一机台的ARP表格;及
图3为本发明的虚拟次网段控制器的另一实施系统图。
【图号说明】
11第一机台 12第二机台
13第三机台 14虚拟次网段控制器
15公众网络 16第四机台
17私有网络 18第一次网段
19第二次网段
21第一机台的ARP表格
31次网段对照表
【具体实施方式】
图1为本发明的虚拟次网段控制器的一实施系统图。该虚拟次网段控制器14的两端分别连接一公众网络15(例如互联网)和一私有网络17(例如以太网络或局域网络)。该公众网络15的另一端另连接一第四机台16。该私有网络17的另一端另连接第一机台11、第二机台12和第三机台13,其中该第一机台11和第二机台12属于第一次网段18,而第三机台属于第二次网段19。
当第一机台11要和一位于同一次网段的第二机台12进行数据封包的传输时,若该第一机台11内的ARP表格尚无记录该第二机台12的MAC地址,则该第一机台11首先广播一ARP要求(ARP request),其目的在于寻找该第二机台12的MAC地址。由于该第二机台12和该第一机台11系位于同一次网段,因此该第二机台12将收到该第一机台11发出的ARP要求,并将予以回复包含其MAC地址的ARP答复(ARP response)。在该第二机台12回复后一段时间,该虚拟次网段控制器14将包含其MAC地址的ARP答复传送至该第一机台11,用于覆盖该第二机台12的ARP答复。因此,当之后该第一机台11要和该第二机台12进行数据封包的传输时,该第一机台11将先传送数据封包至该虚拟次网段控制器14,再通过该虚拟次网段控制器14而传送至该第二机台12。
以下是本发明的第一实施例的虚拟次网段控制算法:
第一机台(Station_A):具有一私有IP地址;
第二机台(Station_B):具有一私有IP地址,且和机台A位于同一次网段;
虚拟次网段控制器(Router_H);
If[Station_B’s MAC,Station_B’s IP]entry is not existed in theARP table of Station_A,Station_A broadcasts an ARP request packet tothe network;
Station_B receives the ARP request packet of Station_A and sends anARP Response packet to Station_A;
Station_A updates its ARP table;
Router_H has to wait a time period until that Station_A receives theARP Response packet of Station_B.After that Router_H sends an ARPResponse to Station_A with[Router_H’s MAC,Station_B’s IP];
Station_A receives Router_H’s ARP Response and updates its ARPtable to replace Station_B’s MAC with Router_H’s MAC in the ARPtable;
Station_A sends data packet to Router_H;
Router_H checks if the destination IP of Station_A is in virtual subnettable;
If the entry is existed and matched,then Router_H redirects the datapacket of Station_A to Station_B;
If[Station_B’s MAC,Station_B’s IP]entry is existed in the ARPtable of Station_A and Station_A sends data packet to Station_B,Router_Hwill capture the data packet,update its virtual subnet table and sends anARP request packet with[Router_H’s MAC,Station_B’s IP]toStation_A;
Station_A receives the ARP request packet and update its ARP table;Station_A sends data packet to Router_H instead of Station_B.
当第一机台11要和一不位于同一次网段的第三机台13进行数据封包的传输。若该第一机台11尚不知道该第三机台13的MAC地址,则该第一机台11首先广播一ARP要求,其目的在于寻找该第三机台13的MAC地址。由于该第三机台13和该第一机台11并不位于同一次网段,因此该第三机台13并不响应该第一机台11发出的ARP要求。此时,该虚拟次网段控制器14将包含其MAC地址的ARP答复传送至该第一机台11。因此当之后该第一机台11要和该第三机台13进行数据封包的传输时,该第一机台11将先传送数据封包至该虚拟次网段控制器14,再通过该虚拟次网段控制器14而传送至该第三机台13。
以下是本发明的第二实施例的虚拟次网段控制算法:
第一机台(Station_A):具有一私有IP地址;
第三机台(Station_C):具有一私有(或公众)IP地址,且和机台A并不位于同一次网段;
虚拟次网段控制器(Router_H);
Station_A communicates with Station_C;
Station_A broadcasts an ARP request packet to the network;
Router_H receives the ARP request packet of Station_A and sends anARP Response packet to Station_A;
Station_A receives the ARP Response packet of Router_H withRouter_H’s MAC and updates its ARP table;
Station_A sends data packet to Router_H;
Router_H checks if the destination IP of Station_A is in virtual subnettable;
If the entry is existed and matched,then Router_H redirects the datapacket of Station_A to Station_C.
图2显示第一机台11的ARP表格21,其中包含目标机台的IP地址栏和目标机台的MAC地址栏。由于在该ARP表格21内不论目标机台是那一个,其数据封包传送位置(即目标机台的MAC地址)均指向该虚拟次网段控制器14(00900e010101)。因此该第一机台11将先传送数据封包至该虚拟次网段控制器14,再通过该虚拟次网段控制器14而传送至其它机台。
当一个虚拟次网段建立后,该虚拟次网段控制器14将在其内部建立一次网段对照表31,该次网段对照表31将同时包含一MAC地址和IP地址,以避免无法辨识在不同次网段的具有相同IP地址的机台的情形。
请参考图3,当该虚拟次网段控制器14由公众网络接收到一数据封包,若该数据封包的目的地IP地址为次网段对照表31所记录,则该虚拟次网段控制器14利用NAT协议将该数据封包的目的地IP地址栏转换为私有IP地址。亦或当次网段的机台欲送出数据封包至公众网络,则该虚拟次网段控制器14利用NAT协议将该数据封包的来源地IP地址栏转换为一公众IP地址。
以下是本发明的第三实施例的虚拟次网段控制算法:
第一机台(Station_A):具有一私有IP地址;
第四机台(Station_D):具有一公众IP地址,且连接至公众网络;
虚拟次网段控制器(Router_H);
Station_A broadcasts an ARP request packet to the network;
Router_H receives the ARP request of Station_A and sends an ARPResponse to Station_A;
Station_A receives the ARP response of Router_H with Router_H’sMAC and updates its ARP table;
Station_A sends data packet to Router_H;
Router_H checks if the destination IP of Station_A is in virtual subnettable;
Because the entry is not existed.,the Router_H forwards the datapacket of Station_A to Station_D by using NAT.
在图3中,当私有网络内的机台欲互传数据封包时,该虚拟次网段控制器14并不使用NAT协议,而在次网段间协助传递该数据封包。换言之,无论是同一网段或不同网段的机台要互传数据,均可经由该虚拟次网段控制器14的协助而实现其目的。
本发明的技术内容及技术特点已揭示如上,然而本领域熟练技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此,本发明的保护范围应不限于实施例所揭示者,而应包括各种不背离本发明的替换及修饰,并为本发明的权利要求所涵盖。