https://www.bilibili.com/video/BV1Up411Z7hC?p=8&spm_id_from=pageDriver
如有错误之处请指出,谢谢!
目录
p20-p22
网络应用的传输服务需求
可靠性/数据丢失:某些应用可以容忍一定的数据丢失(如网络电话、视频),某些应用要求100%可靠的数据传输(文件传输、telnet)
带宽:某些应用只有在带宽达到某个最低值才有效(如网络视频),某些应用适应任何带宽(email、文件下载)
时延/延迟 :某些应用只有在时延比较低的情况下有用(网络电话,网络游戏)
安全性:(如网上银行)
Internet传输层服务模型
TCP:
Email、web、ftp
面向连接:客户机/服务器进程间需要建立连接
可靠的传输
流量控制:发送方不会发送速度过快,超过接收方处理能力
拥塞控制:当网络负载过重时能够限制发送方的发送速度
不提供时间/延迟保障
不提供最小带宽保障
UDP:
网络电话
无连接
不可靠的数据传输
不提供:可靠性保障、流量控制、拥塞控制、延迟保障、带宽保障
http://(⬅可省略)主机名/路径名
特定网络应用及协议
HTTP超文本传输协议(HyperText Transfer Protocol)
B/S结构:客户-Browser(请求、接受、展示web对象)、服务器-web server(响应客户的请求、发送对象)
HTTP:1.0,1.1,2.0
使用TCP传输服务
HTTP的两种连接类型
非持久性链接(HTTP1.0)
每个TCP连接最多允许传输一个对象
RTT(round trip time)从客户端发送一个很小的数据包到服务器并返回所经历的时间
响应时间(Response time)
发起建立TCP:1个RTT
发送HTTP请求消息到HTTP响应消息的前几个字节到达:1个RTT
响应消息中所含的文件/对象传输时间
Total=2RTT+文件发送时间
非持久性链接问题:每个对象需要2个RTT、操作系统需要为每个TCP连接开销资源(overhead)、浏览器会打开多个并行的TCP连接,会占用更多资源
持久性链接
每个TCP连接允许传输多个对象
发送响应后,服务器保持TCP连接的打开
后续的HTTP消息可以通过这个链接发送
无流水的持久性连接:客户端只有收到前一个响应后才会发送新的请求,每个引用的对象耗时1个RTT
带有流水机制的持久性连接:客户端遇到一个引用对象就尽快发出请求,理想情况下所有引用只消耗一个RTT