auto commit

This commit is contained in:
CyC2018
2018-03-14 20:31:59 +08:00
parent 47fbcf25ef
commit 9f986651b0
26 changed files with 499 additions and 352 deletions

View File

@ -100,7 +100,7 @@
网络把主机连接起来,而互联网是把多种不同的网络连接起来,因此互联网是网络的网络。
<div align="center"> <img src="../pics//f1fb826b-ecf4-4ddb-91f0-2bafecf08869.jpg"/> </div><br>
<div align="center"> <img src="index_files/f1fb826b-ecf4-4ddb-91f0-2bafecf08869.jpg"/> </div><br>
## ISP
@ -110,14 +110,14 @@
互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。
<div align="center"> <img src="../pics//0f8c0a60-d4c6-47f4-978d-1a5c393fedac.jpg"/> </div><br>
<div align="center"> <img src="index_files/0f8c0a60-d4c6-47f4-978d-1a5c393fedac.jpg"/> </div><br>
## 互联网的组成
1. 边缘部分:所有连接在互联网上的主机,用户可以直接使用;
2. 核心部分:由大量的网络和连接这些网络的路由器组成,为边缘部分的主机提供服务。
<div align="center"> <img src="../pics//8ab40d6d-bd7c-47d3-afe8-6a8bc9f5d04c.jpg"/> </div><br>
<div align="center"> <img src="index_files/8ab40d6d-bd7c-47d3-afe8-6a8bc9f5d04c.jpg"/> </div><br>
## 主机之间的通信方式
@ -131,7 +131,7 @@
## 电路交换与分组交换
<div align="center"> <img src="../pics//c50d230c-8b89-4644-8f62-8708d03aac5b.jpg"/> </div><br>
<div align="center"> <img src="index_files/c50d230c-8b89-4644-8f62-8708d03aac5b.jpg"/> </div><br>
### 1. 电路交换
@ -145,7 +145,7 @@
分组交换也使用了存储转发,但是转发的是分组而不是报文。把整块数据称为一个报文,由于一个报文可能很长,需要先进行切分,来满足分组能处理的大小。在每个切分的数据前面加上首部之后就成为了分组,首部包含了目的地址和源地址等控制信息。
<div align="center"> <img src="../pics//2366c2ad-5859-4d4e-805f-7e2b88061cd8.jpg"/> </div><br>
<div align="center"> <img src="index_files/2366c2ad-5859-4d4e-805f-7e2b88061cd8.jpg"/> </div><br>
存储转发允许在一条传输线路上传送多个主机的分组,因此两个用户之间的通信不需要占用端到端的线路资源。
@ -155,13 +155,13 @@
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
<div align="center"> <img src="../pics//ceee91c2-da26-4169-94c3-e4608b46b9ac.png"/> </div><br>
<div align="center"> <img src="index_files/ceee91c2-da26-4169-94c3-e4608b46b9ac.png"/> </div><br>
### 1. 发送时延
主机或路由器发送数据帧所需要的时间。
<div align="center"><img src="https://latex.codecogs.com/gif.latex?delay=\frac{l(bit)}{v(bit/s)}"/></div> <br>
<div align="center"> <div align="center"><img src="https://latex.codecogs.com/gif.latex?delay=\frac{l(bit)}{v(bit/s)}"/></div> <br> </div><br>
其中 l 表示数据帧的长度v 表示发送速率。
@ -169,7 +169,7 @@
电磁波在信道中传播一定的距离需要花费的时间,电磁波传播速度接近光速。
<div align="center"><img src="https://latex.codecogs.com/gif.latex?delay=\frac{l(m)}{v(m/s)}"/></div> <br>
<div align="center"> <div align="center"><img src="https://latex.codecogs.com/gif.latex?delay=\frac{l(m)}{v(m/s)}"/></div> <br> </div><br>
其中 l 表示信道长度v 表示电磁波在信道上的传播速率。
@ -183,7 +183,7 @@
## 计算机网络体系结构*
<div align="center"> <img src="../pics//1005dc9d-9049-4b06-9524-6171e56ebd8c.png"/> </div><br>
<div align="center"> <img src="index_files/1005dc9d-9049-4b06-9524-6171e56ebd8c.png"/> </div><br>
### 1. 七层协议
@ -210,7 +210,7 @@
路由器只有下面三层协议,因为路由器位于网络核心中,不需要为进程或者应用程序提供服务,因此也就不需要运输层和应用层。
<div align="center"> <img src="../pics//ac106e7e-489a-4082-abd9-dabebe48394c.jpg"/> </div><br>
<div align="center"> <img src="index_files/ac106e7e-489a-4082-abd9-dabebe48394c.jpg"/> </div><br>
### 4. TCP/IP 体系结构
@ -218,11 +218,11 @@
现在的 TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。
<div align="center"> <img src="../pics//37b74a34-251c-45f8-88a4-614ec953f7e9.png"/> </div><br>
<div align="center"> <img src="index_files/37b74a34-251c-45f8-88a4-614ec953f7e9.png"/> </div><br>
TCP/IP 协议族是一种沙漏形状中间小两边大IP 协议在其中占用举足轻重的地位。
<div align="center"> <img src="../pics//93cbce0c-c37d-429c-815b-861976a46bd8.png"/> </div><br>
<div align="center"> <img src="index_files/93cbce0c-c37d-429c-815b-861976a46bd8.png"/> </div><br>
# 第二章 物理层
@ -236,7 +236,7 @@ TCP/IP 协议族是一种沙漏形状中间小两边大IP 协议在其中
模拟信号是连续的信号,数字信号是离散的信号。带通调制把数字信号转换为模拟信号。
<div align="center"> <img src="../pics//d2c55c84-aa1f-43c1-bd97-457bcb7816b3.png"/> </div><br>
<div align="center"> <img src="index_files/d2c55c84-aa1f-43c1-bd97-457bcb7816b3.png"/> </div><br>
## 信道复用技术
@ -246,41 +246,41 @@ TCP/IP 协议族是一种沙漏形状中间小两边大IP 协议在其中
使用这两种方式进行通信,在通信的过程中用户会一直占用一部分信道资源。但是由于计算机数据的突发性质,没必要一直占用信道资源而不让出给其它用户使用,因此这两种方式对信道的利用率都不高。
<div align="center"> <img src="../pics//543d47a1-f0dd-414f-b23c-0c142c814854.png"/> </div><br>
<div align="center"> <img src="index_files/543d47a1-f0dd-414f-b23c-0c142c814854.png"/> </div><br>
### 2. 统计时分复用
是对时分复用的一种改进,不固定每个用户在时分复用帧中的位置,只要有数据就集中起来组成统计时分复用帧然后发送。
<div align="center"> <img src="../pics//29058e09-bb72-4040-a73d-4c497895e9ce.jpg"/> </div><br>
<div align="center"> <img src="index_files/29058e09-bb72-4040-a73d-4c497895e9ce.jpg"/> </div><br>
### 3. 波分复用
光的频分复用。由于光的频率很高,因此习惯上用波长而不是频率来表示所使用的光载波。
<div align="center"> <img src="../pics//78534153-88d1-4f83-a6e0-59064dbdc43a.png"/> </div><br>
<div align="center"> <img src="index_files/78534153-88d1-4f83-a6e0-59064dbdc43a.png"/> </div><br>
### 4. 码分复用
为每个用户分配 m bit 的码片,并且所有的码片正交,对于任意两个码片 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/><img src="https://latex.codecogs.com/gif.latex?\vec{T}"/>
<div align="center"> 为每个用户分配 m bit 的码片,并且所有的码片正交,对于任意两个码片 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/><img src="https://latex.codecogs.com/gif.latex?\vec{T}"/> </div><br>
<div align="center"><img src="https://latex.codecogs.com/gif.latex?\vec{S}\cdot\vec{T}=0"/></div> <br>
<div align="center"> <div align="center"><img src="https://latex.codecogs.com/gif.latex?\vec{S}\cdot\vec{T}=0"/></div> <br> </div><br>
为了方便,取 m=8设码片 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 为 00011011。在拥有该码片的用户发送比特 1 时就发送该码片,发送比特 0 时就发送该码片的反码 11100100。
<div align="center"> 为了方便,取 m=8设码片 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 为 00011011。在拥有该码片的用户发送比特 1 时就发送该码片,发送比特 0 时就发送该码片的反码 11100100。 </div><br>
在计算时将 00011011 记作 (-1 -1 -1 +1 +1 -1 +1 +1),可以得到
<div align="center"><img src="https://latex.codecogs.com/gif.latex?\frac{1}{m}\vec{S}\cdot\vec{S}=1"/></div> <br>
<div align="center"> <div align="center"><img src="https://latex.codecogs.com/gif.latex?\frac{1}{m}\vec{S}\cdot\vec{S}=1"/></div> <br> </div><br>
<div align="center"><img src="https://latex.codecogs.com/gif.latex?\frac{1}{m}\vec{S}\cdot\vec{S'}=-1"/></div> <br>
<div align="center"> <div align="center"><img src="https://latex.codecogs.com/gif.latex?\frac{1}{m}\vec{S}\cdot\vec{S'}=-1"/></div> <br> </div><br>
其中 <img src="https://latex.codecogs.com/gif.latex?\vec{S'}"/><img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 的反码。
<div align="center"> 其中 <img src="https://latex.codecogs.com/gif.latex?\vec{S'}"/><img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 的反码。 </div><br>
利用上面的式子我们知道,当接收端使用码片 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 对接收到的数据进行内积运算时,结果为 0 的是其它用户发送的数据,结果为 1 的是用户发送的比特 1结果为 -1 的是用户发送的比特 0。
<div align="center"> 利用上面的式子我们知道,当接收端使用码片 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 对接收到的数据进行内积运算时,结果为 0 的是其它用户发送的数据,结果为 1 的是用户发送的比特 1结果为 -1 的是用户发送的比特 0。 </div><br>
码分复用需要发送的数据量为原先的 m 倍。
<div align="center"> <img src="../pics//0042edad-8e3b-4279-bd93-6906fcd1b640.jpg"/> </div><br>
<div align="center"> <img src="index_files/0042edad-8e3b-4279-bd93-6906fcd1b640.jpg"/> </div><br>
# 第三章 数据链路层
@ -290,7 +290,7 @@ TCP/IP 协议族是一种沙漏形状中间小两边大IP 协议在其中
将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。
<div align="center"> <img src="../pics//3402d1c0-7020-4249-9a7f-12ea2ea6adf7.jpg"/> </div><br>
<div align="center"> <img src="index_files/3402d1c0-7020-4249-9a7f-12ea2ea6adf7.jpg"/> </div><br>
### 2. 透明传输
@ -298,7 +298,7 @@ TCP/IP 协议族是一种沙漏形状中间小两边大IP 协议在其中
帧中有首部和尾部,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据中出现首部尾部相同的内容前面插入转义字符,如果需要传输的内容正好就是转义字符,那么就在转义字符前面再加个转义字符,在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。
<div align="center"> <img src="../pics//4146e14b-56b9-433c-8e3d-74b1b325399c.jpg"/> </div><br>
<div align="center"> <img src="index_files/4146e14b-56b9-433c-8e3d-74b1b325399c.jpg"/> </div><br>
### 3. 差错检测
@ -308,7 +308,7 @@ TCP/IP 协议族是一种沙漏形状中间小两边大IP 协议在其中
互联网用户通常需要连接到某个 ISP 之后才能接入到互联网PPP 协议就是用户计算机和 ISP 进行通信时所使用的数据链路层协议。
<div align="center"> <img src="../pics//8393f520-d824-44ea-a5f3-1c1a73d735fb.jpg"/> </div><br>
<div align="center"> <img src="index_files/8393f520-d824-44ea-a5f3-1c1a73d735fb.jpg"/> </div><br>
在 PPP 的帧中
@ -317,11 +317,11 @@ TCP/IP 协议族是一种沙漏形状中间小两边大IP 协议在其中
- FCS 字段是使用 CRC 的检验序列
- 信息部分的长度不超过 1500
<div align="center"> <img src="../pics//0f39c274-b79c-4e83-8c7c-94fc2747832d.jpg"/> </div><br>
<div align="center"> <img src="index_files/0f39c274-b79c-4e83-8c7c-94fc2747832d.jpg"/> </div><br>
## 局域网的拓扑
<div align="center"> <img src="../pics//8b15e36f-69b4-46b6-a07c-7234ac7c7927.jpg"/> </div><br>
<div align="center"> <img src="index_files/8b15e36f-69b4-46b6-a07c-7234ac7c7927.jpg"/> </div><br>
## 广播信道 - CSMA/CD 协议*
@ -333,7 +333,7 @@ CSMA/CD 表示载波监听多点接入 / 碰撞检测。
- **载波监听** :每个站都必须不停地监听信道。在发送前,如果检听信道正在使用,就必须等待。
- **碰撞检测** :在发送中,如果监听 到信道已有其它站正在发送数据,就表示发生了碰撞。虽然每一个站在发送数据之前都已经检听到信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。
<div align="center"> <img src="../pics//f9ed4da5-0032-41e6-991a-36d995ec28fd.png"/> </div><br>
<div align="center"> <img src="index_files/f9ed4da5-0032-41e6-991a-36d995ec28fd.png"/> </div><br>
记端到端的传播时延为 τ,最先发送的站点最多经过 2τ 就可以知道是否发生了碰撞,称 2τ 为 **争用期** 。只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
@ -351,7 +351,7 @@ CSMA/CD 表示载波监听多点接入 / 碰撞检测。
集线器是一种共享式的传输设备,意味着同一时刻只能传输一组数据帧。
<div align="center"> <img src="../pics//823cdab7-3779-4e3a-a951-dc2d154e0ee6.jpg"/> </div><br>
<div align="center"> <img src="index_files/823cdab7-3779-4e3a-a951-dc2d154e0ee6.jpg"/> </div><br>
### 2. 在链路层进行扩展
@ -363,19 +363,19 @@ CSMA/CD 表示载波监听多点接入 / 碰撞检测。
交换机具有自学习能力,学习的是交换表的内容,交换表中存储着 MAC 地址到 接口的映射。下图中,交换机有 4 个接口,主机 A 向主机 B 发送数据帧时,交换机把主机 A 到接口 1 的映射写入交换表中。为了发送数据帧到 B先查交换表此时没有主机 B 的表项,那么主机 A 就发送广播帧,主机 C 和主机 D 会丢弃该帧,主机 B 收下之后,查找交换表得到主机 A 映射的接口为 1因此就把帧发送给主机 A同时交换机添加主机 B 到接口 3 的映射。
<div align="center"> <img src="../pics//c9cfcd20-c901-435f-9a07-3e46830c359f.jpg"/> </div><br>
<div align="center"> <img src="index_files/c9cfcd20-c901-435f-9a07-3e46830c359f.jpg"/> </div><br>
### 3. 虚拟局域网
虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的成员才会收到链路层广播信息,例如下图中 (A1, A2, A3, A4) 属于一个虚拟局域网A1 发送的广播会被 A2、A3、A4 收到,而其它站点收不到。
<div align="center"> <img src="../pics//a74b70ac-323a-4b31-b4d5-90569b8a944b.png"/> </div><br>
<div align="center"> <img src="index_files/a74b70ac-323a-4b31-b4d5-90569b8a944b.png"/> </div><br>
## MAC 层*
MAC 地址是 6 字节48 位)的地址,用于唯一表示网络适配器(网卡),一台主机拥有多少个适配器就有多少个 MAC 地址,例如笔记本电脑普遍存在无线网络适配器和有线网络适配器。
<div align="center"> <img src="../pics//50d38e84-238f-4081-8876-14ef6d7938b5.jpg"/> </div><br>
<div align="center"> <img src="index_files/50d38e84-238f-4081-8876-14ef6d7938b5.jpg"/> </div><br>
- **类型** :标记上层使用的协议;
- **数据** :长度在 46-1500 之间,如果太小则需要填充;
@ -390,7 +390,7 @@ MAC 地址是 6 字节48 位)的地址,用于唯一表示网络适配器
使用 IP 协议,可以把异构的物理网络连接起来,使得在网络层看起来好像是一个统一的网络。
<div align="center"> <img src="../pics//fe3d224c-8ffd-40f9-85b1-86ffe1393f6c.jpg"/> </div><br>
<div align="center"> <img src="index_files/fe3d224c-8ffd-40f9-85b1-86ffe1393f6c.jpg"/> </div><br>
与 IP 协议配套使用的还有三个协议:
@ -398,11 +398,11 @@ MAC 地址是 6 字节48 位)的地址,用于唯一表示网络适配器
2. 网际控制报文协议 ICMPInternet Control Message Protocol
3. 网际组管理协议 IGMPInternet Group Management Protocol
<div align="center"> <img src="../pics//163cf8b4-5f30-46c9-af00-316a71b3c890.jpg"/> </div><br>
<div align="center"> <img src="index_files/163cf8b4-5f30-46c9-af00-316a71b3c890.jpg"/> </div><br>
## IP 数据报格式
<div align="center"> <img src="../pics//8681db55-0873-434b-aa98-83d07e8392ae.jpg"/> </div><br>
<div align="center"> <img src="index_files/8681db55-0873-434b-aa98-83d07e8392ae.jpg"/> </div><br>
- **版本** : 有 4IPv4和 6IPv6两个值
@ -416,7 +416,7 @@ MAC 地址是 6 字节48 位)的地址,用于唯一表示网络适配器
- **片偏移** : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。
<div align="center"> <img src="../pics//45c86855-9b18-4cf4-a9a7-f8b6eb78d133.png"/> </div><br>
<div align="center"> <img src="index_files/45c86855-9b18-4cf4-a9a7-f8b6eb78d133.png"/> </div><br>
- **生存时间** TTL它的存在是为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位当 TTL 为 0 时就丢弃数据报。
@ -438,7 +438,7 @@ IP 地址的编址方式经历了三个历史阶段:
IP 地址 ::= {< 网络号 >, < 主机号 >}
<div align="center"> <img src="../pics//2ddd6132-60be-4a72-9daa-3d9756191f4a.png"/> </div><br>
<div align="center"> <img src="index_files/2ddd6132-60be-4a72-9daa-3d9756191f4a.png"/> </div><br>
### 2. 子网划分
@ -466,19 +466,19 @@ CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为
网络层实现主机之间的通信而链路层实现具体每段链路之间的通信。因此在通信过程中IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而改变。
<div align="center"> <img src="../pics//86b71296-0d1e-4a63-bcd9-54955b6b781b.jpg"/> </div><br>
<div align="center"> <img src="index_files/86b71296-0d1e-4a63-bcd9-54955b6b781b.jpg"/> </div><br>
## 地址解析协议 ARP
实现由 IP 地址得到 MAC 地址。
<div align="center"> <img src="../pics//1b4d6737-d834-46ed-8f9d-6f123e29c8dd.jpg"/> </div><br>
<div align="center"> <img src="index_files/1b4d6737-d834-46ed-8f9d-6f123e29c8dd.jpg"/> </div><br>
每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组,主机 B 收到该请求后会发送 ARP 响应分组给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到硬件地址的映射。
<div align="center"> <img src="../pics//8bc6fc2c-d198-4759-b06c-18d94d851e97.png"/> </div><br>
<div align="center"> <img src="index_files/8bc6fc2c-d198-4759-b06c-18d94d851e97.png"/> </div><br>
## 路由器的结构
@ -486,11 +486,11 @@ CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为
分组转发部分由三部分组成:交换结构、一组输入端口和一组输出端口。
<div align="center"> <img src="../pics//3a676c54-b559-4466-9b21-eb10f1e25879.jpg"/> </div><br>
<div align="center"> <img src="index_files/3a676c54-b559-4466-9b21-eb10f1e25879.jpg"/> </div><br>
交换结构的交换网络有以下三种实现方式:
<div align="center"> <img src="../pics//7f82fd18-7f16-4125-ada6-bb6b795b4fda.png"/> </div><br>
<div align="center"> <img src="index_files/7f82fd18-7f16-4125-ada6-bb6b795b4fda.png"/> </div><br>
## 路由器分组转发流程
@ -502,7 +502,7 @@ CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为
5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;
6. 报告转发分组出错。
<div align="center"> <img src="../pics//8d211911-0e62-4190-ab00-d8610adec4a0.jpg"/> </div><br>
<div align="center"> <img src="index_files/8d211911-0e62-4190-ab00-d8610adec4a0.jpg"/> </div><br>
## 路由选择协议
@ -515,7 +515,7 @@ CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为
1. 内部网关协议 IGPInterior Gateway Protocol在 AS 内部使用,如 RIP 和 OSPF。
2. 外部网关协议 EGPExternal Gateway Protocol在 AS 之间使用,如 BGP。
<div align="center"> <img src="../pics//e0be6970-5b0e-44a2-bc71-df4d61c42b8f.jpg"/> </div><br>
<div align="center"> <img src="index_files/e0be6970-5b0e-44a2-bc71-df4d61c42b8f.jpg"/> </div><br>
### 1. 内部网关协议 RIP
@ -555,17 +555,17 @@ BGP 只能寻找一条比较好的路由,而不是最佳路由。它采用路
每个 AS 都必须配置 BGP 发言人,通过在两个相邻 BGP 发言人之间建立 TCP 连接来交换路由信息。
<div align="center"> <img src="../pics//eb6271de-22c9-4f4b-8b31-eab1f560efac.png"/> </div><br>
<div align="center"> <img src="index_files/eb6271de-22c9-4f4b-8b31-eab1f560efac.png"/> </div><br>
## 网际控制报文协议 ICMP
ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据报中,但是不属于高层协议。
<div align="center"> <img src="../pics//9b5e0fa0-9274-4219-a3a9-84fbb509c735.jpg"/> </div><br>
<div align="center"> <img src="index_files/9b5e0fa0-9274-4219-a3a9-84fbb509c735.jpg"/> </div><br>
ICMP 报文分为差错报告报文和询问报文。
<div align="center"> <img src="../pics//6e11b122-95ce-4869-bf7d-3b0d7591707e.jpg"/> </div><br>
<div align="center"> <img src="index_files/6e11b122-95ce-4869-bf7d-3b0d7591707e.jpg"/> </div><br>
## 分组网间探测 PING
@ -580,7 +580,7 @@ PING 的过程:
在一对多的通信中,多播不需要将分组复制多份,从而大大节约网络资源。
<div align="center"> <img src="../pics//c77b6a18-dfac-42a2-ac89-7e99481275dc.jpg"/> </div><br>
<div align="center"> <img src="index_files/c77b6a18-dfac-42a2-ac89-7e99481275dc.jpg"/> </div><br>
## 虚拟专用网 VPN
@ -596,7 +596,7 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。
下图中,场所 A 和 B 的通信部经过互联网,如果场所 A 的主机 X 要和另一个场所 B 的主机 Y 通信IP 数据报的源地址是 10.1.0.1,目的地址是 10.2.0.3。数据报先发送到与互联网相连的路由器 R1R1 对内部数据进行加密,然后重新加上数据报的首部,源地址是路由器 R1 的全球地址 125.1.2.3,目的地址是路由器 R2 的全球地址 194.4.5.6。路由器 R2 收到数据报后将数据部分进行解密,恢复原来的数据报,此时目的地址为 10.2.0.3,就交付给 Y。
<div align="center"> <img src="../pics//bf4ed077-d481-4db7-9e7a-85d841a5a8c3.jpg"/> </div><br>
<div align="center"> <img src="index_files/bf4ed077-d481-4db7-9e7a-85d841a5a8c3.jpg"/> </div><br>
## 网络地址转换 NAT
@ -604,7 +604,7 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。
在以前NAT 将本地 IP 和全球 IP 一一对应,这种方式下拥有 n 个全球 IP 地址的专用网内最多只可以同时有 n 台主机接入互联网。为了更有效地利用全球 IP 地址,现在常用的 NAT 转换表把运输层的端口号也用上了,使得多个专用网内部的主机共用一个全球 IP 地址。使用端口号的 NAT 也叫做网络地址与端口转换 NAPT。
<div align="center"> <img src="../pics//0f31bc7a-d60b-48a6-8e3f-597708369e52.png"/> </div><br>
<div align="center"> <img src="index_files/0f31bc7a-d60b-48a6-8e3f-597708369e52.png"/> </div><br>
# 第五章 运输层*
@ -620,13 +620,13 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。
## UDP 首部格式
<div align="center"> <img src="../pics//bd6c05f3-02ee-4c8a-b374-40c87154a898.jpg"/> </div><br>
<div align="center"> <img src="index_files/bd6c05f3-02ee-4c8a-b374-40c87154a898.jpg"/> </div><br>
首部字段只有 8 个字节包括源端口、目的端口、长度、检验和。12 字节的伪首部是为了计算检验和而临时添加的。
## TCP 首部格式
<div align="center"> <img src="../pics//21a00b02-c0a6-4bcd-9af0-5ec6bb66e34c.jpg"/> </div><br>
<div align="center"> <img src="index_files/21a00b02-c0a6-4bcd-9af0-5ec6bb66e34c.jpg"/> </div><br>
- **序号** :用于对字节流进行编号,例如序号为 301表示第一个字节的编号为 301如果携带的数据长度为 100 字节,那么下一个报文段的序号应为 401。
@ -644,7 +644,7 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。
## TCP 的三次握手
<div align="center"> <img src="../pics//086871db-5871-460f-97b7-126cd738bb0e.jpg"/> </div><br>
<div align="center"> <img src="index_files/086871db-5871-460f-97b7-126cd738bb0e.jpg"/> </div><br>
假设 A 为客户端B 为服务器端。
@ -657,7 +657,7 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。
## TCP 的四次挥手
<div align="center"> <img src="../pics//78f65456-666b-4044-b4ee-f7692dbbc0d3.jpg"/> </div><br>
<div align="center"> <img src="index_files/78f65456-666b-4044-b4ee-f7692dbbc0d3.jpg"/> </div><br>
以下描述不讨论序号和确认号,因为序号和确认号的规则比较简单。并且不讨论 ACK因为 ACK 在连接建立之后都为 1。
@ -675,7 +675,7 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。
## TCP 滑动窗口
<div align="center"> <img src="../pics//223fc26e-2fd6-484c-bcb7-443cac134f15.jpg"/> </div><br>
<div align="center"> <img src="index_files/223fc26e-2fd6-484c-bcb7-443cac134f15.jpg"/> </div><br>
窗口是缓存的一部分,用来暂时存放字节流。发送方和接收方各有一个窗口,接收方通过 TCP 报文段中的窗口字段告诉发送方自己的窗口大小,发送方根据这个值和其它信息设置自己的窗口大小。
@ -689,11 +689,11 @@ TCP 使用超时重传来实现可靠传输:如果一个已经发送的报文
一个报文段从发送再到接收到确认所经过的时间称为往返时间 RTT加权平均往返时间 RTTs 计算如下:
<div align="center"><img src="https://latex.codecogs.com/gif.latex?RTTs=(1-a)*(RTTs)+a*RTT"/></div> <br>
<div align="center"> <div align="center"><img src="https://latex.codecogs.com/gif.latex?RTTs=(1-a)*(RTTs)+a*RTT"/></div> <br> </div><br>
超时时间 RTO 应该略大于 RRTsTCP 使用的超时时间计算如下:
<div align="center"><img src="https://latex.codecogs.com/gif.latex?RTO=RTTs+4*RTT_d"/></div> <br>
<div align="center"> <div align="center"><img src="https://latex.codecogs.com/gif.latex?RTO=RTTs+4*RTT_d"/></div> <br> </div><br>
其中 RTT<sub>d</sub> 为偏差,它与新的 RRT 和 RRTs 有关。
@ -707,7 +707,7 @@ TCP 使用超时重传来实现可靠传输:如果一个已经发送的报文
如果网络出现拥塞,分组将会丢失,此时发送方会继续重传,从而导致网络拥塞程度更高。因此当出现拥塞时,应当控制发送方的速率。这一点和流量控制很像,但是出发点不同。流量控制是为了让接收方能来得及接受,而拥塞控制是为了降低整个网络的拥塞程度。
<div align="center"> <img src="../pics//a69af9bb-b5ad-4896-862d-697e5ee4feb1.png"/> </div><br>
<div align="center"> <img src="index_files/a69af9bb-b5ad-4896-862d-697e5ee4feb1.png"/> </div><br>
TCP 主要通过四种算法来进行拥塞控制慢开始、拥塞避免、快重传、快恢复。发送方需要维护有一个叫做拥塞窗口cwnd的状态变量。注意拥塞窗口与发送方窗口的区别拥塞窗口只是一个状态变量实际决定发送方能发送多少数据的是发送方窗口。
@ -716,7 +716,7 @@ TCP 主要通过四种算法来进行拥塞控制:慢开始、拥塞避免、
1. 接收方有足够大的接收缓存,因此不会发生流量控制;
2. 虽然 TCP 的窗口基于字节,但是这里设窗口的大小单位为报文段。
<div align="center"> <img src="../pics//346244ff-98c1-4f12-9a87-d0832e8c04cf.jpg"/> </div><br>
<div align="center"> <img src="index_files/346244ff-98c1-4f12-9a87-d0832e8c04cf.jpg"/> </div><br>
### 慢开始与拥塞避免
@ -734,7 +734,7 @@ TCP 主要通过四种算法来进行拥塞控制:慢开始、拥塞避免、
在这种情况下,只是丢失个别报文段,而不是网络拥塞,因此执行快恢复,令 ssthresh = cwnd / 2 cwnd = ssthresh注意到此时直接进入拥塞避免。
<div align="center"> <img src="../pics//b18d679b-c8e2-4564-88ee-7600090e46da.jpg"/> </div><br>
<div align="center"> <img src="index_files/b18d679b-c8e2-4564-88ee-7600090e46da.jpg"/> </div><br>
# 第六章 应用层*
@ -748,9 +748,9 @@ TCP 主要通过四种算法来进行拥塞控制:慢开始、拥塞避免、
一个域名由多个层次构成,从上层到下层分别为顶级域名、二级域名、三级域名以及四级域名。所有域名可以画成一颗域名树。
<div align="center"> <img src="../pics//c2117f61-1177-4768-bf33-cf4f950d911c.png"/> </div><br>
<div align="center"> <img src="index_files/c2117f61-1177-4768-bf33-cf4f950d911c.png"/> </div><br>
<div align="center"> <img src="../pics//a4b162e5-db2a-4a27-b213-1fe481c5a06a.png"/> </div><br>
<div align="center"> <img src="index_files/a4b162e5-db2a-4a27-b213-1fe481c5a06a.png"/> </div><br>
域名服务器可以分为以下四类:
@ -761,11 +761,11 @@ TCP 主要通过四种算法来进行拥塞控制:慢开始、拥塞避免、
区和域的概念不同,可以在一个域中划分多个区。图 b 在域 abc.com 中划分了两个区abc.com 和 y.abc.com
<div align="center"> <img src="../pics//fc0c6b2d-68c7-4de8-aaaa-97355a4f0472.jpg"/> </div><br>
<div align="center"> <img src="index_files/fc0c6b2d-68c7-4de8-aaaa-97355a4f0472.jpg"/> </div><br>
因此就需要两个权限域名服务器:
<div align="center"> <img src="../pics//8b335d94-c1ca-42e1-ad48-bb179d28a4f1.jpg"/> </div><br>
<div align="center"> <img src="index_files/8b335d94-c1ca-42e1-ad48-bb179d28a4f1.jpg"/> </div><br>
### 2. 解析过程
@ -773,13 +773,13 @@ TCP 主要通过四种算法来进行拥塞控制:慢开始、拥塞避免、
迭代的方式下,本地域名服务器向一个域名服务器解析请求解析之后,结果返回到本地域名服务器,然后本地域名服务器继续向其它域名服务器请求解析;而递归地方式下,结果不是直接返回的,而是继续向前请求解析,最后的结果才会返回。
<div align="center"> <img src="../pics//6bc61bb8-3b1c-4dc8-ac25-cef925ace0eb.jpg"/> </div><br>
<div align="center"> <img src="index_files/6bc61bb8-3b1c-4dc8-ac25-cef925ace0eb.jpg"/> </div><br>
## 文件传输协议 FTP
FTP 在运输层使用 TCP并且需要建立两个并行的 TCP 连接:控制连接和数据连接。控制连接在整个会话期间一直保持打开,而数据连接在数据传送完毕之后就关闭。控制连接使用端口号 21数据连接使用端口号 20。
<div align="center"> <img src="../pics//58633775-8584-4a01-ad3f-eee4d9a466e1.jpg"/> </div><br>
<div align="center"> <img src="index_files/58633775-8584-4a01-ad3f-eee4d9a466e1.jpg"/> </div><br>
## 远程终端协议 TELNET
@ -795,7 +795,7 @@ TELNET 可以适应许多计算机和操作系统的差异,例如不同操作
一个电子邮件系统由三部分组成:用户代理、邮件服务器以及邮件发送协议和读取协议。其中发送协议常用 SMTP读取协议常用 POP3 和 IMAP。
<div align="center"> <img src="../pics//de1e46d2-748f-4da3-a29e-7de7bc840366.jpg"/> </div><br>
<div align="center"> <img src="index_files/de1e46d2-748f-4da3-a29e-7de7bc840366.jpg"/> </div><br>
### POP3
@ -809,7 +809,7 @@ IMAP 协议中客户端和服务器上的邮件保持同步,如果不去手动
SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。MIME 并没有改动或者取代 SMTP而是增加邮件主题的结构定义了非 ASCII 码的编码规则。
<div align="center"> <img src="../pics//ed5522bb-3a60-481c-8654-43e7195a48fe.png"/> </div><br>
<div align="center"> <img src="index_files/ed5522bb-3a60-481c-8654-43e7195a48fe.png"/> </div><br>
## 动态主机配置协议 DHCP