一、前言&课程介绍
二、蟹堡王帝国
三步走战略
蟹堡王外卖(每个订单需要确定的信息)
分店转发表格(分店之间消息共享)
蟹堡王全国的通信线路图
小结
类比于蟹堡王全国的通信路线图
蟹堡王顾客——客户端
蟹堡王分店——服务端
蟹堡王城市转发分店——路由器
转发表格——网络协议
三、计算机网络基础
网络组成部分
主机:客户端和服务端
路由器
网络协议:格式和顺序
网络结构:网络的网络
- 区域网络:是指位于同一地点或比较封闭的地区内,用于连接局域网内用户计算机和其他设备的网络。它由多台计算机和其他网络通信设备组成,这些设备可以共享信息、软件、设备和网络资源。
- 城域网:是在一个城市范围内所建立的计算机通信网,简称MAN。属宽带局域网。由于采用具有有源交换元件的局域网技术,网中传输时延较小,它的传输媒介主要采用光缆,传输速率在100兆比特/秒以上。
- 广域网:是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网并不等同于互联网。
电路交换&分组交换
电路交换:1对1 (电话交流)
分组交换:1对n (微信交流)
网络分层
物理层 链路层 网络层 运输层 应用层
网络层——高速公路
运输层——卡车
应用层——快递公司
分层的好处
1、各层之间是独立的,每一层向上和向下通过层间接口提供服务,无需暴露内部实现
2、灵活性好。当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下层均不受影响。
3、结构上可分割
4、易于实现和维护
5、能促进标准化工作
OSI七层模型(普遍)
主要的网络分层模型之间的关系
标头和载荷
数据包或帧分为:标头和载荷
标头:快递单
载荷:快递里的东西
HTTP协议示例
报文 = 链路层—本地帧部 + 链路层-IP协议头部 + 运输层-TCP协议头部 + 应用层-HTTP协议头部
TCP协议格式
TCP - 传输控制协议
TCP 用于从应用程序到网络的数据传输控制。
TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们到达的时候将它们重组。
四、Web中的网络
HTTP连接模型
HTTP 的传输协议主要依赖于 TCP 来提供从客户端到服务器端之间的连接。在早期,HTTP 使用一个简单的模型来处理这样的连接。这些连接的生命周期是短暂的:每发起一个请求时都会创建一个新的连接,并在收到应答时立即关闭。
这个简单的模型对性能有先天的限制:打开每一个 TCP 连接都是相当耗费资源的操作。客户端和服务器端之间需要交换好些个消息。当请求发起时,网络延迟和带宽都会对性能造成影响。现代浏览器往往要发起很多次请求(十几个或者更多)才能拿到所需的完整信息,证明了这个早期模型的效率低下。
HTTP1.1:无法多路复用
HTTP2:帧
前三个字节:帧的长度
第四个字节:帧的类型
第五个字节:不同帧不同的含义,帧当前的状态
第六个字节到第九个字节:第1位:保留位;第2-32位:流ID
后面的字节:载荷
帧的好处
- 调整响应传输的优先级
- 头部压缩
- server push
缺点:TCP包的丢失
HTTP2:3 RTT启动
HTTP3:QUIC
QUIC第一次访问,1 RTT
QUIC第二次访问,0 RTT
- RTT表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
CDN(加速网站的访问)
CDN就是采用更多的缓存服务器(CDN边缘节点),分布放在用户访问相对集中的地区或网络中。当用户访问网站时,利用全局负载技术,将用户的访问指向距离最近的缓存服务器上,由缓存服务器响应用户请求。
WebSocket(网络协议)——建立在HTTP的基础上
- 有状态的持久连接
- 服务端课主动推送消息
- 延迟比HTTP低
五、 网络安全
三要素:机密性,完整性,身份验证
其中分发证书、验证证书的基础设施称为PKI。
参考文献: