网络位址及接口号转换方法

文档序号:7761950阅读:218来源:国知局
专利名称:网络位址及接口号转换方法
技术领域
本发明是关于网络位址的技术领域,尤指一种网络位址及接口号转换(NAPT)方法。
背景技术
按,在网络科技的快速发展下,上网人数亦随之快速增加,因而导致在网际网络中对于位址数量的需求与日遽增。但由于网际网络中的位址数量有限,因此目前发产出一套网络位址接口号转换技术(networkaddress and port translation,NAPT),用以将内部网络(例如公司内部网络)的私有位址(private IP)及私有接口号(prlvate port)转换为外部网络的公用位址(public IP)及公用接口号(public port),以便利使用者能从内部网络速结到网际网络,同时解决公用位址数量不足的问题,还具有简单的防火墙功能来保护私人网络或小型网络。此外,当IPv4通讯协定要更新至IPv6通讯协定时,NAPT技术亦可作为过渡时期的替代方式。
请参阅图1的连线资料列表,其中每一组连线资料(socket)是由一位址(IP)及一接口号(port)组成,显示根据不同的公用接口号(公用位址皆为『140.92.61.1』),将可区分出内部网络不同的Socket连线。公知作法是由执行NAPT功能的装置以产生一如图2所示的对应搜寻表格,当内部网络的封包欲通过NAPT装置连线至网际网络时,NAPT装置必须于图2的列表中进行搜寻,才能找到要将私有位址及私有接口号置换的公用接口号;同理,当封包由网际网路传回内部网络时,也必须通过NAPT装置来进行搜寻出对应此公用接口号的私有位址及私有接口号以进行转换。如此一来,将耗费大量时间,并会造成网络的瓶颈。由此可知,公知的网络位址及接口号转换方法仍存在有诸多缺失而有予以改进的必要。

发明内容
本发明的主要目的在于提供一种网络位址及接口号转换方法,能快速转换网络位址及接口号,以节省计算时间、并减轻系统负担。
本发明的另一目的在于提供一种网络位址及接口号转换方法,能根据不同的网络环境需求,以建立不同的私有位址及接口号配置方法,并可由管制每台电脑对外的连线数目以适用于网络管理。
本发明的再一目的在于提供一种网络位址及接口号转换方法,利于系统单晶片的系统实现。
为达成上述目的,本发明提供的网络位址及接口号转换方法,用以将至少一网络设备于一内部网络中所建立的网络连线的私有位址及私有接口号、转换为于网际网络中所采用的公用住址及公用接口号,其中,该公用位址为一对应于该内部网路的固定位址,该私有位址及该公用位址为长度为N位元的资料,该私有接口号及该公用接口号为长度为M位元的资料,且每一网络设备的私有位址系定义有2X个节点,每一节点用以建立一连线,并依连线时间顺序定义有一节点序号,该方法主要包括下列步骤(A)接收内部网络中一网络设备的对外连线请求;(B)撷取该网络设备的私有位址、及该网络设备的内部连线所对应的节点序号;(C)撷取该私有位址的后(M-X)位元作为该公用接口号的前(M-X)位元、并同该节点序号作为该公用接口号的后X位元以形成该公用接口号;以及(D)将该网络设备的内部连线的私有位址及私有接口号分别转换为该公用位址及该公用接口号,建立一对外连线以传送出至少一封包。
其中,该节点序号为介于0到(2X-1)之间的整数。
其中,该公用接口号为(A×2X)+B,当中,A为该私有位址的后(M-X)位元根据二进位原则所计算出的数值,B为该节点序号。
其中,还包括建立一连结列表以依序记录每一私有位址所建立连线的对应节点序号及私有接口号。
其中,当该连线终止时,清除该连结列表中记录该连线所对应的私有接口号。
其中,当该连线终止时,将该连结列表中原本记录该连线所对应的私有接口号记录为0。
其中,该连结列表定义为一对照表格式,用以储存全部私有位址所对应该等节点的状态,每一内部连线所对应的节点的栏位记录该内部连线的私有接口号。
其中,若一节点已结束一内部连线,则该节点所对应的栏位记录为0。
其中,若一节点尚未建立一内部连线,则该节点所对应的栏位记录为-1。
其中,当该封包由网际网络传回内部网络时,根据下列步骤以将该公用接口号转换为对应的私有位址及私有接口号(E)撷取该封包所使用公用接口号的二进位序列;(F)根据该二进位序列中的前(M-X)位元以找出对应的私有位址;(G)根据该二进位序列中的后X位元以找出该私有位址中的节点序号,以自该连结列表中找出该节点序号所对应储存的私有接口号;以及(H)将该网络设备的外部连线的公用位址及公用接口号分别转换为该私有位址及该私有接口号。
其包括建立一网络位址及接口号转换对照表,用以储存每一笔网路设备所产生连线记录的私有位址、私有接口号、公用位址、及公用接口号。
其中,M<N。
其中,该私有位址及该公用位址为长度为32位元的资料,该私有接口号及该公用接口号为长度为16位元的资料,且每一私有位址定义有2X个节点。
其中,该公用接口号由该内部连线的私有位址的后8位元资料、并同该内部连线的节点序号所组成。
其中,该私有位址的后8位元资料根据二进位原则所计算出的最小值为4,且根据该私有位址所组成的公用接口号的最小值为1024。


