【Day1】计算机网络概论|青训营笔记

102 阅读3分钟

1. 计算机网络基础

  • 网络组成部分

    • 主机:客户端和服务端

      提供信息和接受信息
    • 路由器

      转发主机之间的信息
    • 网络协议

      提供统一的格式,方便主机和路由器进行编码和解码
  • 网络结构:网络的网络

    • 区域网络

    • 城域网

    • 广域网

  • 信息交换方式

    • 电路交换

    • 分组交换

  • 网络分层

    • 物理层

    • 链路层

    • 网络层

    • 运输层

    • 应用层

  • 协议

    • 协议的存在依赖于连接。

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

    • 标头和载荷

2. Web中的网络

  • HTTP连接模型

    image.png
  • HTTP1.1:无法多路复用

  • HTTP2:帧

    image.png
    image.png
    • 帧带来得好处

      • 调整响应传输的优先级
      • 头部压缩
      • Server Push
    • 3RTT启动

  • HTTP3:QUIC

    • Quick UDP Internet Connection

    • 现存网络设备对TCP和UDP支持已经僵化

    • UDP不靠谱但是QUIC靠谱

    • QUIC可以为除HTTP协议以外的应用协议提供支持

    • QUIC-1RTT QUIC第一次访问

    • QUIC-0RTT QUIC第二次访问

  • CDN

    • CDN:DNS劫持

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

3. 网络安全

  • 三要素

    • 机密性:攻击者无法获知通信内容

      • 如何实现?
        • 已知:网络是明文的
        • 如果双方可以通过明文通信商量出秘密信息,那么攻击者也可以
        • 所以想要通过明文通信交换秘密信息,通信双方需要先有秘密信息
    • 完整性:攻击者对内容进行篡改时能被发现

      • 如何实现?
        • 密码散列函数的性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
        • 有明文m,密码散列函数H,以及一个密钥s
        • 计算H(m+s)获得哈希值h
        • 将m和h组合成新信息m+h
        • 接收方拆分m+h,重新计算H(m+s)得h', 对比h'和h
        • 所以想要实现完整性,通信双方需要先有秘密信息
    • 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信

  • 对称加密和非对称加密

    • 对称加密:加密、解密用同样的密钥

    • 非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密

  • 密钥散列函数(哈希函数)

    • 输入:任意长度的内容

    • 输出:固定长度的哈希值

    • 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的

书籍推荐:

[1] 计算机网络(第七版),机械工业出版社

[2] HTTP权威指南,人民有点出版社

[3] 密码编码学与网络安全(第6版),电子工业出版社