0
点赞
收藏
分享

微信扫一扫

网络系统集成-网络地址转换NAT

zmhc 2022-03-23 阅读 56

动机

  1. 由于ipv4地址耗尽,只需/只能从ISP(互联网服务提供商)申请一个ip地址
  2. 本地网络设备地址变更,无需通告外界网络
  3. 变更isp时,无需修改内部网络设备ip地址
  4. 内部网络设备外界网络不可见,即不可直接寻址(安全)

实现过程

  1. 替换: 利用nat将外出ip数据包的源ip地址源端口号替换为nat ip地址新端口号

  2. 记录:将上述每对替换信息存储到nat转换表中。

  3. 再替换:外部回包时,再利用内网出去时的源ip地址源端口号,替换每个进入内网ip数据报中的目的地址目的端口号
    在这里插入图片描述
    16-bit端口号字段
    可以同时支持60000多并行连接

nat主要争议

  • 路由器应该只处理三层功能
  • 违背端到端通信原则
  • 地址短缺问题应该由ipv6来解决

nat缺点

  1. 一些安全协议不能跨nat设备使用
  2. 需要耗费一定cpu资源进行nat操作,需耗费一定的内存资源存储nat

nat技术类型

  1. 静态nat:将内部本地地址(私有ip)与内部全局本地地址(公有ip进行一对一映射)
  • 优点:因为主要用在内网中存在需要对公网提供的服务器的场景,比如:web服务器、邮件服务器、ftp服务器,这样做对外界屏蔽了内网的细节,所以起到了安全的作用
  • 缺点:每一个内部ip地址需要独占一个宝贵的公网ip,即使该地址没有被使用,也不能被用作其他的地址转换
  1. 动态nat:基于地址池的转换,同样是一对一的映射关系。将公网地址放置在一个地址池中,数据包外出时只要在地址池中取出一个公网地址供该私有地址专用,并形成nat映射表项
    当占用一个公网地址的用户在一定时间内没有数据传输时,该公网地址资源被回收到地址池中,供其他用户使用。这种方式不会对数据报头部中的端口地址进行转换。
  2. 端口地址转换pat:即对数据包的源地址和端口均进行转换,可使得多个内部本地地址同时共享一个公网地址,通过ip+端口号的方式来识别不同的源,也是一种多对一的映射。
    对于只申请到少量ip地址甚至只有一个合法的ip地址却经常有很多用户同时要求上网的情况,这种方式是最有效。也是真正意义上缓解ipv4地址紧缺的问题。

nat穿透问题的3种解决方案

用户希望连接内网10.0.0.1
在这里插入图片描述

解决方案

  1. 静态配置nat,将特定端口的连接请求通过地址转换再转发给服务器

  2. 通过UPnp(互联网网关设备协议)
    在这里插入图片描述

  3. 双方之间建立中继,双方都与该中继器建立连接

在这里插入图片描述

举报

相关推荐

0 条评论