CN1574773A - 网关地址和网络地址转换地址池中地址重叠的实现方法 - Google Patents
网关地址和网络地址转换地址池中地址重叠的实现方法 Download PDFInfo
- Publication number
- CN1574773A CN1574773A CNA200410038823XA CN200410038823A CN1574773A CN 1574773 A CN1574773 A CN 1574773A CN A200410038823X A CNA200410038823X A CN A200410038823XA CN 200410038823 A CN200410038823 A CN 200410038823A CN 1574773 A CN1574773 A CN 1574773A
- Authority
- CN
- China
- Prior art keywords
- address
- message
- gateway
- protocol message
- internet protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及分布式三层交换机中处理IP层报文的方法,公开了一种网关地址和NAT地址池中地址重叠的实现方法,使得网关地址和NAT地址池中地址重叠时,发向网关的IP报文不受到目的端口号必须小于4096的限制。这种网关地址和NAT地址池中地址重叠的实现方法在当IP报文命中网关路由时,线路处理板执行以下步骤:A根据网关的路由表项中NAT地址池标志判定是否地址重叠,如重叠进入步骤B,否则进入步骤C;B判定报文是否满足以下条件:目的端口号大于4096并且是除了ICMP请求报文以外的其他IP层报文中的一种,如满足该条件则进入步骤C,否则进入步骤D;C将报文送往NAT板处理;D将报文上报主控板产生路由。
Description
技术领域
本发明涉及分布式三层交换机中处理因特网协议报文的方法,特别涉及分布式三层交换机中对地址重叠的处理方法。
背景技术
随着因特网的迅速发展,因特网网络地址日益面临被耗尽的危险。为了能够使局域网中的多台机器能够用有限的几个地址接入因特网,网络地址转换(Network Address Translation,简称“NAT”)技术应运而生。NAT技术使得一个拥有大量主机的局域网可以通过少量因特网网络地址连接到外部世界,位于局域网内主机将报文发送到NAT路由器,进行地址转换以后发送给因特网中的主机,同样,因特网中的主机也将报文发送给NAT路由器,进行地址转换以后发送给局域网内的主机。
目前的分布式三层交换机也集成了NAT功能,如图1所示,在公知的分布式三层交换机3中包括至少一块线路处理板31、一块主控板32以及一块NAT板33。其中,线路处理板31主要负责报文的转发,主控板32主要负责路由表表项的处理,NAT板33主要负责实现网络地址转换功能。
在一个典型的基于分布式三层交换机3组建的局域网中,局域网中主机1可能有两种方式访问因特网4,一种是通过网关2访问,另一种是通过NAT板33访问。在许多情况下,这两种访问方式是并存的。为了节约因特网网络地址,有时会将NAT板33中地址池中的地址设置成和网关2的地址一样(即地址重叠)。在这种情况下,公知的分布式三层交换机3中线路处理板31会判定收到的因特网协议报文的目的端口号是否大于4096,如果大于4096则转发给NAT板33,如果小于等于4096则上报主控板32产生通过网关2去因特网的路由。
在实际应用中,上述方案存在以下问题:如果局域网中主机1发送给网关2的因特网协议报文的目的端口号大于4096,则该因特网协议报文将无法到达网关2,导致局域网中主机1和网关2无法正常通信。
造成这种情况的一个主要原因在于,线路处理板31将目的端口号大于4096的报文统一发向NAT板33,而NAT板33对不属于它的因特网协议报文进行丢弃。
发明内容
本发明要解决的技术问题是提供一种网关地址和网络地址转换地址池中地址重叠的实现方法,使得网关地址和NAT地址池中地址重叠时,发向网关的因特网协议报文不受到目的端口号必须小于4096的限制。
为了解决上述技术问题,本方明所提供了一种网关地址和网络地址转换地址池中地址重叠的实现方法,其中,分布式三层交换机中的线路处理板收到的因特网协议报文命中所述网关的路由,其特征在于,所述方法包含以下步骤:
A所述线路处理板根据所述网关的路由表项中网络地址转换地址池标志判定所述网关地址与网络地址转换地址池中地址是否重叠,如果重叠则进入步骤B,如果不重叠则进入步骤D;
B所述线路处理板判定所述因特网协议报文是否满足以下条件:
目的端口号大于预先指定的数值,
是除了因特网控制报文协议请求报文以外的其他因特网协议层报文中的一种,
如果是,则进入步骤C,否则进入步骤D;
C所述线路处理板将所述因特网协议报文送往所述分布式三层交换机中的网络地址转换板进行处理;
D所述线路处理板将所述因特网协议报文上报所述分布式三层交换机中的主控板,产生路由。
其中,所述预先指定的数值是4096。
所述步骤B的判断条件中,其他因特网协议层报文是指传输控制协议报文、用户数据报协议报文、因特网控制报文协议报文。
所述步骤B包含以下步骤:
B11判定所述因特网协议报文是否为传输控制协议报文、用户数据报协议报文、因特网控制报文协议报文中的一种,如果是,则进入步骤B12,如果否,则进入所述步骤D;
B12判定所述因特网协议报文的目的端口号是否大于预先指定的数值,如果是,则进入步骤B13,如果否,则进入所述步骤D;
B13判定所述因特网协议报文是否为因特网控制报文协议请求报文,如果是,则进入所述步骤D,如果否,则进入所述步骤C。
另外,所述步骤B也可以包含以下步骤:
B21判定所述因特网协议报文的目的端口号是否大于预先指定的数值,如果是,则进入步骤B23,如果否,则进入所述步骤D;
B22判定所述因特网协议报文是否为传输控制协议报文、用户数据报协议报文、因特网控制报文协议报文中的一种,如果是,则进入步骤B22,如果否,则进入所述步骤D;
B23判定所述因特网协议报文是否为因特网控制报文协议请求报文,如果是,则进入所述步骤D,如果否,则进入所述步骤C。
通过比较可以发现,本发明的技术方案与现有技术的区别在于,通过增加多重判断来精细识别送往网关2的因特网协议报文和送往NAT板33的因特网协议报文,其中,多重判断包括对路由表项中NAT池标志的判断,对因特网协议报文目的端口号数值的判断,对因特网协议报文类型的判断。
这种技术方案上的区别,带来了较为明显的有益效果:网关地址和网络地址转换地址池中地址重叠时,所有的因特网协议报文都可以得到正确地处理,由此能够通过地址重叠节约宝贵的因特网地址。
附图说明
图1是基于分布式三层交换机的网络系统示意图。
图2是根据本发明的原理的网关地址和NAT地址池中地址重叠的实现方法的基本流程图。
图3是根据本发明的一个实施例的网关地址和NAT地址池中地址重叠的实现方法的流程图。
图4是根据本发明的另一个实施例的网关地址和NAT地址池中地址重叠的实现方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
图2是本发明的一个基本流程图,当分布式三层交换机中负责报文转发的线路处理板31收到的因特网协议报文命中所述网关2的路由时,在步骤100,线路处理板31根据网关2的路由表项中网络地址转换地址池标志判定网关地址与网络地址转换地址池中地址是否重叠,具体的说,在本实施例中是判定网关2的路由表项中网络地址转换地址池标志是否为真,如果为真,表示上述地址重叠,则进入步骤200,如果为假,表示上述地址不重叠,则进入步骤400。
在步骤200中,线路处理板31判定所述因特网协议报文是否满足以下条件:目的端口号大于预先指定的数值,并且是除了因特网控制报文协议请求报文以外的其他因特网协议层报文。如果满足所述条件,则进入步骤300,否则进入步骤400。其中,在通常情况下,上述预先指定的数值为“4096”,因为一般的应用中因特网协议报文的目的端口号都小于4096。
在步骤300中,线路处理板31将所述因特网协议报文送往NAT板33处理。
在步骤400中,线路处理板31将所述因特网协议报文上报主控板32,产生路由。
需要指出的是,相对于公知技术中简单地对因特网协议报文目的端口号的数值是否大于4096来判定报文送往NAT板33还是主控板32的做法,在步骤100和步骤200中的判断更为细致,从而使得网关地址和网络地址转换地址池中地址重叠时,发向网关的因特网协议报文目的端口号大于4096时也可以得到正确的处理。
图3是根据本发明的一个具体实施例的流程图,它对图2进行了更为具体地展开。如该图所示,在步骤100中,线路处理板31判定网关2的路由表项中网络地址转换地址池标志是否为真,如果为真,表示上述地址重叠,则进入步骤211,如果为假,表示上述地址不重叠,则进入步骤400。
在步骤211中,线路处理板31判定因特网协议报文是否为传输控制协议(Transfer Control Protocol,简称“TCP”)报文、用户数据报协议(UserDatagram Protocol,简称“UDP”)报文或因特网控制报文协议(Internet ControlMessage protocol,简称“ICMP”)报文中的一种。如果是,则进入步骤212,如果否,则进入步骤400。
在步骤212中,线路处理板31判定因特网协议报文的目的端口号是否大于4096,如果是,则进入步骤213,如果否,则进入步骤400。
在步骤213中,线路处理板31判定因特网协议报文是否ICMP请求报文,如果是,则进入步骤400,如果否,则进入步骤300。
在步骤300中,线路处理板31将所述因特网协议报文送往NAT板33进行处理。
在步骤400中,线路处理板31将所述因特网协议报文上报主控板32,产生通过网关连接因特网主机和局域网主机的路由。
需要在上述具体的实施例中指出的是,在步骤211中限定了三种因特网协议层报文作为可能进行NAT处理的报文,这是因为在因特网协议层中,TCP、UDP、ICMP是最常见的,限定这三种类型可以简化判断的工作量,并且一般来说一些特别的报文类型通常是不作NAT处理的。
另外需要注意的是,通过把基本处理流程中的步骤200具体展开为上述实施例的三个步骤,即步骤211、步骤212和步骤213,判断的效率可以提高,因为绝大部分送往主控板32处理的包在第一个或者前两个判断中就可以判断出来,不需要处理三个判断条件后才得出结论,这样可以减少线路处理板31的运算量,加快处理速度。
在实际运用中,当大部分因特网协议报文可以通过目的端口号是否大于4096来判断是否送往主控板32时,可以把这个判断条件放在前面来提高判断的效率,这就是本发明的另一个实施例,如图4所示,实质上是把步骤211和步骤212顺序颠倒了一下,步骤213顺序不变,形成了图4中的步骤221、步骤222和步骤223,这三个步骤的解释与前面的实施例相同,这里不再重复。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
Claims (5)
1.一种网关地址和网络地址转换地址池中地址重叠的实现方法,其中,分布式三层交换机中的线路处理板收到的因特网协议报文命中所述网关的路由,其特征在于,所述方法包含以下步骤:
A所述线路处理板根据所述网关的路由表项中网络地址转换地址池标志判定所述网关地址与网络地址转换地址池中地址是否重叠,如果重叠则进入步骤B,如果不重叠则进入步骤D;
B所述线路处理板判定所述因特网协议报文是否满足以下条件:
目的端口号大于预先指定的数值,
是除了因特网控制报文协议请求报文以外的其他因特网协议层报文中的一种,
如果是,则进入步骤C,否则进入步骤D;
C所述线路处理板将所述因特网协议报文送往所述分布式三层交换机中的网络地址转换板进行处理;
D所述线路处理板将所述因特网协议报文上报所述分布式三层交换机中的主控板,产生路由。
2.根据权利要求1所述的网关地址和网络地址转换地址池中地址重叠的实现方法,其特征在于,所述预先指定的数值是4096。
3.根据权利要求1所述的网关地址和网络地址转换地址池中地址重叠的实现方法,其特征在于,步骤B的判断条件中,所述其他因特网协议层报文是指传输控制协议报文、用户数据报协议报文、因特网控制报文协议报文。
4.根据权利要求1所述的网关地址和网络地址转换地址池中地址重叠的实现方法,其特征在于,所述步骤B包含以下步骤:
B11判定所述因特网协议报文是否为传输控制协议报文、用户数据报协议报文、因特网控制报文协议报文中的一种,如果是,则进入步骤B12,如果否,则进入所述步骤D;
B12判定所述因特网协议报文的目的端口号是否大于预先指定的数值,如果是,则进入步骤B13,如果否,则进入所述步骤D;
B13判定所述因特网协议报文是否为因特网控制报文协议请求报文,如果是,则进入所述步骤D,如果否,则进入所述步骤C。
5.根据权利要求1所述的网关地址和网络地址转换地址池中地址重叠的实现方法,其特征在于,所述步骤B包含以下步骤:
B21判定所述因特网协议报文的目的端口号是否大于预先指定的数值,如果是,则进入步骤B23,如果否,则进入所述步骤D;
B22判定所述因特网协议报文是否为传输控制协议报文、用户数据报协议报文、因特网控制报文协议报文中的一种,如果是,则进入步骤B22,如果否,则进入所述步骤D;
B23判定所述因特网协议报文是否为因特网控制报文协议请求报文,如果是,则进入所述步骤D,如果否,则进入所述步骤C。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200410038823XA CN100356743C (zh) | 2003-06-03 | 2004-04-30 | 网关地址和网络地址转换地址池中地址重叠的实现方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN03140870.2 | 2003-06-03 | ||
CN03140870 | 2003-06-03 | ||
CNB200410038823XA CN100356743C (zh) | 2003-06-03 | 2004-04-30 | 网关地址和网络地址转换地址池中地址重叠的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1574773A true CN1574773A (zh) | 2005-02-02 |
CN100356743C CN100356743C (zh) | 2007-12-19 |
Family
ID=34523653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200410038823XA Expired - Fee Related CN100356743C (zh) | 2003-06-03 | 2004-04-30 | 网关地址和网络地址转换地址池中地址重叠的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100356743C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992675B (zh) * | 2005-12-31 | 2010-07-14 | 中兴通讯股份有限公司 | 一种保证网络地址转换设备与外网互通的方法 |
CN101159693B (zh) * | 2007-10-16 | 2011-08-10 | 中兴通讯股份有限公司 | 复用路由器接口地址的静态pat支持任意端口的方法 |
CN101616190B (zh) * | 2008-06-25 | 2012-07-11 | 英业达股份有限公司 | 具有地址网段辨识功能的网段判断方法 |
CN104247341B (zh) * | 2012-03-14 | 2017-06-23 | 国际商业机器公司 | 分布式交换机及其多播树层次结构的动态优化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058973B1 (en) * | 2000-03-03 | 2006-06-06 | Symantec Corporation | Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses |
JP3656134B2 (ja) * | 2000-03-23 | 2005-06-08 | 日本電信電話株式会社 | Vpn選択接続ゲートウェイおよびそれによる通信方法 |
-
2004
- 2004-04-30 CN CNB200410038823XA patent/CN100356743C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992675B (zh) * | 2005-12-31 | 2010-07-14 | 中兴通讯股份有限公司 | 一种保证网络地址转换设备与外网互通的方法 |
CN101159693B (zh) * | 2007-10-16 | 2011-08-10 | 中兴通讯股份有限公司 | 复用路由器接口地址的静态pat支持任意端口的方法 |
CN101616190B (zh) * | 2008-06-25 | 2012-07-11 | 英业达股份有限公司 | 具有地址网段辨识功能的网段判断方法 |
CN104247341B (zh) * | 2012-03-14 | 2017-06-23 | 国际商业机器公司 | 分布式交换机及其多播树层次结构的动态优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100356743C (zh) | 2007-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1305276C (zh) | 一种快速处理实时媒体流数据包的方法及其系统 | |
CN1232080C (zh) | 网络中节省ip地址提供内部服务器的方法 | |
CN101094236A (zh) | 地址解析协议报文处理方法及通讯系统及转发平面处理器 | |
CN1855873A (zh) | 用于实现高可用性虚拟局域网的方法和系统 | |
CN110768994B (zh) | 一种基于dpdk技术的提高sip网关性能的方法 | |
EP1385313B1 (en) | System and method for managing multiple protocol stacks | |
US20130091269A1 (en) | Distributed IPv6 Neighbor Discovery for Large Datacenter Switching Systems | |
CN1893419A (zh) | 一种路由更新方法 | |
CN1713593A (zh) | 应用服务器安全法与网络安全法的安全系统与方法 | |
CN103647716A (zh) | 一种数据包快速转发方法及装置 | |
US7290050B1 (en) | Transparent load balancer for network connections | |
CN1493140A (zh) | 允许数据传输穿越防火墙的方法和设备 | |
CN1859304A (zh) | 一种邻居发现的实现方法 | |
CN1968226A (zh) | 点对点通信中穿越网络地址转换的方法 | |
CN1378365A (zh) | 一种ip组播路由转发优化方法 | |
CN101123614A (zh) | 一种处理地址解析协议报文的方法及通信装置 | |
CN1992672A (zh) | 一种防止由于地址老化时间不一致导致网络中断的方法 | |
CN101043430A (zh) | 一种设备之间网络地址转换的方法 | |
CN1852253A (zh) | 一种arp报文处理方法 | |
CN1741533A (zh) | 优化建立pim-dm路由表项的方法 | |
CN1863158A (zh) | 一种ip报文分片缓存及转发方法 | |
CN1574773A (zh) | 网关地址和网络地址转换地址池中地址重叠的实现方法 | |
CN1223159C (zh) | 一种支持地址转换应用网关的方法 | |
CN1777148A (zh) | 一种路由表下一跳ip地址到mac地址解析方法 | |
CN1512377A (zh) | 基于内核中套接字对接的第七层负载均衡的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071219 Termination date: 20170430 |