美文网首页
如何解决IP地址不够用的问题

如何解决IP地址不够用的问题

作者: CSU_IceLee | 来源:发表于2018-05-19 19:24 被阅读66次

    前言

    为了准备面试,也是看了许多计算机网络的文章,但是有个问题困扰了我很久,那就是如何解决ip地址不够用的问题!如果说一个局域网只有一个公网ip,那么出去的时候还好说,就用那个公网ip出去就好了,但是服务器返回消息的时候怎么办呢?返回的是目的主机的ip是公网的ip,那怎么知道要给哪台局域网的电脑?
    答案其实很简单,就是NAT协议(网络地址转换协议)

    NAT协议

    发送

    当一个局域网的主机发送一个http请求的时候,会进行如下操作:

    1. 在tcp数据报报头里面会加上主机发送的端口地址。
    2. 然后在ip层会加上主机在局域网的ip地址。

    当传输到DHCP服务器的时候,会将报文里面的内容进行替换:

    1. 将tcp报头的端口更改为另外一个(没有被使用的)
    2. 将ip报头的ip地址更改为公网ip

    所以从服务器看来,这个数据就是这个机器发送的,而不会察觉到局域网的存在。

    然后维护一张NAT转化表:
    即局域网ip:端口号 与 公网ip:端口号 的映射表

    服务器响应

    服务器肯定是回复公网ip+端口号,所以通过查询NAT转化表,就可以定位到局域网的主机ip和端口号,也就实现了局域网多个主机访问外网的效果。
    即那个进程发送的数据,服务器响应的时候还是会响应给哪个进程(即ip地址和端口号和发送的时候是一样的)。

    体会

    所以NAT就是通过一个具有公网ip的机器,将局域网机器发送的报文的ip地址和端口号进行更改,达到欺骗服务器的效果。

    参考文章:点我查看

    相关文章

      网友评论

          本文标题:如何解决IP地址不够用的问题

          本文链接:https://www.haomeiwen.com/subject/oaeadftx.html