更新计算机网络

This commit is contained in:
xiongraorao 2018-07-25 17:12:27 +08:00
parent 9ff297ecef
commit efa5389281

View File

@ -35,7 +35,7 @@ TCP/IP 协议族是一种沙漏形状中间小两边大IP 协议在其中
## 各层的数据报格式 ## 各层的数据报格式
1. 数据链路层 ### 1. 数据链路层
![](../../pics/ea5f3efe-d5e6-499b-b278-9e898af61257.jpg) ![](../../pics/ea5f3efe-d5e6-499b-b278-9e898af61257.jpg)
@ -58,7 +58,7 @@ FCS 字段是使用 CRC 的检验序列
![](../../pics/69f16984-a66f-4288-82e4-79b4aa43e835.jpg) ![](../../pics/69f16984-a66f-4288-82e4-79b4aa43e835.jpg)
2. 网络层 ### 2. 网络层
网际协议IP及其配套协议 网际协议IP及其配套协议
![](../../pics/0a9f4125-b6ab-4e94-a807-fd7070ae726a.png) ![](../../pics/0a9f4125-b6ab-4e94-a807-fd7070ae726a.png)
@ -112,7 +112,7 @@ Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终
不断执行这样的步骤,直到最后一个数据报刚刚到达目的主机,主机不转发数据报,也不把 TTL 值减 1。但是因为数据报封装的是无法交付的 UDP因此目的主机要向源主机发送 ICMP 终点不可达差错报告报文。 不断执行这样的步骤,直到最后一个数据报刚刚到达目的主机,主机不转发数据报,也不把 TTL 值减 1。但是因为数据报封装的是无法交付的 UDP因此目的主机要向源主机发送 ICMP 终点不可达差错报告报文。
之后源主机知道了到达目的主机所经过的路由器 IP 地址以及到达每个路由器的往返时间。 之后源主机知道了到达目的主机所经过的路由器 IP 地址以及到达每个路由器的往返时间。
3. 运输层格式 ### 3. 运输层格式
![](../../pics/d4c3a4a1-0846-46ec-9cc3-eaddfca71254.jpg) ![](../../pics/d4c3a4a1-0846-46ec-9cc3-eaddfca71254.jpg)
@ -253,10 +253,6 @@ server收到client发的SYN并回复Ack(SYN)此处称为Ack1如果cl
为了解决中间状态的问题server如果在一定时间内没有收到Ack2会重发Ack1不同于数据传输过程中的重传机制。Linux下默认重试5次加上第一次最多共发送6次重试间隔从1s开始翻倍增长一种指数回退策略Exponential Backoff5次的重试时间分别为1s, 2s, 4s, 8s, 16s第5次发出后还要等待32s才能判断第5次也超时。所以至多共发送6次经过1s + 2s + 4s+ 8s+ 16s + 32s = 2^6 -1 = 63sTCP才会认为SYN超时断开这个连接。 为了解决中间状态的问题server如果在一定时间内没有收到Ack2会重发Ack1不同于数据传输过程中的重传机制。Linux下默认重试5次加上第一次最多共发送6次重试间隔从1s开始翻倍增长一种指数回退策略Exponential Backoff5次的重试时间分别为1s, 2s, 4s, 8s, 16s第5次发出后还要等待32s才能判断第5次也超时。所以至多共发送6次经过1s + 2s + 4s+ 8s+ 16s + 32s = 2^6 -1 = 63sTCP才会认为SYN超时断开这个连接。
## TCP 超时重传
## TCP四次挥手 ## TCP四次挥手
![](img/20170606084851272.png) ![](img/20170606084851272.png)