今天学习的是计算机网络概论
分析方法
-
自底向上
- 从简单开始,逐渐变复杂
- 将模块逐步拼凑成一个系统
-
自顶向下
- 从复杂开始,逐渐变简单
- 从复杂的系统问题入手,拆分模块问题
网络组成部分
- 主机:客户端(Client)和服务端(Server)
- 路由器
- 网络协议
网络结构
网络的网络
信息交换方式
- 电路交换
- 分组交换
网络分层
- 物理层
- 链路层
- 网络层
- 运输层
- 应用层
协议的存在依赖于连接,协议定义了在两个或者多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作
网络协议
标头和载荷
TCP协议格式
HTTP连接模型
在HTTP1.1当中,无法多路复用
HTTP2:帧
HTTP2当中帧带来的好处:
- 调整响应传输的优先级
- 头部压缩
- Server Push HTTP2:队头阻塞,但是在TCP上
HTTP2:3RTT启动
HTTP3:QUIC
HTTP3:QUIC-1RTT
HTTP3:QUIC-0RTT
CDN的应用
CDN:DNS劫持
- 域名解析一般由网站自己处理
- 要加速的域名则重定向到CDN厂商的域名解析服务处理
- CDN厂商根据来源确定最近的CDN服务器的IP
- 用户直接访问最近的CDN服务器
WebSocket
- 有状态的持续连接
- 服务端可以主动推送消息
- 用WebSocket发送消息延迟比HTTP低
网络安全
网络安全三要素
- 机密性:攻击者无法获取通信内容
- 完整性:攻击者对内容进行篡改时能够被发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
对称加密与非对称加密
- 对称加密:加密、解密用同样的密钥
- 非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密,私钥加密只能用公钥解密