一、课程目标
建立对计算机网络的整体认知,对计算机网络中的各种概念(网络分层、网络协议、网络应用等)有初步的理解。
二、课程内容
1、网络基础
计算机组成内容:
- 主机
- 路由器
- 网络协议
网络结构:网络的网络
- 区域网
- 城域网
- 广域网
信息交换方式:
- 电路交换
- 分组交换
网络分层
- 物理层
- 链路层
- 网络层
- 运输层
- 应用层
协议:协议的存在依赖于连接。
- 协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作。
2、Web中的网络
HTTP协议
帧
帧的结构
-
前三个字节:载荷长度
-
第四个字节:类型
-
第五个字节:类型对应的Flags
-
第六到第九字节:
第1位:保留位
第2-32位:流ID
-
随后的8192字节:载荷
帧的好处
- 调整响应传输的优先级
- 头部压缩
- Server Push
WebSocket
好处
- 有状态的持久连接
- 服务端可以主动推送消息
- 用WebSocket发送消息延迟比HTTP低
3、网络安全
三要素:
- 机密性:攻击者无法获知通信内容
- 完整性:攻击者对内容进行篡改时能被发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
对称加密与非对称加密:
- 对称加密:加密、解密用同样的密钥
- 非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密
密码散列函数(哈希函数)
- 输入:任意长度的内容
- 输出:固定长度的哈希值
- 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
机密性
- 加密需要加密算法和密钥等信息(统称为秘密信息)
- 网络是明文的,不安全
如何实现机密性
- 已知:网络是明文的
- 如果双方可以通过明文通信商量出秘密信息,那么攻击者也可以
- 所以想要通过明文通信交换秘密信息,通信双方需要先有秘密信息
HTTPS
- 把HTTP的明文换成密文,再验证身份,即HTTPS。
- HTTPS= HTTP + TLS
- TLS=身份验证+验证+加解密
- 身份验证靠 PK
- 服务端身份验证靠PKI,客户端身份验证靠HTTP协议。
小结:
- 网络安全三要素:机密性、完整性和身份验证
- 在没有提前交换秘密信息的前提下,无法在不安全的信道交换秘密信息
- PKI保证了普通用户不需要“面对面”和根证书机构交换根证书
- HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现