File tree Expand file tree Collapse file tree 1 file changed +7
-10
lines changed Expand file tree Collapse file tree 1 file changed +7
-10
lines changed Original file line number Diff line number Diff line change @@ -159,7 +159,7 @@ TCP/UDP都是是传输层协议,但是两者具有不同的特性,同时也
159
159
160
160
##### 面向报文
161
161
162
- 面向报文的传输方式是应用层交给UDP多长的报文,UDP发送多长的报文,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率;若太短,会使IP数据包太小 。
162
+ 面向报文的传输方式是应用层交给UDP多长的报文,UDP发送多长的报文,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率;若太短,会使IP数据报太小 。
163
163
164
164
##### 面向字节流
165
165
@@ -197,14 +197,11 @@ TCP是面向连接的,无论哪一方向另一方发送数据之前,都必
197
197
198
198
![ ] ( http://upload-images.jianshu.io/upload_images/3985563-cd5a153e44696643.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
199
199
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三次握手。 |
208
205
209
206
##### 为什么要三次握手?
210
207
@@ -267,7 +264,7 @@ MSL:报文段最大生存时间,它是任何报文段被丢弃前在网络
267
264
268
265
从图中可以看出,B进行了三次流量控制。第一次把窗口减少到 rwnd = 300 ,第二次又减到了 rwnd = 100 ,最后减到 rwnd = 0 ,即不允许发送方再发送数据了。这种使发送方暂停发送的状态将持续到主机B重新发出一个新的窗口值为止。B向A发送的三个报文段都设置了 ACK = 1 ,只有在ACK=1时确认号字段才有意义。
269
266
270
- TCP为每一个连接设有一个持续计时器\( persistence timer\) 。当TCP连接中的发送方收到接收方的零窗口通知时,发送方就启动持续计时器。若持续计时器设置的时间到期,就发送一个零窗口控测报文段 (携1字节的数据)给接收方。如果接收方可以接收数据就重新开始发送数据 ;如果接收方不能接收数据,就重新设置持续计时器。
267
+ TCP为每一个连接设有一个持续计时器\( persistence timer\) 。当TCP连接中的发送方收到接收方的零窗口通知时,发送方就启动持续计时器。若持续计时器设置的时间到期,发送方就发送一个零窗口控测报文段 (携1字节的数据)给接收方。如果接收方可以接收数据,就重新开始发送数据 ;如果接收方不能接收数据,就重新设置持续计时器。
271
268
272
269
### 十、TCP拥塞控制
273
270
You can’t perform that action at this time.
0 commit comments