计算机网络概论
1.蟹堡王帝国
在本内容里面,用蟹堡王举例,来形容计算机网络的原理,我的理解是寻求的是最简洁的处理方法,并不是每一个用户都直接与ISP路由器相连接,而是通过各种分路由器来实现。
2.计算机网络基础
网络组成部分
- 主机:客户端和服务端
- 路由器
- 网络协议
网络结构
- 比奇堡和小区网络:本地网络(区域网络)
- 北京和上海分店+比奇堡:三个本地网络节点的网络(城域网)
- 全国通信网络:本地网络的网络(广域网)
信息交换方式一般有电路交换和分组交换两种方式;
网络分层
每级只管自己的事情,不关心其他的事情;
分为物理层,链路层,网络层,运输层和应用层;
协议
协议的存在依赖于链接。
协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条保温或其他事件所采取的动作。
标头和载荷
HTTP协议示例
-
链路层——本地帧头部
-
链路层——IP协议头部
-
运输层——TCP协议头部
-
应用层——HTTP协议头部
TCP协议格式
3.web中的网络
TCP比HTTP效率更高,HTTP会有队头堵塞的问题。
HTTP1:无法多路复用
HTTP2:用帧来弥补
- 前三个字节:载荷长度
- 第四个字节:类型
- 第五个字节:类型对应的Flags
- 第六到第九字节:第1位:保留位;第2-32位:流ID
- 随后的8192字节:载荷
HTTP2:帧带来的额外好处
- 调整响应传输的优先级
- 头部压缩
- Server Push
HTTP3:QUIC(Quick UDP Internet Connection)
- 现存网络设备对TCP和UDP支持已经僵化
- UDP不靠谱但是QUIC靠谱
- QUIC可以为除HTTP协议以外的应用层协议提供支持
webSocket
- 有状态的持久连接
- 服务端可以主动推送消息
- 用webSocket发送消息延迟比HTTP低
4.网络安全
网络安全三要素:
- 机密性:攻击者无法获知通信内容
- 完整性:攻击者对内容进行篡改时能够发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
对称加密和非对称加密:
- 对称加密:加密,解密用同样的密钥
- 非对称加密:加密,解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密,私钥加密只能用公钥解密
密码散列函数(哈希函数):
- 输入:任意长度的内容
- 输出:固定长度的哈希值
- 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
5.学习思考
在经过本次课程的学习之后,我学习到了计算机网络的一些基础知识,虽然对于更深层的知识并未涉及,但是也对基本的概念有了了解。其次,我觉得虽然作为开发方向的学生,但是对于计算机其他方向的知识也要有所了解,尤其是接近于计算机底层的知识,更应该得到重视。