计算机网络概论学习笔记

109 阅读3分钟

计算机网络概论

  1. 比喻
    • 开通外卖
      • 点到点的电话线路
      • 固定流程(谁吃,吃什么,送到哪)->表格代替->传真发送表格
    • 开分店
      • 各个分店销售数据
      • 赚了多少钱、原料数量、是否需要新分店、促销信息
      • 分店到总店的通信线路
      • 转发表格(销售数据)
      • 重复请求
    • 在全国开分店并开通外卖
      • 小区的转发点
  2. 实际
    • 顾客-客户端
    • 分店-服务端
    • 小区转发点和城市转发分店-路由器
    • 转发表格-网络协议

网络协议分层

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

  1. 物理层
  2. 链路层
  3. 网络层-高速公路-不关心开的什么车
  4. 运输层-卡车-不担心路怎么走和卡车里的内容
  5. 应用层-快递员-
  • 协议 语言

HTTP1 2 3

线路长度 路由选择 方法 路径 http资源版本 版本 状态码 重要信息 请求响应 HTTP 明文展示 请求后-服务端完整响应-第二个请求(网络利用率低) cookie重复发送 无法压缩 增加报文的体积

http1.0 每个请求都要创建新的TCP连接 发完之后销毁 http1.1 keep alive 保持连接一段时间 持久连接模型 队头阻塞-大请求需要处理很长的时间,导致小请求需要等待很久的时间 同时建立多个tcp连接去解决队头堵塞问题 - 但是成本巨大-请求数量超过tcp连接数量依然需要排队 tcp连接不能无限增加-tcp连接增大,每条连接带宽减少-浏览器限制tcp连接数量(6)

无法多路复用

http管线 允许发送多个请求,服务端按顺序进行响应-没有应用-无法解决队头堵塞,潜在的安全问题

http2: 帧 每个数据包都有自己的身份,进而实现多路复用 帧格式 调整响应传输的优先级 头部压缩 ServerPush

http3 :HTTP2不够快 TCP层面会出现队头阻塞 https SSL协议 TLS TCP握手 TLS握手双倍握手延迟 tcp缺少对上层信息的理解,导致http2上队头堵塞 无法对TCP改造进行优化 QUIC Qick UDP Internet Connection 开发新运输层 : 需要非常久的时间才能得以应用 首次连接1RTT 后续连接0RTT

3RTT启动TCP1RTT TLS2RTT

CDN

物理线路的极限 网络节点利用需要消耗金钱 单点故障 崩溃 DNS劫持 (一个域名对应一个IP,一般只有一台服务器使用这个IP)(多台服务器共享一个IP,谷歌) 加速域名-新的DNS地址(CDN管理)-最近的CDN服务器的IP(地理位置、跳数)

拉策略

推策略

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

网络安全

机密性 完整性 身份验证

对称加密 非对称加密 密码散列函数

交换秘密信息 双方需要先有秘密信息

签名 数字签名