首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在VxWorks下实现NAT/NAPT的方法 03

在VxWorks下实现NAT/NAPT的方法 03

当截获到1个由外到内的IP包时,NAT就以IP包的目的IP和目的Port作为NAT IP和NAT Port的匹配条件,在映射表中进行搜索。如果找到1个对应的表项,就用表项的Real Src IP和Real Src Port来替换IP包的目的IP和目的Port,而保持IP包的源IP和源Port不变。然后,重新计算TCP或UDP的校验和,就可把IP包归还给VxWorks网络协议栈。

    如果在映射表中没有搜索到对应的表项,则对IP包不作任何处理,直接归还给VxWorks网络协议栈。

(3)NAT映射表的配置

作为NAT完成IP包中IP和Port转换的依据,NAT映射表的管理关系到NAT的功能和性能。NAT映射表的配置可以分为2部分:静态配置部分和动态配置部分。

静态配置部分主要用于NAT IP、NAT Port和私有IP、私有Port的映射关系可以预见的应用,例如UDP通信和TCP Server运行在私网中某个主机等情况。NAT映射表静态配置部分可以在NAT运行前根据规划直接完成配置。

动态配置部分主要用于NAT IP、NAT Port和私有IP、私有Port的映射关系不可预见的应用,例如在私有网中某个主机上运行TCP Client来与公共网中某个主机上的TCP Server建立连接进行通信。因这种情况下,私有网主机使用的Port是动态分配的。为了实现需要NAT IP、NAT Port和私有IP、私有Port的转换,必须动态配置NAT映射表。相对于静态配置部分而言,动态配置部分的数据结构、数据组织和搜索算法的设计和实现的难度要大得多,关键是要实现一个高效的搜索算法。
返回列表