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

88 阅读4分钟

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

一、前言介绍

学习目标:

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

两种分析方法:

自底向上:

  • 从简单开始,逐渐变复杂
  • 将模块逐步拼凑成一个系统 自顶向下:
  • 从复杂开始,逐渐变简单
  • 从复杂的系统问题入手,拆分为模块问题

二、课程引入-蟹堡王帝国

  • 蟹堡王顾客:客户端
  • 蟹堡王分店:服务端
  • 小区转发点和蟹堡王城市转发分店:路由器
  • 转发表格:网络协议

三、网络基础

1.网络组成部分:

  • 主机:客户端和服务端
  • 路由器
  • 网络协议

2.网络结构:网络的网络

  • 本地网络,本地网络节点的网络,本地网络的网络
  • 区域网,城域网,广域网

3.信息交换方式:

电路交换和分组交换(交换方式和区分,计算机网络中使用分组交换)

4.网络分层:

分清职责,物理层、链路层、网络层、运输层和应用层

5.网络协议(标头和载荷):

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

6.HTTP协议简介:

  • 链路层-本地帧头部
  • 链路层-IP协议头部
  • 运输层-HTTP协议头部
  • 运输层-TCP协议头部
  • 应用层-HTTP协议头部

7.TCP协议格式:

协议格式.png

四、WEB中的网络

1.web应用中HTTP协议和链接模型

image.png image.png

2.http2解决了多路复用但是TCP上的对头堵塞没有解决

3.QuIc:

  • Quick UDP Internet Connection
  • 现存网络设备对TCP和UDP支持已经僵化
  • UDP不靠谱但是QUIC靠谱
  • QUIC可以为除HTTP协议以外的应用层协议提供支持

4.CDN: DNS 劫持

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

5.WebSocket

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

五、网络安全

1.网络安全(对称加密和非对称加密):

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

2.网络安全:密码散列函数(哈希函数)

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

3.网络安全:机密性

  • 加密需要加密算法和密钥等信息(统称为秘密信息)
  • 网络是明文的,不安全

4.网络安全:完整性和身份验证完整性和身份验证

5.网络安全:如何实现机密性

  • 已知:网络是明文的
  • 如果双方可以通过明文通信商量出秘密信息,那么攻击者也可以
  • 所以想要通过明文通信交换秘密信息,通信双方需要先有秘密信息

6.网络安全:如何实现身份验证

  • 签名:用于鉴别身份和防止伪造
  • 非对称加密性质:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密
  • 蟹老板用自己的私钥对信件进行加密,并发送给海绵宝宝
  • 海绵宝宝使用蟹老板的公钥进行解密,获得原文
  • 保证了机密性、完整性和身份验证
  • 数字签名∶对明文内容的哈希值使用私钥加密,验证者使用公钥验证
  • 数字签名(指纹)=私钥加密(密码散列函数(原文))
  • 消息=原文+数字签名
  • 一般用于对公开内容(如包含公钥的证书)进行数字签名,防止篡改

7.网络安全:HTTPS

把HTTP 的明文换成密文,再验证身份,即HTTPS,

HTTPS = HTTP + TLS TLS=身份验证+加解密身份验证靠PKI

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

网络安全小结:

  • 网络安全三要素:机密性、完整性和身份验证
  • 在没有提前交换秘密信息的前提下,无法在不安全的信道交换秘密信息
  • PKI保证了普通用户不需要“面对面”和根证书机构交换根证书
  • HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现