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

61 阅读3分钟

计算机网络概述

内容

  • 建立对计算机网络的整体认识
  • 建立对网络协议分层的认识
  • 分析HTTP 1、2、3的关系
  • 介绍CDN运行的基本原理
  • 了解网络安全的最基本原则

分析方法

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

计算机网络基础

  • 以蟹堡王外卖开分店为例,先是本体,需要的信息是谁吃、吃什么以及送到哪里;然后开分店,需要了解的是赚了多少钱、原料数量、是否需要新分店、促销信息等(即通信线路);最后开连锁店,需要知道的是来自不同地方之间相互传递的信息。
  • 网络组成部分
  1. 主机:客户端和服务端
  2. 路由器
  3. 网络协议
  • 网络结构:网络的网络
  1. 比奇堡和小区网络:本地网络
  2. 分店+比奇堡:三个本地网络节点的网络
  3. 全国通信网络:本地网络的网络
  • 区域网、城域网和广域网
  • 信息交换方式:电话交换&分组交换(分组交换无需建立连接,且线路利用率更高)
  • 网络分层
  1. 快递员不关心包裹内容(应用层)
  2. 卡车司机不关心车厢拉的是什么(运输层)
  3. 高速公路不关心开什么车(网络层)
  4. 物理层
  5. 链路层
  • 网络协议
  1. 协议的存在依赖于连接,定义了在两个或多个通信实体间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作
  2. 标头和载荷
  • HTTP协议示例
  1. 链路层——本地帧头部 IP协议头部
  2. 运输层——TCP协议头部
  3. 应用层——HTTP协议头部 屏幕截图 2023-05-06 203047.png
  • Web中的网络
  1. 屏幕截图 2023-05-06 203519.png 红色请求,蓝色响应; 请求第一行(起始行):GET/HTTP/1.1(请求方法,资源路径和版本) 响应第一行(状态行):HTTP/1.1 200 OK(版本,状态码,状态信息(可自定义))
  2. HTTP连接模型 屏幕截图 2023-05-06 204104.png
  3. HTTP 1.1:无法多路复用 HTTP 2:帧 帧带来的额外好处:调整响应传输的优先级;头部压缩;Server Push
   request=main.js,content='{console.log('hello world')'
   request=style.css,content='  color:red;'
   request=style.css,content='}'

HTTP 2:3 RTT启动:HTTP客户端->TCP客户端->TCP服务端->TLS客户端->TLS服务端->HTTP客户端 HTTP 3:QUIC HTTP 3:QUIC - 1 RTT HTTP :QUIC - 0 RTT CDN

  • WebSocket
  1. 有状态的持久连接
  2. 服务端可以主动推送消息
  3. 用WebSocket发送消息延迟比HTTP低
  • 网络安全
  • 网络安全三要素
  1. 机密性:攻击者无法获知通信内容
  2. 完整性:攻击者对内容进行篡改时能被发现
  3. 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
  • 网络安全:对称加密(加密解密用同样的密钥)和非对称加密(公钥和私钥:公钥加密只能用私钥解密,私钥加密只能用公钥解密)
  • 网络安全:密码散列函数(哈希函数) 输入任意长度内容 输出固定长度的哈希值 性质:找到两个不同的输入使之经过哈希函数以后有相同的哈希值,计算上是不可能的
  • 网络安全:机密性(加密需要加密算法和密钥等信息,统称为秘密信息) 如何实现机密性:通信双方先有秘密信息
  • 网络安全:完整性和身份验证(两者相互验证) 如何实现完整性:明文m和密码散列函数H->计算H(m),得哈希值h->m+h->拆分m+h,重新计算H(m),对比h'和h。通信双方现有秘密信息 如何实现身份验证:签名(鉴别身份和防止伪造),非对称加密,数字签名(对明文内容的哈希值私钥加密,验证者使用公钥验证),一般公开内容使用数字签名。通信双方需要先有秘密信息,即根证书中的公钥