- 如下图
粗实线箭头
表示对客户进程
的正常变迁。
粗虚线箭头
表示对服务器进程
的正常变迁。
另一种细线箭头
表示异常变迁
。
-
TCP总结
1、建立连接:3次握手
2、发送数据:窗口(序号,发送+接收窗口),确认机制,流量控制,拥塞控制(发现什么时候拥塞,让拥塞来的越晚越好),超时重传…
3、连接释放:四次握手 -
1、含数据的确认报文段不消耗序号。
如下图
#2,#4,#6,B的三个确认序号都是5,且都不带数据。
#7 的确认带20Byte数据,序号是5,但是下一次B的发出的报文段序号就是25了。
-
2、TCP连接建立时所发送的第一个SYN报文段只有首部,没有数据,但仍然要消耗一个序号。
因为这个SYN报文段十分重要,不允许丢失。
因此给SYN报文段一个序号,当接收方收到了序号为x的SYN报文段后,给出的确认就应当是 ack = x + 1。
发送方收到这个ack,就知道发送出去的SYN报文段已经正确地传送到对方了。 -
3、B收到A的连接请求报文段后,需要向A发回一个确认SYN报文段,此报文段消耗序号。
-
4、A在确认上面B的确认SYN报文段时,A发给B的确认报文段不消耗序号。