寄网速通新增真实案例分析模块

This commit is contained in:
BaiMeow
2023-08-01 21:49:46 +08:00
parent 300c2968c0
commit 80b0e02042

View File

@@ -277,6 +277,67 @@ TLS 建立在 TCP 的基础上,他会通过加密来确保传输过程中数
| RDP | 3389 | 默认UDP |
| Redis | 6379 | TCP |
## 公网与内网 --- 真实环境分析
基本的内容介绍的差不多了,下面分析一个简单的网络案例,顺带介绍公网和内网的概念。
相信在看这篇文章的大家都正在使用互联网如果你正在使用windows设备你可以先按 `win`+`R` ,输入 `cmd`,在弹出的窗口输入 `ipconfig` 你可以看到里面有一串类似于下文的内容:
```
无线局域网适配器 WLAN:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::4835:c258:e07d:acc3%24
IPv4 地址 . . . . . . . . . . . . : 192.168.0.109
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.0.1
```
IPv4 地址一栏有一个形似 `192.168.XXX.XXX`的地址,这是一个典型的内网地址,类似的还有很多,比如说
- 192.168.0.0 - 192.168.255.255
- 10.0.0.0 - 10.255.255.255
- 172.16.0.0 - 172.31.255.255
看到以上任意一个都是非常合情合理的,虽然还有其他内网地址,但是那些都比较冷门,可能一辈子碰不到,不用记忆。
因此,除了上面列出的 IP 地址,请将他们一律视为公网地址,公网地址是独一无二的,绝对的,内网地址在不同的子网里可以重复使用,是相对的。
此外下面还有子网掩码和默认网关,掩码会在后续的内容中介绍,现在知道你只需要知道:
- 上面显示的 `IPv4 地址` 是你这台设备的 IP 地址
- 家庭和寝室网络子网掩码默认 `255.255.255.0`
- 默认网关是路由器在内网的 IP你的设备需要路由器的帮助将数据包从内网转发到公网
此刻你可能会有一个疑问作为一台联网的计算机设备我可以把数据发送到公网的服务器上因为我知道他的公网IP而且这是独一无二的只要我联网互联网上的路由设备会尽力帮我把数据送到地方。
### 但是,返回的数据该怎么办?
显然,对面不可能把数据包发给一个内网地址,他只有发给一个公网地址,互联网上的路由设备才知道他要去哪,才能帮他将数据送到地方。
问题的答案很简单,我们的路由器,他通过 PPPoE 拨号的方式向运营商拿到了一个公网IP。他在把数据包转发到互联网上前做了一个网络地址转换的操作把数据包的源地址替换成了他的公网IP再找了一个随机端口号在那里将修改后的数据发送到公网**这个转换的操作会被路由器记录**。
这样公网上的服务器在收到数据包后也能知道这个包来自于哪个公网IP的哪个端口回复的时候就知道发到什么地方了。
路由器拿到公网上的服务器回复的数据包后,可以根据做网络地址转换时的记录,逆向推导出他应该将包发送到内网的哪台机器的哪个端口,就完成了数据的收发。
绝大多数的家庭或者寝室网络都遵循着这个规则。
### 那为什么要这么做呢?
对于一般家庭网络,有两个简单的理由
- 安全,只有你主动连接才能拿到回复,互联网上的设备无法主动访问你的设备
- IPv4 不够用啦
### 其他特殊IP地址
- 127.0.0.1 本机,用于自己的设备给自己的设备另一个端口发送数据
- 169.254.x.x 保留地址,向路由器获取内网地址前会临时使用这个地址,如果你发现你的电脑正在使用这个地址,路由器可能坏了
- 198.18.x.x 保留地址但是有些软件会使用这个地址来实现透明代理tun
好,我们的计网速通章节,到此结束,这些计算机网络知识应该足够你做简单的 Web 开发了
## 参考资料
- HTTP 教程 <https://www.runoob.com/http/http-tutorial.html>