[ 计算机网络概论 | 青训营笔记]

75 阅读4分钟

[ 计算机网络概论 | 青训营笔记]

1.前言

1.1分析方法

  • 自底向上:简单-复杂
  • 自顶向下:复杂-简单

2.构成

ISP路由器:

  • 家庭路由器-个人计算机
  • 企业路由器-企业计算机

3.计网基础

3.1网络组成部分

  • 主机:客户端和服务端-》提供和接收信息
  • 路由器:转发信息
  • 网络协议:提供格式

3.2网络结构

  • 本地网络
  • 三个本地网络节点的网络
  • 本地网络的网络(全国通信网络)
  • 区域网络、城域网和广域网

3.3信息交换方式

  • 电路交换
  • 分组交换

3.4网络分层(5层)

物理层-数据链路层-网络层-运输层(TCP协议头部)-应用层(HTTP协议头部)

3.5网络协议

协议的存在依赖于连接

作用:定义在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作

  • 标头:标头 (header) 是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字串,也即出现header表示服务器要向浏览器传HTML资料
  • 载荷:实际送达的东西

注:TCP头部和载荷分离;HTTP使用明文,便于理解

4.Web中的网络

4.1HTTP连接模型

  • 短连接:采用请求-响应模型,无法多路复用,效率低下
  • 长连接:一个请求太大会导致对头堵塞出现
  • 管道连接流水线:允许客户端同时发出多个请求,但不常用

解决队头堵塞: 同时建立多个HTTP连接模型

HTTP 1.1:无法多路复用

HTTP 2:帧【不太理解】

  • 优点:调整响应传输的优先级;头部压缩;Server Push
  • 缺点:TCP上会出现队头堵塞

HTTP 2:3 RTT启动【固有的延迟】

HTTP客户端-TCP客户端-TCP服务端-TLS客户端-TLS服务端-HTTP客户端

HTTP 3:QUIC

出现的原因:

  • Quick UDP(用户数据报协议) Internet Connection;
  • 现存网络设备对TCP和UDP支持已经僵化;
  • QUIC靠谱;
  • QUIC可以为除HTTP协议以外的应用层协议提供支持

HTTP 3:QUIC-1 RTT

HTTP客户端-QUIC客户端-QUIC服务端-HTTP客户端(index.html)

注:下一次访问时无需二次请求密钥,直接利用上次的新的钥匙加密

如下:

HTTP客户端-QUIC客户端-QUIC服务端(index.html)

4.2CDN和DNS

CDN (内容分发网络) 指的是一组分布在各个地区的服务器 流程:

  1. 域名解析一般由网站自己处理;
  2. 要加速的域名则重定向到CDN厂商的域名解析服务处理;
  3. CDN厂商根据来源确定最近的CDN服务器的IP;
  4. 用户直接访问最近的CDN服务器;

DNS:域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

4.3WebSocket

特点:

  • 有状态的持久连接;
  • 服务端可以主动推送消息;用WebSocket发送消息延迟比HTTP低;
  • 从HTTP协议升级而来

5.网络安全

5.1三要素:

  • 机密性:攻击者无法获知通信内容
  • 完整性:攻击者对内容进行篡改时能被发现;
  • 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信

5.2加密方式

  • 对称加密:加密、解密用同样的密钥
  • 非对称加密:加密、解密使用不同的密钥;公钥加密只能用私钥解密;私钥加密只能用公钥解密

密码散列函数(哈希函数)

  • 输入:任意长度的内容
  • 输出:固定长度的哈希值
  • 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的(省流:不同输入一定有不同的哈希值对应)

PKI:PKI一般指公钥基础设施。 公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。

6.HTTPS

  1. HTTPS=HTTP+TLS
  2. TLS=身份验证+加解密
  3. 身份验证靠PKI

服务端身份验证靠PKI,客户端身份验证靠HTTP协议