Day1
计网概论
part1 前言
目标:对计网的整体认识
-
建立对网络协议分层的认知 -
分析Http1 2 3的关系 -
分析CDN运行的基本原理 -
了解网安的最基本原则
part2 计网基础
网络组成部分
- 主机:客户端和服务端
- 路由器
- 网络协议
网络结构
-
网络边缘 -
接入网络 -
网络核心 -
电路交换 一条线路 占线 利用率低
-
分组交换 延时,利用率高
网络分层
物理层:负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层. 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层. 网络层:负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层. 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机. 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层.
协议
**- IP协议: 定位网络中某一台主机。在网络层包装IP地址。
- HTTP协议: 网络通信协议(坟本传输协议)
- FTP协议: 文件上传协议
- SMTP协议: 发送邮件协议
- DNS协议: 域名解析协议
- Telnet协议: 网络远程访问协议
- ARP协议: 建立IP地址与MAC地址的映射。
- TCP/UDP协议: 传输控制协议
标头 标头是数据包或帧的开头部分
载荷 载荷是数据包或帧的主体部分
Http协议
TCP协议
PART3 WEB里的应用
HTTP1特点:
- 每次请求都必须新建一次连接,必须通过TCP的三次握手才能开始传输数据,连接结束之后还要经历四次挥手。
- 不跟踪每个浏览器的历史请求
HTTP2特点: 特性:
- 二进制传输:将请求和响应数据分为更小的帧,并且采用二进制编码
- Header压缩:采用HPACK算法压缩头部,同时同一个域名下的两个请求,只会发送差异数据,减少冗余的数据传输,降低开销
- 多路复用:同一个域名下所有通信都是单个连接上完成,单个连接可以承载任意数量的双向数据流,数据流以消息形式发送,而消息由一个或多个帧组成,可以乱序发送
- 服务端推送:服务端可以新建“流”主动向客户端发送消息,提前推送客户端需要的静态资源,减少等待延迟
- 提高安全性:HTTP2也是明文的,只不过格式是二进制的,但HTTP2都是https协议的,跑在TSL上面。
HTTP3特点:
HTTP3甩掉TCP、TSL的包袱,构建高效网络QUIC协议。 HTTP3选择了UDP协议,基于UDP实现了类似TCP的多路数据流、传输可靠性等功能,将这套功能称为QUIC协议。 特性:
- 基于UDP协议改造,实现了快速握手
- 集成了TLS的加密功能
- 多路复用,彻底解决了头阻塞问题(一个物理连接上可以有多个独立的逻辑数据流,实现了数据流的单独传输)
- 实现了类似TCP的流量控制、传输可靠性的功能
CDN
特性:
- 基于UDP协议改造,实现了快速握手
- 集成了TLS的加密功能
- 多路复用,彻底解决了头阻塞问题(一个物理连接上可以有多个独立的逻辑数据流,实现了数据流的单独传输)
- 实现了类似TCP的流量控制、传输可靠性的功能
WEBSOCKET
- WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)
- 它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的
- Websocket是一个持久化的协议
网络安全
无论是HTTP还是UDP等等协议都是明文的,一条消息从一台电脑到另一台电脑中所经过的流程都可以看到消息的所有内容,甚至可以丢弃和篡改。明文会导致很多操作无法进行,比如银行 转账
网络安全:三要素
- 机密性:攻击者无法获知通信内容
- 完整性:攻击者对内容进行篡改时能被发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
网络安全:对称加密和非对称加密
- 对称加密:加密、解密用同样的密钥
对称加密算法是指使用同一个密钥进行加密和解密。发送方使用密钥将明文加密成密文,并将密文发送给接收方,接收方使用相同的密钥将密文解密成明文。对称加密算法具有加密和解密速度快、效率高的特点,但是密钥的安全性是关键问题,如果密钥泄露,则所有加密数据都会被破解。
常见的对称加密算法包括 DES、3DES、AES 等。其中,AES(Advanced Encryption Standard)是目前应用最广泛的对称加密算法之一,支持多种密钥长度和加密模式,具有高效、安全等优点。
- 非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密
非对称加密算法是指使用不同的密钥进行加密和解密。发送方使用公钥将明文加密成密文,并将密文发送给接收方,接收方使用私钥将密文解密成明文。因为公钥和私钥是不同的,所以非对称加密算法也称为公钥加密算法。公钥可以公开传播,而私钥只有接收方知道,这样可以保证密钥的安全性。
常见的非对称加密算法包括 RSA、DSA、ECC 等。其中,RSA 是应用最广泛的非对称加密算法之一,支持加密和数字签名等功能,具有高效、安全等优点。
网络安全:密码散列函数(哈希函数)
- 输入:任意长度的内容
- 输出:固定长度的哈希值
- 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
网络安全:机密性
- 加密需要加密算法和密钥等信息(统称为秘密信息)
- 网络是明文的,不安全
怎么在不安全的信道交换秘密信息?