CN-NAT

Molaters Lv5
[[计算机网络]]

网络地址转换(NAT)

网络地址转换

image.png

本地网络内通信的IP数据包的源和目的IP地址均在子网10.0.0/24内

所有离开本地网络去往Internet的数据报的源IP地址需要替换成相同的NATIP地址:138.76.29.7以及不同的端口号。

网络地址转换NAT

动机

只能/需要从ISP中申请一个IP地址,IPv4地址耗尽。

本地网络设备IP地址的变更,无需通告外界网络。

无论怎么变对外界来说都是一样的。

变更ISP的时候,无需修改内部网络设备IP地址

内部网络设备对外界网络不可见,也就是不可直接寻址(安全)

实现

替换

利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IPD地址,源端口号)

记录

将每对(NAT IP地址,新端口号)和(源IP地址,源端口号)的替换信息存储到NAT转换表中

替换

根据NAT转换表,利用(源IP地址,源端口号)替换每个进入内网IP数据报的(目的IP地址,目的端口号),也就是(NAT IP地址,新端口号)

16-bit端口号字段:65536 可以同时支持60,000多个并行连接

NAT的主要争议

  • 路由器应该只处理第三层功能

  • 违背端到端的通信原则

    • 应用开发者必须考虑到NAT的存在,e.g P2P应用
  • 地址短缺问题应该由IPv6来解决

NAT穿透问题

穿透问题:

image-20231016215448627 10.0.0.1的服务器
  • 客户并不能直接利用地址10.0.0.1直接访问服务器

  • 对外唯一课件的地址是NAT地址138.76.29.7

解决方案1: 静态配置NAT,将特定端口的连接请求转发给服务器

e.g.,(138.76.29.7,2500)总是转发给(10.0.0.1,25000)

解决方案2:利用UPnP互联网网关设备协议(IGD-Internet Gateway Device)

  • 学习到NAT公共IP地址(138.76.29.7)

  • 到NAT转发表中,增删端口映射

解决方案3:中继(e.g. Skype)

  • NAT内部的客户和中继服务器建立连接

  • 外部的客户也和中继服务器建立连接

  • 中继服务器桥接两个连接的分组

  1. connection to relay initiated byu NATed host
  2. connection to relay initiated by client
  3. relaying established
image.png
  • 标题: CN-NAT
  • 作者: Molaters
  • 创建于 : 2023-11-24 10:14:50
  • 更新于 : 2023-10-16 22:03:23
  • 链接: https://molaters.github.io/2023/11/24/计算机网络/CN-NAT/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论