为能更了解本发明的技术内容,特举二较佳具体实施例并结合

如下图1为公知网络位址及接口号转换系统的连线资料表。
图2为公知网络位址及接口号转换方法的对应搜寻表。
图3为本发明的实施环境示意图。
图4为本发明实施例将私有位址及私有接口号转换为公用位址及公用接口号的流程图。
图5为本发明实施例将公用位址及公用接口号转换为私有位址及私有接口号的流程图。
图6为本发明第一实施例的内部连线资料表。
图7为本发明第一实施例根据私有位址产生公用接口号的配置示意图。
图8为本发明第一实施例网络位址及接口号转换的对应搜寻表。
图9为本发明第一实施例所建立的连结列表。
图10为本发明第一实施例所建立的节点及私有接口号的对照表。
图11为本发明第二实施例根据私有位址产生公用接口号的配置示意图。
具体实施例方式
请参阅图3本发明实施环境的示意图,显示一区域网路(local areanetwork,LAN,即内部网络1)中的网络设备11定义有一私有位址A11、网络设备12定义有一私有位址A12,当网络设备11欲将资料D1传送至广域网络(Wide area network,WAN,即网际网络2)中时,例如为连结至网际网络2中的电子报网页,则需通过位址及接口号转换器13将用以传轮资料D1的内部连线L1(或称为Socket连线)的私有位址A11及私有接口号A21分别转换为公用位址B1及公用接口号B21后,以建立对外连线W1来传轮资料D1。同理,内部连线L2的私有位址A11及私有接口号A22将被转换为公用位址B1及公用接口号B22以建立对外连线W2来传输资料D2;内部连线L3的私有位址A12及私有接口号A23将被转换为公用位址B1及公用接口号B23,以建立对外连线W3来传输资料D3。
本实施例应用于网际网络的IPv4通讯协定中,因此每一网络设备所对应的位址(包括私有住址及公用位址)皆为长度为32位元(即4位元组)的资料,接口号(包括私有接口号及公用接口号)皆为长度为16位元(即2位元组)的资料,且位址的呈现格式为X.X.X.X。其中,x代表长度为8位元(即1位元组)的资料根据二进位原则所计算出的数值,例如当x为1时,其二进位值为00000001。此外,第一实施例的每一私有位址定义有28个(即256个)节点,一共可用以建立256条连线,且每一节点依连线时间顺序定义有一节点序号,其序号范围介于0到255间的整数。当然本发明的方法亦可应用于下一代网际网络的IPv6通讯协定中,则每一网络设备所对应的位址将为长度为128位元的资料。
请参阅图4的流程图,并请一并参阅图6的内部连线资料表,于第一实施例中,内部网络1中的内部连线包括有私有位址为10.0.0.6的网络设备所建立的三条连线、私有位址为10.0.0.20的网络设备所建立的二条连线、私有位址为10.0.0.180的网络设备所建立的四条连线、及私有位址为10.0.0.251的网络设备所建立的三条连线,共计十二条,其中每一内部连线定义有一连线建立顺序,以辨别其先后顺序。
当连线建立顺序为8的内部连线欲连结至网际网路2时,位址及接口号转换器13将在接收到此网络设备的对外连线请求后(步骤S401),撷取出此网络设备的私有位址10.0.0.6、及这条内部连线所对应的节点序号(步骤S402),由于此内部连线为网络设备10.0.0.6中所建立的第2条连线,因此其所定义的节点序号为1。接著,本实施例将撷取私有位址中的最后一个位元组(即6)来当作公用接口号的第一个位元组,并将节点序号(即1)作为公用接口号的第二个位元组,以形成公用接口号(步骤S403),亦即公用接口号的前8位元所形成的二进位数列为00000110、后8位元的二进位数列为00000001,因而形成一16位元的公用接口号,且根据二进位原则将计算出上述数列的数值为1537(即6×28+1)。此外,于本实施例中,公用位址皆为140.192.61.1,因此,位址及接口号转换器13将把私有位址10.0.0.6转换为公用位址140.192.61.1、把私有接口号100转换为公用接口号1537,以建立对外连线来传送资料封包(步骤S404)。实际上,根据内部连线所转换形成的对外连线对使用者来说是同一条连线,其因连线所处的网络环境不同(内部网络或网际网络)而会通过网络位址及接口号转换(NAPT)机制来自动转换为对应的位址及接口号。
因此,第一实施例用以根据私有位址来产生公用接口号的配置示意图即如图7所示,简单来说,就是将私有位址A1的最后一个位元组(24-31位元)直接当作公用接口号B2的第一个位元组(0-7位元),的后再根据节点序号来作为公用接口号B2的第8至第15个位元(即公用接口号B2的第二个位元组)。同理,本实施例中的12条内部连线皆可根据上述流程以计算出所使用的公用接口号来建立对外连线,而形成如图8所示的网络位址及接口号转换的对应搜寻表,储存有每一笔网络设备所产生连线记录的连线建立顺序、私有位址、私有接口号、公用位址、及公用接口号。
需注意的是,本实施例限制节点序号的范围介于0到255之间的用意在于确保根据上述流程所计算出的公用接口号为在此公用位址中的独一无二的接口号,若每一私有位址可连线的数量超过28个,则会计算出重复的公用接口号。例如若私有位址10.0.0.6的内部连线所对应的节点序号为28,则其计算出的公用接口号为1792(6×28+256),将与私有位址10.0.0.7的内部连线所对应节点序号为0的公用接口号1792(7×28+0)相同,如此一来,将会无法分辨出这两个对外连线。
此外,为了让位址及接口号转换器13能对应搜寻出每一私有位址所建立的内部连线的节点序号,因此建立一如图9所示的连结列表(linking list)以依序记录每一私有位址所建立连线的对应节点序号及私有接口号。以私有位址为10.0.0.6的网络设备为例,目前有三条内部连线,因此连结列表将会把私有接口号80、100、及20按照连线建立的顺序储存起来,并分别定义有0、1、及2的节点序号,余此类推。
而当资料封包要从网际网络2环境中传回至内部网路1时,请参阅图5的流程图,是用以找出此资料封包应传递至的私有位址及私有接口号。同样以连线建立顺序为8的连线为例,位址及接口号转换器13在撷取此资料封包所使用的公用接口号1537(即6×28+1)后(步骤S501),可将1537的二进位序列0000011000000001,并自上述二进位序列中的前8位元00000110找出对应的私有位址的最后8位元为6(步骤S502),自二进位序列中的后8位元00000001以找出此私有位址中的节点序号为1(步骤S503),因此,可参照图9的连结列表以找出私有位址10.0.0.6的网络设备中、节点N1所对应储存的私有接口号为100(步骤S504),以利位址及接口号转换器13将把公用位址140.92.61.1转换为私有位址10.0.0.6、把公用接口号1537转换为私有接口号100,以将资料封包传回内部连线(步骤S505)。
简而言之,在第一实施例中,将公用位址及公用接口号转换为私有位址及私有接口号的方法就是将公用接口号的第一个位元组(0-7位元)转换为对应的私有位址的最后一个位元组(24-31位元),并根据公用接口号的最后一个位元组(8-15位元)得出所对应的节点序号以自连结列表中查询出对应的私有接口号。
此外,为了适合硬件配备,因此图9的连结列表亦可设计为如图10所示的对照表格式,显示每一私有位址所对应的255个节点的连线状态。其中,当节点处于连线状态时,其私有位址对应于此节点的节点序号的栏位将储存网络连线的私有接口号;当连线结束时,即将栏位中所储存的私有接口号设为0;而当要建立新的连线时,将由对照表的相对应那一列最前端往下寻找值为0的栏位来储存私有接口号,如果在其中没找到值为0的搁位,则将在整列资料的尾端,使用一记录为-1的空储存格来储存私有接口号。且本实施例针对每一连结启动一老化电路(AgingCircuits),当节点值在一预设时间内(例如10分钟)都没有击中(Hit)动作时,则视此连线为断线,故将节点值设为0;此外,每台网络设备所对应的那一列也设定有一预设时间(例如20分钟),若在20分钟内某一台网络设备所对应的整列资料都没有存取动作,表示此网络设备可能已经关机,则将此列中所有储存格的值设为-1。
同理,在图9的连结列表中,当网络连线结束时,亦将把连结列表中所有的私有接口号设定为0。而当节点值在一预设时间内(例如10分钟)都没有击中(Hit)动作时,则视此连线为断线,也将节点值设为0,其作法与图10的对照表大致相同。另外,每一列连结列表也设定有一预设时间(例如20分钟),当超过20分钟连结列表都没有存取动作时,将会把此连结列表中的所有节点删除。
由于在网络技术中,接口号1-1023是公用接口号,因此为了避开这段接口号,故将私有位址的最后一个位元组设定为由4开始,于本实施例中即为10.0.0.4,如此一来,所对应的公用接口号最低将会从1024(4×28)开始。
接著,请参阅图11关于第二实施例根据私有位址来产生公用接口号的配置示意图,其与第一实施例相异之处在于将私有接口号的第22至第31位元(即后10位元)当作公用接口号的第0至第9位元(即前10位元),而公用接口号的后6位元同样由节点序号所取得。需注意的是,由于公用接口号已使用10位元来对应储存私有位址的后10位元资料,故公用接口号仅剩下6位元的可用空间,因此第二实施例中的私有位址定义有26个节点(即64个),共可用以建立64条连线,且第二实施例的内部网络可定义有210个私有位址。也就是当内部网络对私有位址的需求越高时,相对的每一个私有位址的节点数量就会越少。例如当内部网络仅定义1(20)个私有住址时,此私有位址将可建立65536(216)条Socket连线;当内部网络定义2(21)个私有位址时,每一个私有位址将可建立32768(215)条Socket连线;余此类推,当内部网络定义65536(216)个私有位址时,则每一私有位址仅能建立1(21)条Socket连线。
由以上说明可知,本发明所提出的网络位址及接口号转换方法,可快速将私有位址及私有接口号转换为公用位址及公用接口号,且当资料欲从网际网络传回内合网络时,位址及接口号转换器可直接根据公用接口号来找出对应的私有位址及私有接口号,不同于公知必须根据公用接口号至列表中搜寻出对应于此公用接口号的内部位址及接口号,将可大幅减少计算时间、并减轻系统负荷;此外,本发明可根据不同的网络需求,而弹性地提供不同的配置方法,亦即若对私有位址的需求较大,则可将节点数减少,反之则将节点数增加,并能由管制每台电脑对外的连线数目以利于网络管理;且由于本发明的电路十分简易,因此适用于系统单晶片(System on Chip,SoC)的硬件实现。
上述实施例仅是为了方便说明而举例而已,本发明所主张的权利范围自应以申请专利范围所述为准,而非仅限于上述实施例。
权利要求
1.一种网络位址及接口号转换方法,用以将至少一网络设备于一内部网络中所建立的网络连线的私有位址及私有接口号、转换为于网际网络中所采用的公用住址及公用接口号,其中,该公用位址为一对应于该内部网路的固定位址,该私有位址及该公用位址为长度为N位元的资料,该私有接口号及该公用接口号为长度为M位元的资料,且每一网络设备的私有位址系定义有2X个节点,每一节点用以建立一连线,并依连线时间顺序定义有一节点序号,该方法主要包括下列步骤(A)接收内部网络中一网络设备的对外连线请求;(B)撷取该网络设备的私有位址、及该网络设备的内部连线所对应的节点序号;(C)撷取该私有位址的后(M-X)位元作为该公用接口号的前(M-X)位元、并同该节点序号作为该公用接口号的后X位元以形成该公用接口号;以及(D)将该网络设备的内部连线的私有位址及私有接口号分别转换为该公用位址及该公用接口号,建立一对外连线以传送出至少一封包。
2.如权利要求1所述的方法,其特征在于,其中,该节点序号为介于0到(2X-1)之间的整数。
3.如权利要求1所述的方法,其特征在于,其中,该公用接口号为(A×2X)+B,当中,A为该私有位址的后(M-X)位元根据二进位原则所计算出的数值,B为该节点序号。
4.如权利要求1所述的方法,其特征在于,其还包括建立一连结列表以依序记录每一私有位址所建立连线的对应节点序号及私有接口号。
5.如权利要求4所述的方法,其特征在于,其中,当该连线终止时,清除该连结列表中记录该连线所对应的私有接口号。
6.如权利要求5所述的方法,其特征在于,其中,当该连线终止时,将该连结列表中原本记录该连线所对应的私有接口号记录为0。
7.如权利要求4所述的方法,其特征在于,其中,该连结列表定义为一对照表格式,用以储存全部私有位址所对应该等节点的状态,每一内部连线所对应的节点的栏位记录该内部连线的私有接口号。
8.如权利要求7所述的方法,其特征在于,其中,若一节点已结束一内部连线,则该节点所对应的栏位记录为0。
9.如权利要求7所述的方法,其特征在于,其中,若一节点尚未建立一内部连线,则该节点所对应的栏位记录为-1。
10.如权利要求4所述的方法,其特征在于,其中,当该封包由网际网络传回内部网络时,根据下列步骤以将该公用接口号转换为对应的私有位址及私有接口号(E)撷取该封包所使用公用接口号的二进位序列;(F)根据该二进位序列中的前(M-X)位元以找出对应的私有位址;(G)根据该二进位序列中的后X位元以找出该私有位址中的节点序号,以自该连结列表中找出该节点序号所对应储存的私有接口号;以及(H)将该网络设备的外部连线的公用位址及公用接口号分别转换为该私有位址及该私有接口号。
11.如权利要求1所述的方法,其特征在于,其包括建立一网络位址及接口号转换对照表,用以储存每一笔网路设备所产生连线记录的私有位址、私有接口号、公用位址、及公用接口号。
12.如权利要求1所述的方法,其特征在于,其中,M<N。
13.如权利要求1所述的方法,其特征在于,其中,该私有位址及该公用位址为长度为32位元的资料,该私有接口号及该公用接口号为长度为16位元的资料,且每一私有位址定义有2X个节点。
14.如权利要求13所述的方法,其特征在于,其中,该公用接口号由该内部连线的私有位址的后8位元资料、并同该内部连线的节点序号所组成。
15.如权利要求14所述的方法,其特征在于,其中,该私有位址的后8位元资料根据二进位原则所计算出的最小值为4,且根据该私有位址所组成的公用接口号的最小值为1024。
全文摘要
一种网络位址及接口号转换方法,用以将内部网络中的内部连线的私有位址及私有接口号、转换为应用于网际网络中的对外连线的公用位址及公用接口号,其中,位址皆为长度为N位元的资料,接口号皆为长度为M位元的资料,且网络设备的私有住址定义有文档编号H04L29/06GK1516402SQ0310141
公开日2004年7月28日 申请日期2003年1月7日 优先权日2003年1月7日
发明者张治昇, 吴柏成, 陈武民, 魏全佑, 张治 申请人:财团法人资讯工业策进会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1