1、分析方法
(1)自底向上: 从简单开始,逐渐变复杂; 将模块逐步拼凑成一个系统。
(2)自顶向下: 从复杂开始,逐渐变简单; 从复杂的系统问题入手,拆分为模块问题。
2、网络的组成部分
(1)主机:客户端(是指与服务器相对应,为客户提供本地服务的程序)和服务端(是为客户端服务的,服务的内容诸如向客户端提供资源、保存客户端数据等)。
(2)路由器:是连接两个多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址,然后决定如何传送的网络设备。
(3)交换机:是一种用于电(光)信号转发的网络设备,它可以为接入交换机的任意两个网络节点提供独享电信号通路。
3、网络结构:网络的网络
4、计算机网络分层
(1)物理层:负责将比特流在结点间传输,即负责物理传输。该层的协议既与链路有关也与传输介质有关。
(2)链路层:负责将IP数据报封装成合适在物理网络上传输的帧格式并传输,或将从物理网络接收到的帧解封,取出IP数据报交给网络层。
(3)网络层:负责将数据报独立地从信源发送到信宿,主要解决路由选择、拥塞控制和网络互联等问题。
(4)运输层:负责为信源和信宿提供应用程序进程间的数据传输服务,这一层上主要定义了两个传输协议,传输控制协议及TCP和用户数据报协议UDP。
(5)应用层:支持网络应用,应用协议仅仅是网络应用的一个组成部分,运行在不同主机上的进程则使用应用层协议进行通信。主要的协议有:http、ftp、telnet、smtp、pop3等。
5、信息交换方式
(1)电路交换:电路交换是以电路连接为目的的交换方式。通讯之前要在通信两方之间建立一条被两方独占的物理通道。
(2)分组交换:在通信过程中,通信双方以分组为单位、使用存储-转发机制实现数据交互的通信方式,被称为分组交换。
6、网络协议
协议的存在依赖于连接。 协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作。
7、标头和载荷
在计算机网络中,数据通常按照协议的格式进行封装和传输。一个数据包或帧通常分为两部分:标头(Header)和载荷(Payload)。
(1)标头:是数据包或帧的开头部分,包含了用于处理和传输数据所需的控制信息和地址信息等。
(2)载荷:是数据包或帧的主体部分,包含了实际要传输的数据。
8、Web中的网络
8.1 HTTP
(1)HTTP协议
Internet的基本协议是TCP/IP协议,HTTP是基于TCP/IP的,Web应用使用最主要的协议。HTTP基于请求响应模型,客户端向服务器发送一个请求,服务器则返回一个状态行作为响应。
(2)HTTP连接模型
HTTP连接模型指的是客户端和服务器之间建立和维护HTTP连接的方式。常见的HTTP连接模型包括短连接和长连接。
(3)HTTP演进历史
HTTP1.1: 无法多路复用;
HTTP2: 队头堵塞,但是在TCP上;
HTTP3: QUIC。
8.2 CDN
CDN(content delivery network)是一种用于优化网络资源访问速度和提高用户体验的技术。解决了HTTP协议之外的问题。
8.3 WebSocket
WebSocket从HTTP协议升级而来,在客户端和服务器之间建立持久连接,可以在任何时间点双向通信,而不需要通过HTTP请求和响应来进行。
9、网络安全
(1)三要素
机密性:攻击者无法获知通信内容;
完整性:攻击者对内容进行篡改时能被发现;
身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信。
(2)对称加密和非对称加密
对称加密:加密、解密用同样的密钥;
非对称加密:加密、解密用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密,私钥加密只能用公钥解密。
(3)在没有提前交换秘密信息的前提下,无法在不安全的信道交换秘密信息。
(4)PKI保证了普通用户不需要“面对面”和根证书机构交换根证书。
(5)HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现。