计算机网络基础
前言与课程内容介绍
分析方法:自底向上/自顶向下
蟹堡王帝国
蟹堡王外卖(外卖信息表格,传真)
北京和上海比奇堡分店
通信线路(销售数据)
新的分店
外卖(转发点)
蟹堡王全国通讯线路
- 比奇堡外卖。。。。蟹堡王顾客:客户端
- 北京和上海分店。。。。蟹堡王分店:服务端
- 全国分店和通信网络。。。。小区转发点和蟹堡王城市转发点:路由器
转发表格:网络协议
计算机网络基础
网络的组成部分
- 主机:客户端和服务端
- 路由器
- 网络协议
网络结构:网络的网络
比奇堡和小区网络:本地网络
北京和上海分店+比奇堡:三个本地网络节点的网络
全国通信网络:本地网络的网络
区域网、城域网和广域网
信息交换的方式:电路交换和分组交换
网络分层(分清职责)
内容层(物理层)->链路层->网络层->运输层->应用层
高速公路->卡车->快递公司
协议的存在依赖于链接
协议定义了在两个或多个通信实体之间交换的报文和顺序,以及报文发送和接受一条报文或其他事件所采取的动作
每层的标头和载荷不一致,关注重点不同(信封套娃)
http请求 链路层的帧
真正的载荷是后面几个字节
报文=链路层的头+IP协议的头+TCP协议的头+http协议的头+http的正文
在http协议中,需要留意http1.1及以前的版本中头部和载荷是通过两个换行符和回收符进行划分的,而TCP协议和IP协议不是
TCP协议格式
Web中的网络
http 请求响应模型 无法在一条链接上进行多路复用
短期连接
持久连接
http管线连接
队头堵塞,建立多条tcp链接,将请求分散,带宽有限(成本大)
http1.1无法实现多路复用
http2 使用帧(调整相应传输的优先级,头部压缩,server push)
tcp与tls握手的问题 3RTT启动 ssl
http3 QUIC(优化UDP) TLS内置自身的一部分 流的概念
实现首次1RTT,二次0RTT
HTTP协议之外的影响外部性能的因素和解决方案
CDN:物理距离,服务器数量,服务器性能
DNS劫持
域名解析一般由网站自己处理
要加速的域名则重定向到CDN厂商的域名解析服务处理
CDN厂商根据来源确定到最近的CDN服务器的IP
用户直接访问最近的CDN服务器
不能单看物理距离,服务器负载,链路负载都有影响
拉策略
推策略
WebSocket
有状态的持久连接(http升级而来
服务端可以主动推送消息
用Websocket发送消息延迟比http低
网络安全
网络安全三要素(机密性,完整性,身份验证)
加密方式(密码学)
对称加密:加密、解密用同样的密匙
非对称加密:加密、解密使用不同的密匙(公钥和私钥),而且公钥加密只能用私钥解密,反之亦然
密码散列函数(哈希函数)
输入:任意长度的内容
输出:固定长度的哈希值
性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
机密性
加密需要加密算法和密匙等信息(统称为秘密信息)
网络是明文的,不安全
完整性
明文通信中,除非通信双方已有秘密信息,否则无法通过明文通信商量出秘密信息
身份验证(可鉴别,防伪造)
非对称加密可实现三点,但计算效率低,
数字签名
根证书,PKI,cookie
总结
主要用蟹堡王的例子描述了计算机网络通信的大致结构,自底向上的讲解了计算机网络是如何扩展的,形成网络的网络;以及网络的组成部分,重点讲了网络协议的优化和明文的加密和解密以保证网络信息传递的流畅和安全
小建议:能不能加字幕或者进度条可拉,小白听不太懂,反复往后退,一节课听了一天,掌握的不是很好