计算机网络基础
网络组成部分:
- 主机:客户端 / 服务端
- 路由器
- 网络协议
协议定义了在两个或多个通信实体间交换的报文格式和顺序,以及报文发生、接受或其他事件之后所采取的动作
IP 是网络层的主要协议,负责处理网络寻址和数据包在网络中的传输。IP 使用 32 位(IPv4)或 128 位(IPv6)的地址来唯一标识网络中的每个设备。IP 协议可以在不同类型的网络和设备之间提供互通性。
TCP 是传输层的主要协议,提供了面向连接的、可靠的数据传输服务。TCP 通过握手过程建立连接,使用序列号和确认机制确保数据的可靠传输,以及使用滑动窗口机制实现流量控制。
UDP 也是传输层的一种协议,但与 TCP 不同,它提供的是无连接的、不可靠的数据传输服务。UDP 的优势在于它的传输开销较小,适用于实时性要求较高、允许丢包的应用场景,如实时语音和视频通信。
DNS 是应用层的一种协议,用于将人类可读的域名解析为 IP 地址。DNS 使得用户可以通过域名访问网站和网络服务,而无需记住复杂的 IP 地址。 HTTP 是应用层的一种协议,用于在客户端(如浏览器)和服务器之间传输超文本和其他资源。HTTP 是互联网上最常用的协议,构成了万维网(WWW)的基础。
网络安全
三要素:机密性(攻击者无法获知通信内容)、完整性(攻击者对内容进行篡改时能被发现)、身份验证(攻击者无法伪装成通信双方的任意一方与另一方通信)
对称加密:加密解密用相同密钥
非对称加密:使用不同密钥;公钥加密只能用私钥解密,私钥加密只能用公钥解密
密码散列函数:输入任意长度,输出固定长度的哈希值
关键问题:如何在不安全的信道上交换秘密信息?
完整性与身份验证(数字签名)
数字签名:对明文内容的哈希值使用私钥加密,验证者使用公钥验证
一般用于对公开内容(如包含公钥的证书)进行数字签名,防止篡改
HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现
(把HTTP的明文换成密文,再验证身份,即HTTPS)