⏰ 课程时间:4月13日 10:00 - 23:59:59 📚 观看链接:juejin.cn/course/byte… 🎶 课程 PPT:字节前端训练营 - 计算机网络概论.pptx
01前言学习目标
计算机网络整体认知 概念:网络分层、网络协议、网络应用等 HTTP1、2、3关系 CDN运行基本原理、网络安全基本原则
分析方法
自底向上 模块→系统 自顶向下 复杂系统→拆分模块
02蟹宝王帝国(自底向上)
小目标;三步走战略:外卖,试点分店,全国分店;【外卖服务系统】
- 电话→传真机表格
- 分店:资金数据,销售数据→通信路线→新的分店→通信判断
- 中转通信路线,构建通信网络
分店:客户端 总店:服务器端 表单:通信协议
03计算机网络基础
网络组成部分
主机:客户端和服务端 路由器 网络协议:统一格式
网络结构
网络的网络:区域网络、城域网络、广域网络
信息交换方式:
电路交换&分组交换;打电话和发短信的区别
网络分层
- 快递员不关心包裹内容
- 卡车司机不关心车厢里拉的是什么
- 高速公路不关心开的什么车
物理层、链路层、网络层、运输层、应用层
网络协议
协议的存在依赖于连接,定义了两个或多个通信实体之间交换的报文格式和顺序,以及动作
表头和载荷
04Web中的网络
Web应用:HTTP协议
队头堵塞
HTTP3:QUIC
Quick UDP Internet Connection 现存网络设备对TCP和UDP支持已经僵化 UDP不靠谱但是OUIC 靠谱 OUIC可以为除HTTP 协议以外的应用层协议提供支持
05网络安全
对称加密和非对称加密
对称加密:加密、解密用同样的密钥 非对称加密:加密、解密使用不同的密钥 (公和私),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密
密码散列函数(哈希函数)
输入:任意长度的内容 输出:固定长度的哈希值 性质: 找到两个不同的输入使之经过密码散列函数后有相同的哈希值在计算上是不可能的
机密性
加密需要加密算法和密钥等信息(统称为秘密信息)网络是明文的,不安全
完整性和身份验证
完整性和身份验证相互关联。 蟹老板向银行发起了转账请求,银行需要确认这个请求真的是蟹老板发起的目标账户和转账金额没有被篡改
如何实现机密性
已知:网络是明文的 如果双方可以通过明文通信商量出秘密信息,那么攻击者也可以所以想要通过明文通信交换秘密信息,通信双方需要先有秘密信息
如何实现完整性
密码散列函数性质: 找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的 有明文m,密码散列函数H 计算 H(m+s)获得哈希值h 将m和h 组合成新信息m +h 接收方拆分m +h,重新计算 H(m)得h’,对比h’和h 双方需要现有秘密信息
如何实现身份验证
签名:用于鉴别身份和防止伪造
非对称加密性质:加密、解密使用不同的密钥(公和私钥),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密 蟹老板用自己的私钥对信件进行加密,并发送给海绵宝宝海绵宝宝使用蟹老板的公钥进行解密,获得原文保证了机密性、完整性和身份验证
数字签名:对明文内容的哈希值使用私钥加密,验证者使用公钥验证
数字签名(指纹) =私加密(密码散列函数(原文) )消息 =原文 +数字签名 一般用于对公开内容(如包含公钥的证书) 进行数字签名,防止篡改
根证书是证书链的尽头
验证的一连串证书称为证书链 分发证书、验证证书的基础设施称为 PKI,Public Key Infrastructure 所以想要实现身份验证,通信双方需要先有秘密信息,即根证书中的公钥
网络安全三要素
机密性、完整性和身份验证 在没有提前交换秘密信息的前提下,无法在不安全的信道交换秘密信息 PKI保证了普通用户不需要“面对面”和根证书机构交换根证书 HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现