网络地址转换协议NAT详解

        NAT(Network Address Translation)协议:在私有地址和全局地址之间转换的协议。

        首先什么是私有地址?私有地址是不能用在Internet上(路由器将丢弃寻址这种地址的包)的内部地址。这些地址是不能够在公网上面用的,只能用在局域网的内部。私有地址有三种:①10.0.0.0~10.255.255.255/8 ②172.16.0.0~172.31.255.255/12 ③192.168.0.0~192.168.255.255/16 这些IP地址是用于私有的网络。与之对应的是全局地址,就是正规的自己电脑的地址,全网络承认。比如说,每个人都有自己的大名,走到哪里都能被承认,这就是自己的全局地址;但是在班级里面的外号,就是私有地址,只有班级里面的人知道,在外面别人都不知道这个外号对应的是谁。

        那么每个人都有一个全局地址不就挺好的了吗?为什么还要麻烦取一个“小名”内部地址呢?这就涉及到IPv4的网络不够用的问题了。IPv4地址随着用户的增多压力不断增大,但是每一个路由器的IP地址下面都有很多的私有地址,外部消息只需要找到这个路由器,这个路由器把消息找到真正目的主机传递给它即可。每一个路由器都可以分配很多私有地址,并且不同路由器的私有地址可以重复,就如同一班的“二狗子”和二班的“二狗子”并不是同一个人一样,通过这种地址转换,能够大大增加地址的容量。

        除此以外,NAT协议还有为了网络安全性的考虑。内部网络有自己安全性的考虑,这样只要保证路由器不转发内部地址的消息,那么这些消息就不会轻易跑到公网上面去,从而保证安全。

        NAT协议的工作过程如下所示:

网络地址转换协议NAT详解_第1张图片

        假设一个私有地址为10.1.0.2的主机想访问互联网服务器162.105.192.12,那么首先它首先把消息发出给NAT路由器。路由器记录了它的内网地址和端口,并且给它分配一个全局地址和全局端口。这个地址关系记录在NAT路由表中。之后按照目的地址发给服务器。一段时间之后,服务器回应了请求给NAT路由器,那么路由器根据目的地址和端口(此时是全局的)按照NAT路由表转换为对应的主机地址,再发送给主机,这样主机就收到了服务器的回应。

        从上面的过程就能看到NAT路由器的作用:针对出境包源地址进行替换;在NAT转换表中记录映射关系;针对入境包目标地址进行替换。NAT的路由表如下所示:

网络地址转换协议NAT详解_第2张图片

你可能感兴趣的:(计算机网络)