计算机网络概论 1、前言&课程介绍 2、蟹堡王帝国
3、计算机网络基础
- 主机:客户端合服务端
- 路由器
- 网络协议 网络结构:网络的网络
信息交换方式:电路交换和分组交换 网络分层
协议 协议的存在依赖于连接 协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作。
HTTP协议示例: 链路层 - 本地帧头部 链路层 - IP协议头部 运输层 - TCP协议头部 应用层 - HTTP协议头部
小结
- 网络组成部分:由主机、路由器、交换机等组成
- 网络结构:网络的网络 -信息交换方式:电路交换和分组交换
- 网络分层:分清职责,物理层、链路层、网络层、运输层和应用层
- 网络协议:标头和载荷
4、Web中的网络 HTTP 1.1 :无法多路复用 HTTP 2: 帧 帧带来的额外好处
- 调整响应传输的优先级
- 头部压缩
- Server Push HTTP 2:队头堵塞,但是在TCP上 HTTP 2:3 RTT启动 HTTP 3:QUIC
- Quick UDP Internet Connection
- 现存网络设备对TCP和UDP支持已经僵化
- UDP不靠谱但是QUIC靠谱
- QUIC可以为除HTTP协议以外的应用层协议提供支持
CDN:你无法突破物理极限的 CDN:DNS劫持
- 域名解析一般由网站自己处理
- 要加速的域名则重定向到CDN厂商的域名解析服务处理
- CDN厂商根据来源确定最近的CDN服务器的IP
- 用户直接访问最近的CDN服务器
WebSocket
- 有状态的持久连接
- 服务器可以主动推动消息
- 用WebSocket发送消息延迟比HTTP低
5、网络安全 三要素:
- 机密性:攻击者无法获知通信内容
- 完整性:攻击者对内容进行篡改时能被发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信。
网络安全:对称加密和非对称加密
- 对称加密:加密、解密用同样的密钥
- 非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密。
网络安全:密码散列函数(哈希函数)
- 输入:任意长度的内容
- 输出:固定长度的哈希表
- 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
网络安全:机密性
- 加密需要加密算法和密钥等信息(统称为秘密信息)
- 网络是明文的,不安全
网络安全:完整性和身份验证 完整性和身份验证相互关联
网络安全:如何实现机密性
- 已知:网络是明文的
- 如果双方可以通过铭文通信商量出秘密信息,那么攻击者也可以
- 所以想要通过明文通信交换秘密信息,通信双方需要先有秘密信息
网络安全:如何实现完整性 身份验证:签名 数字签名:对明文内容的哈希值使用私钥加密,验证者使用公钥验证
想要实现身份验证,通信双方需要现有秘密信息,即根证书中的公钥
网络安全:HTTPS 把HTTP的明文换成密文,再验证身份,即HTTPS
HTTPS=HTTP+TLS TLS=身份验证+加解密 身份验证靠PKL
服务端身份验证靠PKL,客户端身份验证靠HTTP协议