私有ip(介绍,地址范围),私网和公网的关系(访问外部网站的过程,NAT技术)

目录

私有ip

引入

介绍

地址范围

两种网络的关系

图示

访问外部网络

问题

NAT技术

二者关系

过程

数据加密的必要性

国内墙的原理


私有ip

引入

为什么需要私有ip?

  • 本质上是因为ip地址数量不够

所以,需要切换模式 -- 公网+私网=互联网

  • 以运营商路由器为界限,划分出公网和私网
  • 私有IP地址空间专门用于局域网内的通信,不在全球唯一注册,因此不同的局域网可以使用相同的私有IP地址,而不会发生冲突

介绍

虽然ip地址有2^32个,但不是所有的ip地址都在搭建公网,也有部分是用来组织私网的

  • 私有IP地址是在局域网(LAN)内使用的IP地址,不在公共互联网中路由
  • 公又/私有ip的划分是根据RFC 1918标准定义的,用于减少对全球唯一IP地址(也就是公网ip)的需求,并允许组织在不影响全球IP地址空间的情况下创建自己的私有网络

地址范围

其中,RFC 1918规定,用于组建局域网的私有ip满足以下:

它固定了不同长度的前半部分,可以让我们自主选择:

  • 子网覆盖面积大,就选择前缀短的,可标识的主机数量更多
    当我们重新回看ifconfig命令查出来的网络信息,会发现,云服务器上显示的ip地址,其实是华为云/腾讯云的内网ip(172.18.属于172.16~172.31之间):

两种网络的关系

图示

左边属于我们自身接触到的网络,私有网络

右上方是公网

访问外部网络

问题

如果我们想要访问的目的ip(比如baidu等网站)不在当前局域网内

  • 路由器会转发到上一层,直到到达目标主机
  • 到达并处理完数据,准备发回时,目的ip变成了私有ip(原先的源ip,也就是我们设备的ip地址)

但私有ip不能出现在公网中,只能在局域网内部使用,并且不同的局域网中,私有ip可能是一样的

  • 所以报文没法传回来

如何解决?

NAT技术

(NAT, Network Address Translation)

路由器有多个ip地址

  • LAN口ip地址(Local Area Network, LAN),用于内部使用的私有ip,是子网中的一部分,也可以被视为子集的一部分
  • WAN口ip地址(Wide Area Network, WAN) -- 可供外部使用的公有ip,属于更大的广域网 ,连接着多个不同的局域网,作为路由器在互联网或外部网络中的标识。可以理解为路由器的WAN口IP地址是广域网的一部分,也就是所谓的"父集"
二者关系
过程
  • 路由器会使用NAT技术,在数据包从局域网进入广域网时,将[源ip地址和源端口号]替换为[路由器的WAN口IP地址和一个临时的端口号]然后再进行转发
  • 这样,从公网返回时,目的ip就变成了[设备所在局域网中路由器的WAN口地址]
  • 经过一路转发,路由器收到后,会根据动态生成的 NAT表中的映射关系找到原始请求的私有IP地址和端口号,这样就能成功转发到特定设备上了

数据加密的必要性

既然可以修改源ip字段

  • 本质上是在修改ip报头,也就是我们发出去的报文

如果我们数据没有做加密,运营商也可以对我们的数据做修改

  • 这也说明了在应用层做数据加密的必要性

国内墙的原理

原理就是,在运营商那里,会识别每一个请求报文的目的ip

  • 如果是请求外国的网站,就直接丢弃,自然也就没法上外网了
相关推荐
多多*2 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
p***43483 小时前
Rust网络编程模型
开发语言·网络·rust
NewCarRen3 小时前
汽车网络安全管理系统的需求分析及潜在框架设计
网络·汽车网络安全
捷米研发三部3 小时前
CC-Link转Modbus TCP协议转换网关实现三菱 PLC与传感器通讯在快递分拣中心的应用案例
网络·网络协议
嵌入式-小王3 小时前
每天掌握一个网络协议----ARP协议
网络·网络协议·arp
阿珊和她的猫5 小时前
HTTP 状态码 301 和 302 的区别与使用场景
网络·网络协议·http
深度学习04075 小时前
【网络实验】-VLAN工作原理
网络
会飞的土拨鼠呀7 小时前
通过Linux进程id找到程序路径
linux·服务器·网络
GIS数据转换器7 小时前
GIS+大模型助力安全风险精细化管理
大数据·网络·人工智能·安全·无人机
让学习成为一种生活方式7 小时前
植物中验证蛋白相互作用的Pull-down和Co-IP技术--文献精读181
网络·网络协议·tcp/ip