补充
如何解决IPv4地址不足的问题?
使用专用的IPv4地址范围(如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)并通过NAT转换与外部网络通信,能有效节约公网IPv4地址。
根据RFC 1918的定义,以下是保留的私有IPv4地址范围:
-
10.0.0.0 到 10.255.255.255 (10.0.0.0/8)
-
172.16.0.0 到 172.31.255.255 (172.16.0.0/12)
-
192.168.0.0 到 192.168.255.255 (192.168.0.0/16)
一、对等网络通信原理
公有------公有,私有------私有

1.电脑A封装数据
- Sport:10000以上的随机端口(临时借用)
- Dport:80(假设)
- SIP:A(已知)
- DIP:B(局域网:查询或访问)(公网:DNS)
- SMAC:A(固定在网卡的ROM中)
- DMAC:R1-1(网关IP地址)(ARP协议)
注:MAC地址仅限局域网内通信,没有办法跨网段,所以目标MAC是R1-1口,因为A和B不在同一个网段,所以A会选择将数据发送给路由器。
而想要找到路由器,就需要路由器的IP地址,这个IP地址就是我们通常所配置的网关,我们根据网关访问路由器,又通过ARP协议找到R1-1口的MAC地址。
2.流程
- 电脑A发送数据到交换机,交换机查看自身MAC地址表,发现目标MAC对应2接口(未找到目标MAC就泛洪),就从2接口发出,到达路由器R1的1口
- 路由器R1接收到数据,丢弃MAC包,查看IP地址,通过检查自身路由表,发现目标IP需要经过2口,到达路由器R2的1口,所以将数据重新封装MAC包
- 重新封装的MAC包中,SMAC是R1-2口,DMAC是R2-1口,因为两口处于同一个网段,所以路由器R1可以通过ARP请求拿到R2-1口的MAC地址,正常通信
- R2接收到数据后丢弃MAC包,查看自身路由表,发现目标网段经过R2-2口后,将数据重新封装MAC,SMAC是R2-2口的MAC,DMAC是B的MAC(ARP请求)
- R2将重新封装好的数据通过2口传递给交换机S2,S2检查自身MAC地址表,找到2接口对应B的MAC地址后,直接将数据发送给B,B收到消息后应答,原路返回。
3.网关
- 用于让局域网内所有电脑能够跨网段通信
- 网关首先是一个路由器,还是默认路由
非对等通信原理
私有------>公网
拓扑图
电脑A和电脑B------交换机------路由器------公网
1.适不适合对等通信网络?
不适合。因为私有IP可重复,私有网段可以访问公网,但公网找不到私有IP
2.NAT功能(网络地址转换)(PAT)
- NAT是解决IPv4地址不足问题的一项重要技术,通过转换私有IP地址和公网IP地址之间的映射,使得多个设备能够共享一个公网IP地址,实现与互联网的通信
- 基本工作原理:在数据包从内部网络发送到外部网络(如互联网)时,将私有IP地址转换为公网IP地址
路由器中的NAT表
|---------|------|------|------|-------|
| 真SIP | 真DIP | 改SIP | 改DIP | 端口 |
| 1.3(假设) | 百度 | 公网IP | 百度 | 10001 |
| 1.2(假设) | 百度 | 公网IP | 百度 | 10002 |
注:PAT是端口地址转换,相较于其他的NAT类型更加实用,所以这里只了解PAT技术 ,如果内网多台电脑访问同一目标IP,响应数据可通过端口返回对应客户端。
问题
1.NAT网络是单向的吗?
是。因为私有IP可重复,外网无法正确访问内网中固定的某一台主机。
2.NAT网络一定是单向的吗?
不一定。有网络穿透技术。
(1)网络穿透技术(ssh隧道或Windows的端口映射)(VPN)
条件:对外路由拥有以上功能;对外IP地址,必须是公网IP地址
(2)中转服务器,进入NAT网络(QQ远程协助,花生壳,向日葵)
3.NAT网络中的虚拟机,为什么能访问公网?到底是否可以和局域网通信?
可以访问公网,可以和局域网通信。
(1)虚拟机把真实机当成了NAT网关路由器,所以虚拟机对外访问的时候被包装成了真实机的IP,真实机再访问外网又被包装成了路由器上的公网IP,可以互通。
(2)NAT网络允许多次包装,跟局域网通信也是一样,被包装成了真实机的IP。