这是我参加「第五届青训营 」笔记创作活动的第1天
计算机网络概论
1 前言&课程介绍
2 蟹堡王帝国
3 计算机网络基础
4 Web 中的网络
5 网络安全
6 后言&想说的话
前言
课程目标和收益
- 建立对计算机网络的整体认知 ,对计算机网络中的各种概念(网络分层 、网络协议 、网络应用等)有初步的理解
- 进而可以在后续的实际工作中能高效解决网络问题
分析方法
-
自底向上
从简单开始 ,逐渐变复杂
将模块逐步拼凑成一个系统
-
自顶向下
从复杂开始 ,逐渐变简单
从复杂的系统问题入手 ,拆分为模块问题
对于这两个分析方法,我认为其根本都是各种模块。
这就要求我们对各个模块都有基本的认识。
蟹堡王帝国
蟹堡王的例子还是很有趣的 , 但对于这一部分我不知从何下笔,
所以我就简单的写点自己的学习感想吧
如图 , 不难发现计算机网络其实和地图是类似的
都要考虑如何设计更方便 , 更快捷 , 更省钱
区别就是地图要求遍各地 , 而计算机网络则可以把地图分为各个模块 , 遍及各模块的核心即可
计算机网络基础
网络组成部分
主机 : 客户端和服务端
路由器
网络协议
网络结构 : 网络的网络
本地网络
本地网络节点的网络
本地网络的网络
区域网络 , 城域网和广域网
电路交换&分组交换
电路交换
分组交换
网络分层
1 物理层 2 数据链路层
3 网络层 4 传输层
5 会话层 6 表示层
7 应用层
网络协议
协议
协议的存在依赖于连接
协议定义了在两个或多个通信实体之间交换的报文格式和顺序 ,以及报文发送和/或接受一条报文或其他事件所采取的动作
标头和载荷
TCP协议格式
Web 中的网络
HTTP 协议
HTTP 连接模型
CDN
CDN解决了HTTP协议之外的问题
WebSocket
WebSocket从HTTP协议升级而来
有状态的持久连接
服务端可以主动推送消息
用VebSocket发送消息延迟比HTTP低
网络安全
三要素
机密性:攻击者无法获知通信内容
完整性:攻击者对内容进行篡改时能被发现
身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
对称加密和非对称加密
对称加密:加密 、解密用同样的密钥
非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密
密码散列函数(哈希函数)
输入:任意长度的内容
输出:固定长度的哈希值
性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
机密性
加密需要加密算法和密钥等信息(统称为秘密信息)
网络是明文的 ,不安全
完整性和身份验证
完整性和身份验证相互关联
例如 : 蟹老板向银行发起了转账请求
身份验证 :这个请求真的是蟹老板发起的
完整性 :目标账户和转账金额没有被篡改
如何实现机密性
已知:网络是明文的
如果双方可以通过明文通信商量出秘密信息 ,那么攻击者也可以
所以想要通过明文通信交换秘密信息 ,通信双方需要先有秘密信息
如何实现完整性
密码散列函数性质 :找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
有明文 m , 密码散列函数 H
计算 H(m)获得哈希值 h
将 m 和 h 组合成新信息 m+h
接收方拆分 m+h ,重新计算 H(m) 得 h',对比 h'和 h
有明文 m , 密码散列函数 H ,以及一个密钥 s
计算 H(m+s) 获得哈希值 h
将 m 和 h 组合成新信息 m+h
接收方拆分 m+h ,重新计算 H(m+s) 得 h',对比 h'和 h
所以想要实现完整性 ,通信双方需要先有秘密信息
如何实现身份验证
签名 :用于鉴别身份和防止伪造
非对称加密性质 :加密 、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密 、私钥加密只能用公钥解密
保证了机密性、完整性和身份验证验证的一串证书称为证书链
根证书是证书链的尽头
分发证书 , 验证证书的基础设施称为 PKI , Public Key , Infrastructure
所以想要实现身份验证 , 通信双方需要先有秘密信息 , 即根证书中的公钥
数字签名
数字签名 : 对明文内容的哈希值使用私钥加密 , 验证者使用公钥验证
数字签名(指纹) = 私钥加密 (密码散列函数 (原文) )
消息 = 原文 + 数字签名
一般用于对公开内容 (如包含公钥的证书) 进行数字签名 , 防止篡改
证书链示例
HTTPS
把 HTTP 的明文换成密文 , 再验证身份 , 即 HTTPS
HTTPS = HTTP + TLS
TLS = 身份验证 + 加解密
身份验证靠 PKI
服务端身份验证靠 PKI , 客户端身份验证靠 HTTP 协议
后言&想说的话
学习的时候 , 我就发现祝老师讲的并不是0基础的 (好多名词都没听过 , 也不知道他们具体的意义)
听课也是要一定的基础的--这是我听课途中最大的感受 !
所以在写这个笔记的时候 , 我就想先把我听懂的写出来
待我补充完这些知识后 , 再来将这个笔记补充一下
最后也是祝大家 : 学业有成 , 职场顺利 , 专业能力越来越强 , 拿到自己满意的 offer !
引用参考
字节前端训练营-计算机网络概论.pptx
2002XiaoYu-计算机网络概论| 青训营笔记