Skip to content

Commit 905f2ba

Browse files
committed
调整计算机网络中TCP/IP文章中的编辑细节
1 parent ddd1790 commit 905f2ba

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

computer-networks/tcpip.md

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ TCP/UDP都是是传输层协议,但是两者具有不同的特性,同时也
159159

160160
##### 面向报文
161161

162-
面向报文的传输方式是应用层交给UDP多长的报文,UDP发送多长的报文,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率;若太短,会使IP数据包太小
162+
面向报文的传输方式是应用层交给UDP多长的报文,UDP发送多长的报文,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率;若太短,会使IP数据报太小
163163

164164
##### 面向字节流
165165

@@ -197,14 +197,11 @@ TCP是面向连接的,无论哪一方向另一方发送数据之前,都必
197197

198198
![](http://upload-images.jianshu.io/upload_images/3985563-cd5a153e44696643.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
199199

200-
201-
202-
203-
**第一次握手:** 建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN\_SEND状态,等待服务器的确认;
204-
205-
**第二次握手:** 服务器收到SYN报文段。服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置Acknowledgment Number为x + 1\(Sequence Number + 1\);同时,自己自己还要发送SYN请求信息,将SYN位置为1,Sequence Number为y;服务器端将上述所有信息放到一个报文段(即SYN+ACK报文段)中,一并发送给客户端,此时服务器进入SYN\_RECV状态;
206-
207-
**第三次握手:** 客户端收到服务器的SYN+ACK报文段。然后将Acknowledgment Number设置为y + 1,向服务器发送ACK报文段,这个报文段发送完毕以后,客户端和服务器端都进入ESTABLISHED状态,完成TCP三次握手。
200+
| 回合 | 说明 |
201+
| ------ | ---------- |
202+
| **第一次握手** | 建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN\_SEND状态,等待服务器的确认; |
203+
| **第二次握手** | 服务器收到SYN报文段。服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置Acknowledgment Number为x + 1\(Sequence Number + 1\);同时,自己自己还要发送SYN请求信息,将SYN位置为1,Sequence Number为y;服务器端将上述所有信息放到一个报文段(即SYN+ACK报文段)中,一并发送给客户端,此时服务器进入SYN\_RECV状态; |
204+
| **第三次握手** | 客户端收到服务器的SYN+ACK报文段。然后将Acknowledgment Number设置为y + 1,向服务器发送ACK报文段,这个报文段发送完毕以后,客户端和服务器端都进入ESTABLISHED状态,完成TCP三次握手。 |
208205

209206
##### 为什么要三次握手?
210207

@@ -267,7 +264,7 @@ MSL:报文段最大生存时间,它是任何报文段被丢弃前在网络
267264

268265
从图中可以看出,B进行了三次流量控制。第一次把窗口减少到 rwnd = 300 ,第二次又减到了 rwnd = 100 ,最后减到 rwnd = 0 ,即不允许发送方再发送数据了。这种使发送方暂停发送的状态将持续到主机B重新发出一个新的窗口值为止。B向A发送的三个报文段都设置了 ACK = 1 ,只有在ACK=1时确认号字段才有意义。
269266

270-
TCP为每一个连接设有一个持续计时器\(persistence timer\)。当TCP连接中的发送方收到接收方的零窗口通知时,发送方就启动持续计时器。若持续计时器设置的时间到期,就发送一个零窗口控测报文段(携1字节的数据)给接收方。如果接收方可以接收数据就重新开始发送数据;如果接收方不能接收数据,就重新设置持续计时器。
267+
TCP为每一个连接设有一个持续计时器\(persistence timer\)。当TCP连接中的发送方收到接收方的零窗口通知时,发送方就启动持续计时器。若持续计时器设置的时间到期,发送方就发送一个零窗口控测报文段(携1字节的数据)给接收方。如果接收方可以接收数据,就重新开始发送数据;如果接收方不能接收数据,就重新设置持续计时器。
271268

272269
### 十、TCP拥塞控制
273270

0 commit comments

Comments
 (0)