计算机网络--运输层

1.概述

首部格式

在这里插入图片描述

应用层协议所应用的传输层协议

在这里插入图片描述
在这里插入图片描述

2. TCP

2.1流量控制

在这里插入图片描述

2.2拥塞控制

在这里插入图片描述
在这里插入图片描述

2.3 可靠传输

在这里插入图片描述

2.4TCP连接建立过程

在这里插入图片描述
为什么TCP连接需要三次握手而不是两次?
如果是两次握手就建立连接,即服务器端发送ack后就建立连接并分配资源,当迟到的tcp请求到达已经关闭了tcp连接的服务器端,服务器端会立即发送ack,并分配资源建立连接,但由于此时客户端已经关闭了上一次的连接,所以不会对此次ack响应,造成资源浪费。
在这里插入图片描述

2.5TCP连接释放过程

在这里插入图片描述
在这里插入图片描述
为什么tcp连接释放需要四次挥手,三次可以吗?
不可以。如果三次挥手后客户端直接关闭连接,无法保证客户端发送的ack到达服务器端。当客户端发送的ack丢失,服务器端重传fin,但此时客户端已经关闭连接,不响应此报文,造成服务器端无法计入closed状态。
在这里插入图片描述
当客户端进入TIME-WAIT状态的时候(也就是第四次挥手的时候),必须经过时间计数器设置的时间2MSL(最长报文段寿命)后,才能进入关闭状态,这时为什么呢?(参考自:https://blog.csdn.net/sinat_35297665/article/details/80979181)

1、(同为什么需要四次挥手)为了保证客户端发送的最后一个ACK报文段能够到达服务器。因为这个ACK有可能丢失,从而导致处在LAST-ACK状态的服务器收不到对FIN-ACK的确认报文。服务器会超时重传这个FIN-ACK,接着客户端再重传一次确认,重新启动时间等待计时器。最后客户端和服务器都能正常的关闭。假设客户端不等待2MSL,而是在发送完ACK之后直接释放关闭,一但这个ACK丢失的话,服务器就无法正常的进入关闭连接状态。

2、他还可以防止已失效的报文段。客户端在发送最后一个ACK之后,再经过经过2MSL,就可以使本链接持续时间内所产生的所有报文段都从网络中消失。从保证在关闭连接后不会有还在网络中滞留的报文段去骚扰服务器。
课件参考资料: https://www.icourse163.org/learn/HNKJ-1461816178?tid=1467414442#/learn/content

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值