今日总览
✨今日目标:建立对计算机网络的整体认知,对计算机网络中的各种概念有初步的理解,进而在后续的工作中能高效解决网络问题。
✨学习内容:
-
通过蟹堡王了解计算机网络的运行机制,建立对计算机网络的整体认识
-
建立对网络协议分层的认知
-
分析HTTP1、2、3的关系
-
介绍CDN运行的基本原理
-
了解网络安全的基本原则
✨学习方法 自底向上:由易到难;自顶向下:由繁到间
蟹堡王帝国
蟹老板的目标:想挣一个小目标
三步走战略: 1、在比起报开通外卖2、在北京上海开分店3、在全国开分店并开通外卖。
具体实现:
外卖业务:谁吃? 吃什么? 送到哪? ;
分店:地址、通信线路(成本)——>新的分店,新的通信线路(来自XX 发往XX 内容XX)通信的共同枢纽
由此引出计算机网络中的拓扑图
计算机网络基础
网络组成部分
- 主机:客户端和服务端
- 路由器
- 网络协议
网络结构 :网络的网络
- 比奇堡和小区网络——>本地网络
- 北京上海分店+比奇堡——>三个本地网络节点的网络
- 全国通信网络:本地网络的网络
- 区域网络、城域网和广域网
信息交换方式
电路交换和分组交换 交换指的是就是服务器与服务器之间的数据交换。
电路交换通信可靠,机制简单,单圈电视宽带利用率低、连接数量有限,不管传输多少数据都要建立时延。
分组交换:数据之间可以沿着不同的道路传输,节点会临时性地进行数据包存储,待传输地数据会被分成许多小数据包,数据包的包头会携带地址信息。
分组交换适合用于小数据量,电路交换适合于大数据量。
网络分层
网络层次可划分为五层因特网协议栈和七层因特网协议栈,五层分为应用层、传输层、网络层、数据链路层、物理层。
本节课终于在一下三层:
-
运输层:负责为信源和信宿提供应用程序进程间的数据传输服务,这一层上主要定义了两个传输协议,传输控制协议即TCP和用户数据报协议UDP。
-
应用层:支持网络应用,应用协议仅仅是网络应用的一个组成部分,运行在不同主机上的进程则使用应用层协议进行通信。主要的协议有:http、ftp、telnet、smtp、pop3等。
协议
协议的存在依赖于连接,协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或者其他时间所采取的动作。
下图为helloworld的二进制ASKII格式
标头和载荷
Web中的网络
HTTP
HTTP模型 连接
- HTTP1 短连接和长连接 HTTP管线 HTTP队头堵塞
无法多路复用
请求响应模型
- HTTP2 帧 头部压缩 serverPush
调整响应运输的优先级,将多个请求拆分到帧里面
- HTTP3 :QUIC quick UDPInternet Connection,现有的网络设备对TCP和UDP支持已经僵化,UDP不靠谱但是QUIC靠谱,可以为除HTTP协议以外的应用层协议提供支持 TCP对头堵塞 ORTT连接
CDN
- CND服务器分布
- CND服务器选择
- DBS劫持:域名解析一般由网站自己处理,要加速的域名则重定向到CDN厂商的域名解析服务处理,用户可以直接访问最近的CDN服务器的IP
- CDN服务器内容管理策略 :拉策略 推策略
Websocket
HTTP协议升级,是有效的持久连接,服务端可以主动推送消息,用它可以发送消息延迟比HTTP低 实例 客户端
网络安全
网络安全三要素
- 机密性:攻击者无法获取通信内容
- 完全性 :攻击者对内容进行篡改时能被发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信。
PKI
分发证书、验证证书的基础设施称为PKI,PUblic Key Infrastructure,除了客户端身份验证以外的身份验证靠PKI。客户端身份验证靠HTTP协议实现
HTTPS=HTTP+TLS
TLS=身份验证+加解密
证书链
验证的一连串证书称为证书链,根证书是证书链的尽头。
证书链示例
非对称加密和对称加密
- 对称加密:加密、解密使用同样的密钥
- 非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用于私钥解密,私钥加密只能用于公钥解密
密码散列函数
- 输入:任意长度的内容
- 输出:固定长度的哈希值
- 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可嗯的
- 加密需要机密算法和密钥等信息,秘密信息,网络是明文的不安全的,怎么在不安全的信道交换秘密信息?
答:通信双方需要先有秘密信息。
- 完整性和身份验证互相关联,如何实现完整性?
3.如何实现身份验证?
答:双方需要现有私密信息,即证书中的公钥。 Ⅰ①签名:用于鉴别身份和防止伪造 ②非对称加密性质 ③数字签名,对明文内容的哈希值使用私钥加密,验证者使用公钥验证 ④数字签名(指纹)=私钥加密, 消息=原文+数字签名,一般对公开内容进行数字签名,防止篡改。
后记
因为之前计算机网络没有学好,而且时间有点久远,导致听课比较困难,也比较模糊,以上笔记是对本节课知识的记录整理,课下还会继续查阅相关文章和视频来尽快对这块知识的理解,然后再回来对这篇笔记进行补充修改,如有错误之处还请谅解指出。