[ 计算机网络概论 | 青训营笔记]
1.前言
1.1分析方法
- 自底向上:简单-复杂
- 自顶向下:复杂-简单
2.构成
ISP路由器:
- 家庭路由器-个人计算机
- 企业路由器-企业计算机
3.计网基础
3.1网络组成部分
- 主机:客户端和服务端-》提供和接收信息
- 路由器:转发信息
- 网络协议:提供格式
3.2网络结构
- 本地网络
- 三个本地网络节点的网络
- 本地网络的网络(全国通信网络)
- 区域网络、城域网和广域网
3.3信息交换方式
- 电路交换
- 分组交换
3.4网络分层(5层)
物理层-数据链路层-网络层-运输层(TCP协议头部)-应用层(HTTP协议头部)
3.5网络协议
协议的存在依赖于连接
作用:定义在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作
- 标头:标头 (header) 是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字串,也即出现header表示服务器要向浏览器传HTML资料
- 载荷:实际送达的东西
注:TCP头部和载荷分离;HTTP使用明文,便于理解
4.Web中的网络
4.1HTTP连接模型
- 短连接:采用请求-响应模型,无法多路复用,效率低下
- 长连接:一个请求太大会导致对头堵塞出现
- 管道连接流水线:允许客户端同时发出多个请求,但不常用
解决队头堵塞: 同时建立多个HTTP连接模型
HTTP 1.1:无法多路复用
HTTP 2:帧【不太理解】
- 优点:调整响应传输的优先级;头部压缩;Server Push
- 缺点:TCP上会出现队头堵塞
HTTP 2:3 RTT启动【固有的延迟】
HTTP客户端-TCP客户端-TCP服务端-TLS客户端-TLS服务端-HTTP客户端
HTTP 3:QUIC
出现的原因:
- Quick UDP(用户数据报协议) Internet Connection;
- 现存网络设备对TCP和UDP支持已经僵化;
- QUIC靠谱;
- QUIC可以为除HTTP协议以外的应用层协议提供支持
HTTP 3:QUIC-1 RTT
HTTP客户端-QUIC客户端-QUIC服务端-HTTP客户端(index.html)
注:下一次访问时无需二次请求密钥,直接利用上次的新的钥匙加密
如下:
HTTP客户端-QUIC客户端-QUIC服务端(index.html)
4.2CDN和DNS
CDN (内容分发网络) 指的是一组分布在各个地区的服务器 流程:
- 域名解析一般由网站自己处理;
- 要加速的域名则重定向到CDN厂商的域名解析服务处理;
- CDN厂商根据来源确定最近的CDN服务器的IP;
- 用户直接访问最近的CDN服务器;
DNS:域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
4.3WebSocket
特点:
- 有状态的持久连接;
- 服务端可以主动推送消息;用WebSocket发送消息延迟比HTTP低;
- 从HTTP协议升级而来
5.网络安全
5.1三要素:
- 机密性:攻击者无法获知通信内容
- 完整性:攻击者对内容进行篡改时能被发现;
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
5.2加密方式
- 对称加密:加密、解密用同样的密钥
- 非对称加密:加密、解密使用不同的密钥;公钥加密只能用私钥解密;私钥加密只能用公钥解密
密码散列函数(哈希函数)
- 输入:任意长度的内容
- 输出:固定长度的哈希值
- 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的(省流:不同输入一定有不同的哈希值对应)
PKI:PKI一般指公钥基础设施。 公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。
6.HTTPS
- HTTPS=HTTP+TLS
- TLS=身份验证+加解密
- 身份验证靠PKI
服务端身份验证靠PKI,客户端身份验证靠HTTP协议