传输层协议(UDP和TCP)

目录

一、UDP

1、UDP的报文格式

2、UDP的特点

二、TCP

1、TCP的特点

2、如何实现可靠传输

1、确认应答

2、超时重传

3、连接管理机制(非常重要)

4、滑动窗口(批量传输)

5、流量控制

6、拥塞控制

7、延时应答

8、捎带应答

9、面向字节流

10、异常情况

三、TCP/UDP对比

四、小结

五、扩展问题(经典面试题)


一、UDP

1、UDP的报文格式

 🍔注意:一个UDP报文的最大长度就是64KB

校验和存在的意义,就是用来判定一下,当前传输的数据是否出错。校验和出错,传输的数据一定发生了改变;校验和正确,传输的数据也有可能发生改变

2、UDP的特点

  • 无连接
  • 不可靠
  • 面向数据报
  • 全双工

 

 

相对来说内容比较少,软柿子捏完了,接下来看看TCP


二、TCP

1、TCP的特点

报文格式:

  • 有连接
  • 可靠传输(TCP的初心,最核心的机制)
  • 面向字节流
  • 全双工

2、如何实现可靠传输

1、确认应答

确认应答机制

 

 

 对于网络传输过程中可能会出现后发先至的情况,针对这一问题,TCP进行了处理,每一个socket都有一块缓冲区,可以在这里进行 "整队" ,处理了这个问题

2、超时重传

网络传输会出现"丢包"现象,如果包丢了,接收方就收不到发送方发来的数据,自然就不会返回ACK应答报文了。如果发送方迟迟没有收到接收方发来的ACK报文,就会视为 "丢包" ,就会再发一遍


对于丢包,有两种情况:

1、数据直接丢了,接收方没有接收到数据,自然不会发送ACK应答报文,超时重传

2、返回的ACK丢了,此时接收方会收到两份相同的数据(会存在问题),TCP会到接收缓冲区当中查找是否有相同序号的数据,自动去重

 


TCP针对多个包丢失,处理思路:

继续超时重传,每丢包一次,超时等待时间变长(重传的频率降低),连续多次重传,都无法得到ACK,此时TCP就会重置连接,如果重置连接也失败了&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值