diff --git a/notes/pics/cs-p2p.png b/notes/pics/cs-p2p.png
new file mode 100644
index 00000000..122e56e2
Binary files /dev/null and b/notes/pics/cs-p2p.png differ
diff --git a/notes/pics/isp-access.png b/notes/pics/isp-access.png
new file mode 100644
index 00000000..d68c88f8
Binary files /dev/null and b/notes/pics/isp-access.png differ
diff --git a/notes/pics/isp-tiers.png b/notes/pics/isp-tiers.png
new file mode 100644
index 00000000..5c480267
Binary files /dev/null and b/notes/pics/isp-tiers.png differ
diff --git a/notes/pics/layer-models.png b/notes/pics/layer-models.png
new file mode 100644
index 00000000..e3de2c0c
Binary files /dev/null and b/notes/pics/layer-models.png differ
diff --git a/notes/pics/net-delay.png b/notes/pics/net-delay.png
new file mode 100644
index 00000000..3a3bc893
Binary files /dev/null and b/notes/pics/net-delay.png differ
diff --git a/notes/pics/tcpip-stack.png b/notes/pics/tcpip-stack.png
new file mode 100644
index 00000000..f1aa5e1e
Binary files /dev/null and b/notes/pics/tcpip-stack.png differ
diff --git a/notes/计算机网络 - 概述.md b/notes/计算机网络 - 概述.md
index 68ca123b..9814aaaf 100644
--- a/notes/计算机网络 - 概述.md
+++ b/notes/计算机网络 - 概述.md
@@ -17,6 +17,7 @@
* [2. OSI](#2-osi)
* [3. TCP/IP](#3-tcpip)
* [4. 数据在各层之间的传递过程](#4-数据在各层之间的传递过程)
+ * [参考资料](#参考资料)
@@ -30,21 +31,18 @@
互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。
-
+
目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为第一层 ISP、区域 ISP 和接入 ISP。互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。
-
+
## 主机之间的通信方式
-- 客户-服务器(C/S):客户是服务的请求方,服务器是服务的提供方。
-
-
-
+- 客户-服务器(C/S):客户是服务的请求方,服务器是服务的提供方;
- 对等(P2P):不区分客户和服务器。
-
+
## 电路交换与分组交换
@@ -62,7 +60,7 @@
总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延
-
+
### 1. 排队时延
@@ -94,27 +92,22 @@
## 计算机网络体系结构
-
+
### 1. 五层协议
-- **应用层** :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。
-
-- **传输层** :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。
-
-- **网络层** :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。
-
-- **数据链路层** :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。
-
-- **物理层** :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
+- 应用层:为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文;
+- 传输层:为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。传输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务;
+- 网络层:为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组;
+- 数据链路层:网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧;
+- 物理层:考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
### 2. OSI
其中表示层和会话层用途如下:
-- **表示层** :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。
-
-- **会话层** :建立及管理会话。
+- 表示层:数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题;
+- 会话层:建立及管理会话。
五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。
@@ -124,10 +117,16 @@
TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。
-
+
### 4. 数据在各层之间的传递过程
在向下的过程中,需要添加下层协议所需要的首部或者尾部,而在向上的过程中不断拆开首部和尾部。
路由器只有下面三层协议,因为路由器位于网络核心中,不需要为进程或者应用程序提供服务,因此也就不需要传输层和应用层。
+
+## 参考资料
+
+- 谢希仁. 计算机网络(第 7 版)[M]. 电子工业出版社, 2017.
+- Kurose J F, Ross K W. 计算机网络:自顶向下方法(第 7 版)[M]. 机械工业出版社, 2018.
+- [RFC 1122: Requirements for Internet Hosts -- Communication Layers](https://www.rfc-editor.org/rfc/rfc1122)