TCP UDP
1、传输层,对网络层的报文解封装,交给上层使用,对上层的报文添加头交给下层 2、结构上,udp首部8,tcp 20-60字节 3、TCP面向连接,一对一,可靠(流量控制、拥塞控制); UDP 无连接,多播,不可靠
QUIC
由于 TCP 是在操作系统内核和中间件固件中实现的,因此对世界上已存在的 TCP 协议进行重大更改几乎是不可能的,因此基于UDP,谷歌提出了Quick UDP internet COnnection协议
- QUIC 协议可以在 1 到 2 个数据包(取决于连接的服务器是新的还是已知的)内,完成连接的创建(包括 TLS)
QUIC 与现有 TCP + TLS + HTTP/2 方案相比,有以下几点主要特征:
1)利用缓存,显著减少连接建立时间;
2)改善拥塞控制,拥塞控制从内核空间到用户空间;
3)没有 head of line 阻塞的多路复用;
4)前向纠错,减少重传;
5)连接平滑迁移,网络状态的变更不会影响连接断线。
为什么3次握手
1、 防止过期的建立连接请求突然到达服务器,建立连接,浪费资源 2、 tcp是可靠的传输,对消息编号,3次握手能够确认双方发送的序号
四次挥手中的等待2MSL
max segment life 2个报文最大生存时间
原因1、可靠的实现TCP全双工连接的终止,不会因为第四次ACK挥手的丢失而让服务端重发第三次挥手FIN 并收到异常终止信号 2、允许老的重复分节在网络中消失 :2MSL期间不允许以相同的端口建立新的连接,因此第三第四次挥手的信号不会对后面的新TCP连接产生干扰
HTTP 和HTTPS
http:明文传输-窃听;数据完整性-篡改丢失 ; 身份未校验-冒充 1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
最耗时的环节就是 秘钥交换环节
http2:
二进制传输,多路复用、 (http1.x)头部压缩、服务器推送
拥塞控制
慢开始:拥塞超时后或者最开始只发送1个报文段 而后逐渐加倍 拥塞避免:达到threshold的时候停止加倍,发送的报文数每次只加1
快重传:连续3个ack,说明其后某个报文段丢失,直接重传那个报文 快恢复:快重传后直接进入拥塞避免,从当时的一半cwnd开始逐渐加一
可靠传输
RTO超时重传,发送的报文在RTO内没有返回则重传
应用层
ftp
既要处理数据又要处理控制,容易出错 FTP 控制连接 21端口,传输控制信息,用户标示,口令,put,get等命令 数据连接为20端口(当数据连接为主动连接),主动连接时客户端发送port到服务端
dhcp
提供即插即用的联网方式,自动配置ip,子网掩码,网关等信息 1 使用广播以UDP发送discover报文给同一个子网的主机 68-67 2 DHCP服务器收到discover报文后,回复offer报文 3 客户端选择需要的offer报文,然后发送Request报文给DHCP服务器 4 服务器ACK
arp
dns解析过程
- 浏览器检查缓存
- 若1未命中则检查本地host文件,操作系统级别的解析域名
- 请求LDNS,本地DNS服务器,离主机不会太远,缓存有大多数域名的解析结果
- 请求根域名服务器,根域名返回顶级域名的ip,然后主机再请求顶级域名,获取权限服务器的ip,再查询权限域名服务器,权限域名服务器返回要查询的主机的ip地址
|