From efa53892819594ea5a85ed1e92bcfb64c1a82a15 Mon Sep 17 00:00:00 2001 From: xiongraorao Date: Wed, 25 Jul 2018 17:12:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=A1=E7=AE=97=E6=9C=BA?= =?UTF-8?q?=E7=BD=91=E7=BB=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interview/network/base.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/interview/network/base.md b/interview/network/base.md index 896fd631..1c0f8fca 100644 --- a/interview/network/base.md +++ b/interview/network/base.md @@ -35,7 +35,7 @@ TCP/IP 协议族是一种沙漏形状,中间小两边大,IP 协议在其中 ## 各层的数据报格式 -1. 数据链路层 +### 1. 数据链路层 ![](../../pics/ea5f3efe-d5e6-499b-b278-9e898af61257.jpg) @@ -58,7 +58,7 @@ FCS 字段是使用 CRC 的检验序列 ![](../../pics/69f16984-a66f-4288-82e4-79b4aa43e835.jpg) -2. 网络层 +### 2. 网络层 网际协议IP及其配套协议: ![](../../pics/0a9f4125-b6ab-4e94-a807-fd7070ae726a.png) @@ -112,7 +112,7 @@ Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终 不断执行这样的步骤,直到最后一个数据报刚刚到达目的主机,主机不转发数据报,也不把 TTL 值减 1。但是因为数据报封装的是无法交付的 UDP,因此目的主机要向源主机发送 ICMP 终点不可达差错报告报文。 之后源主机知道了到达目的主机所经过的路由器 IP 地址以及到达每个路由器的往返时间。 -3. 运输层格式 +### 3. 运输层格式 ![](../../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 Backoff),5次的重试时间分别为1s, 2s, 4s, 8s, 16s,第5次发出后还要等待32s才能判断第5次也超时。所以,至多共发送6次,经过1s + 2s + 4s+ 8s+ 16s + 32s = 2^6 -1 = 63s,TCP才会认为SYN超时断开这个连接。 -## TCP 超时重传 - - - ## TCP四次挥手 ![](img/20170606084851272.png)