计算机网络 | 青训营笔记

67 阅读3分钟

01 网络基础

  • 网络组成部分“
    • 主机:客户端和服务端
    • 路由器
    • 网络协议
  • 网络结构:网络的网络
    • 区域网络、城域网、广域网
  • 信息交换方式
    • 电路交换
    • 分组交换(一般使用的方式。不会进行电路连接)
  • 网络分层
    • 物理层、链路层、网络层、运输层、应用层
  • 协议
    • 协议的存在依赖于连接
    • 计算机的数据都是以二进制的形式存在的
    • 协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及保温发送和/或接收一条报文或其他事件所采取的行动。
  • 标头和载荷
    • 近似于快递上信息的收件人和寄件人应该关注的信息
  • HTTP协议示例
    • 链路层 - 本地帧头部(前第四个字节)
    • 链路层 - IP协议头部(第五个字节到第四十四个字节),包括ip协议的版本,目标地址,源地址
    • 运输层 - TCP协议(20个字节)序列号、架构信息等
    • 应用层 - HTTP协议头部
  • TCP协议格式
    • 0-1 源端口号
    • 2-4 目标端口号
    • 5-8 序列号

02 Web中的网络

  • HTTP协议
    • 请求 + 响应
    • 请求:请求方式、版本、头部
    • 响应:HTTP版本、状态信息、头部
  • HTTP连接模型
    • 典型的请求、响应模型,利用率不高,无法在同一条件下进行复用
    • HTTP1.0:每次请求要重新建立
    • Persistent connection:连接重用,数据大时,造成资源浪费
    • HTTP Pipelining::服务端按顺序进行响应,存在潜在的安全问题,成本大
    • HTTP1.1:无法多路复用
    • HTTP2:拆分帧,流数据的传递方式,可以标识每个数据包属性哪个,解决多路复用问题,存在队头堵塞
    • HTTP3:QUIC(Quick UDP Internet connection)可以除HTTP协议以外的应用层协议提供支持
    • WebSocket:有状态的持久连接、服务端可以主动推送消息、用WebSocket发送消息延迟

03 网络安全

  • 网络安全三要素
    • 机密性:加密需要加密算法和密钥等信息(秘密信息)
      • 通过明文通信交换秘密信息,通信双方需要先有秘密信息
    • 完整性:完整性和身份验证相互关联
      • 使用密码散列函数来实现,通信双方需要有秘密信息
    • 身份验证
      • 使用签名,签名用于鉴别身份和防止伪造,同时通信双发需要先有秘密信息,即根证书中的公钥
      • 数字签名(指纹) = 私钥加密
      • 消息 = 原文 + 数字签名
      • 一般用于对公开内容进行数字签名,防止篡改
  • 网络安全
    • 对称加密
    • 非对称加密
      • 性值:使用不同的密钥
  • 密码散列函数(哈希函数)
    • 输入:任意长度的内容
    • 输出:固定长度的哈希值
    • 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可呢的
  • 网络安全:HTTPS
    • HTTPS = HTTP + TLS
    • TLS = 身份验证 + 加解密
    • HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端的身份验证使用HTTP协议实现