auto commit

This commit is contained in:
CyC2018 2018-03-17 20:26:50 +08:00
parent 85d3cb2ac8
commit 9b6e932b98

View File

@ -223,7 +223,7 @@ TCP/IP 协议族是一种沙漏形状中间小两边大IP 协议在其中
为每个用户分配 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"><img src="https://latex.codecogs.com/gif.latex?\vec{S}\cdot\vec{T}=0"/></div> <br>
<div align="center"><img src="https://latex.codecogs.com/gif.latex?\frac{1}{m}\vec{S}\cdot\vec{T}=0"/></div> <br>
为了方便,取 m=8设码片 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 为 00011011。在拥有该码片的用户发送比特 1 时就发送该码片,发送比特 0 时就发送该码片的反码 11100100。
@ -459,11 +459,16 @@ CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为
## 路由器分组转发流程
1. 从数据报的首部提取目的主机的 IP 地址 D得到目的网络地址 N。路由表项是网络号而不是 IP 地址,这样做大大减少了路由表条目数量)
1. 从数据报的首部提取目的主机的 IP 地址 D得到目的网络地址 N。路由表项是网络号而不是 IP 地址,这样做大大减少了路由表条目数量);
2. 若 N 就是与此路由器直接相连的某个网络地址,则进行直接交付;
3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给表中所指明的下一跳路由器;
4. 若路由表中有到达网络 N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;
5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;
6. 报告转发分组出错。
<div align="center"> <img src="../pics//8d211911-0e62-4190-ab00-d8610adec4a0.jpg"/> </div><br>
@ -613,8 +618,11 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。
假设 A 为客户端B 为服务器端。
1. 首先 B 处于 LISTEN监听状态等待客户的连接请求。
2. A 向 B 发送连接请求报文段SYN=1ACK=0选择一个初始的序号 x。
3. B 收到连接请求报文段,如果同意建立连接,则向 A 发送连接确认报文段SYN=1ACK=1确认号为 x+1同时也选择一个初始的序号 y。
4. A 收到 B 的连接确认报文段后,还要向 B 发出确认,确认号为 y+1序号为 x+1。
5. B 收到 A 的确认后,连接建立。
@ -626,8 +634,11 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。
以下描述不讨论序号和确认号,因为序号和确认号的规则比较简单。并且不讨论 ACK因为 ACK 在连接建立之后都为 1。
1. A 发送连接释放报文段FIN=1
2. B 收到之后发出确认,此时 TCP 属于半关闭状态B 能向 A 发送数据但是 A 不能向 B 发送数据;
3. 当 B 要不再需要连接时发送连接释放请求报文段FIN=1
4. A 收到后发出确认,此时连接释放。
### TIME_WAIT
@ -635,6 +646,7 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。
客户端接收到服务器端的 FIN 报文后进入此状态,此时并不是直接进入 CLOSED 状态,还需要等待一个时间计时器设置的时间。这么做有两个理由:
1. 确保最后一个确认报文段能够到达。如果 B 没收到 A 发送来的确认报文段那么就会重新发送连接释放请求报文段A 等待一段时间就是为了处理这种情况的发生。
2. 可能存在“已失效的连接请求报文段”,为了防止这种报文段出现在本次连接之外,需要等待一段时间。
## TCP 滑动窗口