码迷,mamicode.com
首页 > 其他好文 > 详细

计算机网络-传输层-TCP、UDP协议

时间:2020-09-10 22:38:36      阅读:29      评论:0      收藏:0      [点我收藏+]

标签:img   可靠   丢失   服务   序列   二次   链接   ack   状态   

TCP、UDP区别

  • TCP 面向连接,不提供广播、多播;可靠交付;头部长,开销大
  • UDP 无需建立连接,无需确认;不可靠交付;头部短,开销小

TCP可靠交付靠什么实现?

  • 流量控制 滑动窗口机制(超时重传、序列号确认号)
  • 拥塞控制

为什么要三次握手?

避免第二次握手报文丢失

为什么要四次挥手?

=问为什么要在close-wait后再发出一次报文。因为某一方收到fin报文后这一方不再发出报文但是有可能收到报文,colse-wait这段时间为了保证主动关闭的那方发送的报文都被正确接收。

为什么要等待2MSL?

确保第四次报文被正确接收,被动关闭那一方没收到最后的ack报文会重传fin报文,fin报文+ack报文最长耗时2msl,能同步通信双方的状态。

2MSL有什么缺点?怎么避免?

若服务器是关闭连接的那一方,2MSL非常浪费资源。避免方法:不等2msl直接关连接。

对方发来一个fin 这一方回一个ack 然后不等2msl直接关,如果对方收到了ack 就也关闭了 如果对方没有收到ack 会再发一个fin过来 这个时候根据tcp的四元数据找不到对应的链接了,所以返回一个没有连接的错 说明连接已经关了。

三次握手、四次挥手过程

技术图片
技术图片

计算机网络-传输层-TCP、UDP协议

标签:img   可靠   丢失   服务   序列   二次   链接   ack   状态   

原文地址:https://www.cnblogs.com/rikarika/p/13583761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!