本发明涉及网络接入,具体涉及一种对终端进行nat接入的通信方法及系统。
背景技术:
1、nat(network address translation),是指网络地址转换,1994年提出的。nat是用于在本地网络中使用私有地址,在连接互联网时转而使用全局ip地址的技术。nat实际上是为解决ipv4地址短缺而开发的技术。nat旨在通过将一个外部ip地址和端口映射到更大的内部ip地址集来转换ip地址。基本上,nat使用流量表将流量从一个外部(主机)ip地址和端口号路由到与网络上的终结点关联的正确内部ip地址。
2、现有技术中,针对nat已存在相应的技术方案。比如,中国专利cn201210172332.9公开了一种nat穿越方法,包括对称型nat的对称型终端s和端口受限型nat的端口受限型终端p,所述端口受限型终端p发起连接到所述对称型终端s的步骤包括:所述端口受限型终端p按照穷举规则循环选取所述对称型nat所拥有的网络地址集里的地址,对选取的每一个地址按照穷举规则循环选取该地址所拥有的端口总数中的端口号,通过选取的每一个端口号,由所述端口受限型终端p向所述对称型终端s发送数据包pa,直至收到来自所述对称型终端s的数据包sa。
3、但是,在实际实施过程中,发明人发现,该方法处理速度较慢,会占用cpu计算资源。
技术实现思路
1、针对现有技术中存在的上述问题,现提供一种对终端进行nat接入的通信方法及系统。
2、具体技术方案如下:
3、一种对终端进行nat接入的通信方法,适用于网关,包括:
4、步骤s1:当接收到用户终端的接入请求时,依照所述接入请求对所述用户设备分配端口段,并生成对应于所述用户终端的接入信息;
5、所述端口段包括所述网关的多个可用端口;
6、步骤s2:依照所述接入信息对所述用户终端的上行数据包进行转发,并更新nat映射表;
7、步骤s3:当接收到对应于所述上行数据包的下行数据包时,依照所述nat映射表将所述下行数据包转发至所述用户终端。
8、另一方面,于执行所述步骤s1之前还包括认证过程,所述认证过程包括:
9、步骤a1:接收所述用户终端自前端发送的认证请求并转发至外部认证平台;
10、步骤a2:于所述用户终端和所述外部认证平台之间转发认证数据包,直至认证结束后获取认证结果;
11、步骤a3:依照所述认证结果判断后续是否接收所述接入请求。
12、另一方面,所述步骤s1包括:
13、步骤s11:依照所述接入请求向上级的拨号服务器发起拨号请求;
14、步骤s12:接收所述拨号服务器返回的拨号信息,以及,自所述网关的多个可用端口中确定所述端口段;
15、步骤s13:依照所述拨号信息和所述端口段生成所述用户终端的接入信息。
16、另一方面,所述步骤s2包括:
17、步骤s21:接收所述上行数据包并对所述上行数据包进行解析得到来源信息;
18、步骤s22:依照所述接入信息对所述上行数据包中的所述来源信息进行替换,并依照所述接入信息和所述来源信息的对照关系生成替换信息;
19、步骤s23:对所述上行数据包重新进行打包并发送,以及,基于所述替换信息对所述nat映射表进行更新。
20、另一方面,所述步骤s3包括:
21、步骤s31:当接收到所述下行数据包时,对所述下行数据包进行解包以获得目标信息;
22、步骤s32:依照所述nat表对所述目标信息进行替换,以将所述下行数据包的所述目标信息指向所述用户终端;
23、步骤s33:对所述下行数据包重新进行打包随后转发至所述用户终端。
24、一种对终端进行nat接入的通信系统,适用于网关,用于实施上述的通信方法,包括:
25、接入模块,所述接入模块当接收到用户终端的接入请求时,依照所述接入请求对所述用户设备分配端口段,并生成对应于所述用户终端的接入信息;
26、所述端口段包括所述网关的多个可用端口;
27、上行转发模块,所述上行转发模块连接所述接入模块,所述上行转发模块依照所述接入信息对所述用户终端的上行数据包进行转发,并更新nat映射表;
28、下行转发模块,所述下行转发模块连接所述上行转发模块,所述下行转发模块当接收到对应于所述上行数据包的下行数据包时,依照所述nat映射表将所述下行数据包转发至所述用户终端。
29、另一方面,还包括认证模块,所述认证模块包括:
30、认证转发模块,所述认证转发模块接收所述用户终端自前端发送的认证请求并转发至外部认证平台;
31、反馈结果接收模块,所述反馈结果接收模块连接所述认证转发模块,所述反馈结果接收模块于所述用户终端和所述外部认证平台之间转发认证数据包,直至认证结束后获取认证结果;
32、判别模块,所述判别模块连接所述反馈结果接收模块,所述判别模块依照所述认证结果判断后续是否接收所述接入请求。
33、另一方面,所述接入模块包括:
34、拨号模块,所述拨号模块依照所述接入请求向上级的拨号服务器发起拨号请求;
35、端口分配模块,所述端口分配模块连接所述拨号模块,所述端口分配模块接收所述拨号服务器返回的拨号信息,以及,自所述网关的多个可用端口中确定所述端口段;
36、信息生成模块,所述信息生成模块连接所述端口分配模块,所述信息生成模块依照所述拨号信息和所述端口段生成所述用户终端的接入信息。
37、另一方面,所述上行转发模块包括:
38、上行解析模块,所述上行解析模块接收所述上行数据包并对所述上行数据包进行解析得到来源信息;
39、上行替换模块,所述上行替换模块连接所述上行解析模块,所述上行替换模块依照所述接入信息对所述上行数据包中的所述来源信息进行替换,并依照所述接入信息和所述来源信息的对照关系生成替换信息;
40、上行打包模块,所述上行打包模块连接所述上行替换模块,所述上行打包模块对所述上行数据包重新进行打包并发送,以及,基于所述替换信息对所述nat映射表进行更新。
41、另一方面,所述下行转发模块包括:
42、下行解析模块,所述下行解析模块当接收到所述下行数据包时,对所述下行数据包进行解包以获得目标信息;
43、下行替换模块,所述下行替换模块连接所述下行解析模块,所述下行替换模块依照所述nat表对所述目标信息进行替换,以将所述下行数据包的所述目标信息指向所述用户终端;
44、下行打包模块,所述下行打包模块连接所述下行替换模块,所述下行打包模块对所述下行数据包重新进行打包随后转发至所述用户终端。
45、上述技术方案具有如下优点或有益效果:
46、针对现有技术中的nat接入方法处理速度较慢会占用大量资源的问题,本实施例中,针对nat映射表的更新过程作出了改进,选择了先生成用户终端的接入信息,在后续出现上行数据包的时候再对nat映射表进行更新,从而减少了nat映射表的平均长度,降低了对nat映射表进行读取、维护所需的资源。