forked from HaoZhang95/Python24
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbasic03.py
More file actions
31 lines (27 loc) · 1.96 KB
/
Copy pathbasic03.py
File metadata and controls
31 lines (27 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""
请求网页的流程具体分析
1- 输入jd.com 进行DNS域名解析
2- 在同一网络的话,交换机直接转发给同局域网中的电脑
3- 不在同一网络的话,交换机ARP广播获取网卡路由器的MAC,并将网关的mac添加到数据包的,将这个包发送到网关路由
4- 路由根据ip地址,发送到网络中
5- dns服务器根据域名查询到相应的ip地址,返回给本机
6- 创建和服务器tcp发送网页请求,其中经历了三次握手
"""
"""
交换机是集线器的升级版本,用来发送ARP包来**交换**对方的MAC地址
1- 集线器不具备学习功能,接到数据包就进行大声的念出来进行广播
2- 交换机具备学习功能,内部记忆读取交换过的ip-mac表,如果没有记录过,那么就进行全网广播
3- 交换机是知道对方的ip,来arp获取mac地址的,例如dns解析
4- 获取MAC地址后进行数据包目的地下一站的更新
5- 现在的路由器基本都包含交换机的功能,交换机中的DHCP动态主机配置协议,用来自动分配ip地址
"""
"""
ip地址指的是收件人是谁,mac地址就是指下一站在哪,mac会在变化添加到数据包中
NAT地址转换器,解决的问题是公网私网地址转换,有限的公网ip地址供更多的设备上网,具体原理:
1- 现在的路由器基本上(交换机+路由)的功能,私网中每个设备拥有各自的ip
2- 但是数据包访问外网的时候,会走运营商路由器的一个单独的公网ip,此时用到了NAT转换
3- 不同的设备ip在NAT的作用下转换为例如:125.2.1.1:1122, 125.2.1.1:2233, 125.2.1.1:3344
4- 运营商公网的ip是固定的,用不同的端口号区别私网的机器
5- 黑心运营商,会嵌套多层NAT,公网中有私网,私网中还有私网,导致网速下降
6- 一句话概括就是:使用公网ip的不同端口进行上网
"""