计算机网络概论笔记
1 描述一个复杂系统的方法
自底向上:构建认知,从基础开始不断增加复杂度
(1)、从简单开始,逐渐变复杂
(2)、将模块逐步拼凑成一个系统
自顶向下:解释特性、工作原理
(1)、从复杂开始,逐渐变简单
(2)、从复杂的系统问题入手,拆分为模块问题
2 计算机网络基础
2.1 网络组成部分
主机:客户端与服务端 路由器 网络协议
2.2 网络结构:网络的网络
局域网、城域网和广域网
2.3 信息交换的方式
电路交换&分组交换
2.4 网络分层
物理层、链路层、网络层、运输层、应用层
2.5 网络协议:协议的存在依赖于连接
标头和载荷
协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作。
3 web中的网络
- HTTP1.1:无法多路复用
- HTTP2:帧 帧带来的额外好处:1、调整响应传输的优先级 2、头部压缩 3、Server Push
- 3RTT启动
- HTTP3:QUIC(Quick UDP Internet Connention) 为除HTTP协议以外的应用层协议提供支持
4 CDN:
资料查询
Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
- 最多跳两次;物理层面解决
- DNS劫持:1、域名解析一般由网站自己处理 2、要加速的域名则重定向到CDN厂商的域名解析服务处理 3、CDN厂商根据来源确定最近的CDN服务器的IP 4、用户直接访问最近的CDN服务器。
5 WebSocket
6 网络安全
6.1 三要素
机密性:攻击者无法获知通信内容
加密需要加密算法和密钥等(统称为秘密信息)
网络是明文的,不安全
完整性:攻击者对内容进行篡改时能被发现
身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
数字签名技术
完整性和身份验证相互关联
6.2 对称加密和非对称加密
对称加密:加密、解密用同样的密钥 非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密
6.3 密码散列函数
输入:任意长度的内容
输出:固定长度的哈希值
性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
心得
大三上学期学了计算机网络,这次课程算是大概复习了一遍。老师讲的很好,引用的例子非常有趣,是我最喜欢的动画片海绵宝宝。计算机网络是学习前端的基础,是前端工作者每天要面对的东西。因此深刻学习理解计算机网络的知识是非常重要的。