美文网首页
TCP面向连接的本质

TCP面向连接的本质

作者: 易书乂轩羽 | 来源:发表于2017-08-12 16:55 被阅读353次

HTTP-应用层协议:

1.0与1.1最大的区别在于,HTTP1.1可以支持长连接,头部加入:Connection:keep-alive,即可保持长连接,那么HTTP是如何实现保持长连接的呢?

TCP-UDP-传输层协议:

UDP:面向无连接的协议,数据封装成数据包,发送出去,不保证数据是否送达

TCP:面向连接的协议,所谓面向连接,就是在数据传输之前A和B之间保持一条”连接“,通过这条“连接”,所有的数据被可靠,有序的在两者之间传输

“连接”:这个连接并不是真正意义上的连接,称之为“虚电路”,其实也并不是说A和B之间震荡建立了一条连接,或者说保证了路由路径是一致的,因为路由选择并不是传输层控制的,传输层负责流量控制和差错控制,因此所有的拥塞控制和路由选择其实是IP协议的工作,所以说,TCP怎能保证路由路径是一样的呢,如果出现网络拥堵,必然会重新选择路径。那么这个连接究竟是什么呢?

答案是:状态和序列号,以及错误校验(可以查看TCP和UDP的请求头,就会发现两者之间的差距了),其实所谓的TCP三次握手请求连接,无非就是初始化一个序列号,保证后面的数据有序到达,同时TCP还支持重传,错误校验,保证数据的可靠性,当然UDP也提供校验。

状态:TCP与UDP的区别还在于TCP有很多状态,这个状态保证了A和B如何处理自己收到的数据包,因为如果状态是连接状态,大家可以愉快的通信,但是当一方断开连接,那么之后收到的数据包就该丢弃掉才是正确的选择,所以状态也是保证TCP可靠性的重要因素,具体了解TCP有哪些状态可以网络上搜索一下,这不是这篇的重点。

IP:网络层协议:

IP属于网络层协议,众所周知它是不可靠的,(PS:当初考试背的时候TCP/IP,可靠不可靠,哈哈),因为IP协议是不可靠的,所以不能保证数据有序无误的到达,这就需要TCP/UDP进一步完善。这里要说的不是IP的可靠不可靠,而是说IP进行路由选择,提供拥塞控制,在A和B之间传输IP数据包时,会根据网络状况调整合适的路由路径,把数据包一步一步传到目的IP地址,如果IP包超时或者丢弃,传输层的TCP会因为超时重新封装数据交给IP协议重新发送,而UDP就不会,这就是TCP的面向连接所做到的可靠性的本质。

相关文章

  • TCP面向连接的本质

    HTTP-应用层协议: 1.0与1.1最大的区别在于,HTTP1.1可以支持长连接,头部加入:Connection...

  • TCP/IP协议--TCP三次握手建立连接

    TCP连接 TCP是面向连接的协议,它基于传输连接来传送TCP报文段 TCP传输连接的建立和释放是每一次面向连接的...

  • tcp协议和udp协议的差别

    tcp协议和udp协议的差别 TCP UDP 是否连接 面向连接 面向非连接 传输可...

  • 趣谈网络协议干货-TCP和UDP

    TCP和UDP区别 TCP是面向连接的UDP是面向无连接的 TCP提供可靠交付。通过TCP连接传输的数据,无差错、...

  • UDP:因性善而简单,难免碰到城会玩

    TCP 和 UDP 的区别 TCP面向连接,UDP无连接。在互通之前,面向连接的协议会先建立连接,比如TCP的三次...

  • 常问知识点-网络

    网络 TCP和UDP的区别 TCP面向有连接,提供可靠的传输;UDP面向无连接,不可靠传输 TCP面向字节流,UD...

  • 设计一个基于udp差不多可靠的算法

    TCP VS UDP 1 tcp 是面向连接提供可靠传输;UDP是面向无连接,提供不可靠连接 Tcp 提供流量控制...

  • 计算机网络面试核心

    一、TCP相关 1.TCP与UDP的区别 tcp协议和udp协议的差别 TCPUDP是否连接面向连接面向非连接传输...

  • 开发小知识(二)

    开发小知识(一) 开发小知识(二) 目录 五十一、关联对象 五十二、TCP 面向连接的本质是什么?TCP 和 UD...

  • TCP和UDP的区别——C++

    1面向连接vs无连接 TCP面向连接而UDP面向无连接的,TCP是和单对单传送数据,UDP适合多波发布 2 可靠性...

网友评论

      本文标题:TCP面向连接的本质

      本文链接:https://www.haomeiwen.com/subject/ymkjrxtx.html