一.MTU协议
MTU相当于发快递时对包裹尺寸的限制. 这个限制是不同的数据链路对应的物理层, 产生的限制.
以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位;最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU;
如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片
不同的数据链路层标准的MTU是不同的;
二.IP协议
1.协议头格式
简单了解:
4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4.
8位服务类型(Type Of Service): 3位优先权字段(已经弃用), 4位TOS字段, 和1位保留字段(必须置为0). 4位 TOS分别表示: 最小延时, 最大吞吐量, 最高可靠性, 最小成本. 这四者相互冲突, 只能选择一个. 对于ssh/telnet这样的应用程序, 最小延时比较重要; 对于ftp这样的程序, 最大吞吐量比较重要(应用层协议需要不同安全/效率需求,此时可以设置服务类型来满足)
下面三个字段都与数据链路层MTU相关:
三.HTTP VS HTTPS
1.HTTP
参照 HTTP
2.HTTPS
HTTP是明文传输的,不安全
HTTPS是基于HTTP+SSL/TSL来实现的,发送的数据需要加密,接收到的数据需要解密,比HTTP安全,但是传输效率比HTTP低
<1>.前置知识:为什么需要HTTPS
如上图:HTTP是不安全的,在传输的过程中,当客户端发送数据时,可能被钓鱼网站“欺骗”,将钓鱼网站当作服务端,或者直接被钓鱼网站窃取到数据,然后更改,造成不安全的影响
此时需要解决:
a:如何保证服务器是真实的,不是钓鱼网站?
b:解决网络数据传输,使用明文,所有路途中的设备,如果获取到,存在信息泄露
所以,就要使用到证书来解决安全问题
a:权威的证书机构颁发的证书(安装浏览器时,初始化就内置权威证书)(解决上述a问题)
b:https服务器证书(解决上述b问题)
私钥,公钥,密钥:
密钥:客户端,服务端用来加解密
堆成加密:使用同一个钥匙,来加解密
公钥的生成(SSL握手阶段): 见SLL握手
https中涉及的细节:
1.使用公钥和私钥来生成密钥(这里是非对称加密生成密钥)
2.密钥加解密真正的数据(这里进行的对称加密,效率比非对称加密高)
如何获取并验证服务器证书:
具体流程:流程
1.用密钥进行加解密:
<1>.客户端向服务端索要并验证公钥
<2>.双放协商生成"对话密钥"
<3>.双方采用“对话密钥”进行加解密通信
2.HTTPS握手阶段(根据公钥私钥生成对话密钥)(以上1,2步需要保证对话密钥不被钓鱼)
3.发送数据的阶段:
客户端使用对话密钥加解密真正的数据
服务端使用对话密钥加解密真正的数据
注意:此部分被钓鱼也没有关系(对话密钥无法解密)