一、学习目标和方法
1.学习目标
通过蟹堡王帝国的示例建立对计算机网络的整体认知,对各种概念有如网络协议分层、对HTTP1、2、3的分析,以及CDN运行的基本原理和相关网络安全的基本原则有初步的理解。
2.学习方法
- 自底向上: 从简单开始,逐渐变复杂,将模块逐步拼凑成一个系统
- 自顶向下: 从复杂开始、逐步变简单,从复杂的系统问题入手。拆分为模块问题
二、学习知识点
1.网络基础
-
网络组成部分: 由主机(客户端和服务端)、路由器、交换机等组成
-
网络结构: 网络的网络 | 以蟹堡王帝国为例 | | | --- | --- | | 比奇堡和小区网络 | 本地网络 | | 北京和上海分店+比奇堡 | 三个本地网络节点的网络 | | 全国通信网络 | 本地网络的网络 | |区域网络、地域网和广域网 |
-
信息交换方式: 电路交换和分组交换
-
网络分层: 分清职责,物理层、链路层、网络层、运输层和应用层
-
网络协议: 标头和载荷 | | | --- | | 协议的存在依赖于连接。 | | 协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其它事件所采取的动作。 |
2.Web中的网络
- Http 1 2 3的演进历史
Http连接模型 | 队头阻塞 |
---|---|
HTTP 1.1 | 无法多路复用 |
HTTP 2 | 帧带来益处:调整响应传输的优先级、头部压缩、Server Push |
HTTP 3 | QUIC |
- CDN解决了Http协议之外的问题
- WebSocket从HTTP协议升级而来
3.网络安全
- 网络安全三要素:机密性、完整性 和 身份认证
机密性 | 攻击者无法获知通信内容 |
完整性 | 攻击者对内容进行篡改时能被发现 |
身份验证 | 攻击者无法伪装成通信双方的任意一方与另一方通信 |
- 如何实现机密性? 已知网络是明文的,所以想要通过明文通信交换秘密信息,通信双方需要先有秘密信息。不然在没有提前交换秘密信息的前提下,无法在不安全的信道交换秘密信息。
- 如何实现完整性? 运用密码散列函数性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的。
- 如何实现身份验证? 运用数字签名:对明文内容的哈希值使用私钥加密,验证者使用公钥验证。所以想要通实现身份验证,通信双方需要有根证书中的公钥。
- PKI保证了普通用户不需要“面对面”和根证书机构交换根证书
- HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现
三、学习总结
在本次学习过程中,通过举比奇堡为例,以他扩展销售范围范比计算机网络结构,从本地网络引申到城域网广域网等,以及相互之间的通讯联络引申到本地网络之间的网络和信息转发等知识点,巩固了对计算机网络结构的学习认知。此外对计算机网络中基础概念和相关协议也有了一定理解。最后也对网络中安全进行了基本学习,了解其主要要素以及如何实现等。