计算机网络概述
1. 概述与前言
这里不再赘述
2. 以比奇堡为例来讲解计算机网络
顾客:客户端
蟹堡王分店:服务端
分店表格:互联网协议
3. 计算机网络基础
结构:网络的网络
比奇堡与小区网络:本店网络
分店+比奇堡:三个本地网络节点网络
全国通行网络:本地网络的网络
信息的交互方式为:电路与传真
网络分层:应用层、运输层、网络层、数据链路层、物理层。由于网络相关开发不需要了解后面的两个,所以就讨论前三个。
协议:依赖于连接,而且其定义了数据所需传输的格式和顺序,就像快递不需要关系快递里面的内容是什么。
TCP-IP协议:
前面的2字节为源应用程序使用的端口号**
后面的 2 字节为目标应用程序的端口号
后面的 4 字节为序列号
再 4 字节为 ACK 号
再 4 位为载荷
小结:
网络组成部分:主机、路由器、交换机
网络结构:网络的网络
信息交换方式:电路交换和分组交换
网络分层:分清职责(很重要),物理层、链路层、网络层、运输层、应用层。
网络协议:标头与载荷
4. Web中的网络
HTTP/1.1(版本)/200(状态码)/OK(状态信息,可以自定义)
一般都是先请求再相应,有三种方式
1. 请求再断开连接,太慢了
2. 1.1中的持久连续模型
3. 管线连接,没有多大用,而且还可能引发安全问题。
HTTP 1.1无法复用资源
HTTP 2引入了帧的概念,他可以复用资源,头部压缩,其返回的信息可以分辨,返回的资源有很多分类。
其额外的好处:1.调整优先级
2.头部压缩
3.Server Push
坏处:TCP包掉包了!
3 RTT启动
HTTP 3 QUIC
Quick UDP Internet Connection
现存网络设备对TCP和UDP的支持已僵化
QUIC可以为除HTTP协议以外的协议提供支持
QUIC-1 RTT:访问一次就行,下次就能得到你想要的,加快响应速度。
CDN 被物理因素影响
流量(钱)够吗?
强大吗?
DNS劫持:(域名由网站处理)
遇到要加速的域名,就重新定向到CDN的域名解析服务器处理
CDN会根据距离来确定最近CDN的IP,用户也可以直接访问最近的CDN。
CDN策略(维护一些内容)
1.拉策略:用户决定CDN复制的内容
2.推策略:网站决定CND复制的内容
WebSocket:HTTP的升级!
l 有状态显示、连接
l 服务端可以主动推送消息
小结
HTTP 1 2 3的进化
CDN解决了HTTP协议以外的问题
WebSocket从HTTP进化而来
5网络安全
三要素:机密性、完整性、身份验证,完整性与身份验证互相关联
加密方式有:对称加密与非对称加密
对称加密:加密与解密同样使用
非对称加密:加密解密用不同的密钥(公与私)
公钥只能用私钥解密,私钥只能用公钥解密
密码离散函数(哈希函数)
1. 输入任意长度内容
2. 输出固定长度的哈希值
3. 性质:不可能找到两个不同的输入使之经过密码离散函数后有相同的哈希值
明文:m
计算H(m)获取哈希值h
将m与h组合成新信息m+h
接受方拆封为m+h,重新计算H(m)àh’,对比h’与h
明文:m,一个H(m),以及一个密钥s
计算H(m+s)获取哈希值h
将m与h组合成新信息m+h
接受方拆封为m+h,重新计算H(m+s)àh’,对比h’与h
想实现完整信息,通信双方需要现先有秘密信息(重要)
身份验证:
签名:用于鉴别身份防止伪造
数字签名:不可伪造、密钥加密
消息=原文+数字
对于公开内容进行前面防止篡改
分发证书:验证证书:PKI
HTTPS :
把HTTP的明文转成密文,再验证
HTTPS = HTTP + TLS
TLS = 身份验证 + 解密
服务端用PKI,客户端用HTTP协议
小结:
网络安全:机密性、完整性、身份验证
在没有提前交换密钥的前提下无法在不安全的信道交换加密信息
PKI保证了用户不需要“面对面”和根证书机构交换证书
HTTPS使用PKI完成了除客户端身份以外的特性,客户端身份验证在靠,HTTP协议实现。