NAT和NAPT的部署原因IPV4是32位地址,最多可容纳在2 32中。 其中还包括广播地址、网络地址等主机无法使用的IP地址。 也就是说40亿以上。 目前,全球电子设备的IP地址已远远超过40亿。 所以IP地址不是不够了吗? 为什么现在的网络还很好呢?
这一切都多亏了NAPT技术。
NAPT在NAPT之前,先谈谈NAT吧。
我知道以前的路由器端口支持网络。 一个路由器端口连接到多台主机,每台主机与路由器端口位于同一网络中,且每台主机的IP地址不同,是世界上唯一的。 这样的话,IPV4地址肯定不够。
假设一个网络有30个IP地址。 传统方法最多只能支持30台主机。
NAPT可以支持30位数的主机,这是如何做到的呢?
NAPT将IP地址分为私有地址和公共地址。
公网地址:公共地址是世界上唯一的。 网址由充实的抽屉统一管理。 使用需要申请的。
路由器端口具有一个包含多个公共地址的公共地址池。 在本例中,即30个公共地址。
私有地址:两个专用地址可以在不同的网络上自由使用。
公共网络中的专用地址可以重复。
是的。 可以将专用地址分配给主机。 这样,就可以将一个专用地址分配给多个主机。
那么,其他主机向这些IP地址重复的主机发送数据时,要发送到哪个主机? 这不是胡说八道吗?
NAPT的全称是网络地址端口转换,即网址的端口转换。
NAPT的高明之处将 多个私有地址共享一个公网地址。
那么,对于同一个公共地址如何区分不同的专用地址呢?
通过端口号,不同的私有地址对应于同一公共地址的不同端口号。
由于公共地址的端口号多,所以可以同时容纳多个专用地址的映射。 一台主机往往占用较少的端口。
路由器保存对应的映射关系
NAPT传输数据流
1、例如在主机a的情况下,发送时的发送源IP地址是私有地址192.168.1.10、发送源端口号是1025。
通过2、路由器进行传输时,将根据NAT转换表中的记录将其替换为相应的公共地址和端口。 如果没有对应的记录,则找到可用的公共网络120.229.175.121和对应的端口号1025,并分别替换为源IP地址和源端口号。
3、替换的包被发送到相应的服务器,服务器返回相应的包。 数据包的目标地址为120.229.175.121,端口号为1025。 经过路由转发,数据包返回NAT路由器。
返回3358www.Sina.com/NAT路由器后,由于路由器打开了NAT,因此将数据包替换为专用地址192.168.1.10及其端口号1025。 然后,它查找与专用地址相对应的MAC地址,并将其转发到相应的主机。
NAT NAT和NAPT的本质是一样的,但NAT只是私有地址对应公共地址,没有节约IP地址的效果,只有隐匿内部IP地址的效果。
NAT ALG ALG是APPLICATION的简称,即APP应用层的意思。
NAT ALG主要解决了APP应用层数据中包含的IP地址问题。
例如,在FTP协议中,FTP协议有两个连接,一个用于控制,一个用于传输实际数据。
FTP客户端首先启动控制连接。 控制数据包包含数据连接的IP地址ip1和端口号port1,FTP服务器将数据发送到IP地址ip1、端口号port1的主机。
这个ip1和port1都是对应的私有地址呢。 另外,在NAT上还没有建立映射呢。 FTP服务区不能向对应的窗口发送数据呢。
因此引入了NAT ALG的结构,NAT ALG会检查数据包。 在FTP等情况下,如果数据包包含专用IP地址信息,请将专用IP地址替换为相应的公共网络IP地址和相应的端口。
NAT穿透以上的NAT存在一些问题,公用网内的主机无法首先向NAT内部的主机发送数据。
因为此时NAT内部的主机还没有进行NAT转换。
NAT透明是为了解决这个问题。
NAT透明需要首先引入中间服务器。
现在,假设主机a和主机b想要通信。
*1、**主机a和主机b首先向中间服务器发送自己映射的公用IP地址和想要通信的主机地址。
4、然后,中间服务器将与a对应的公用IP地址和与a对应的私有IP地址发送到主机b。 主机a也是如此。
经过2、中间服务器的这种干预,主机a和主机b可以交换公共网络IP地址并进行通信。
如果网络上的IP地址不能满足主机的需要,请尝试使用NAPT技术解决此问题。