TCP简介

作者: furuiyang | 来源:发表于2018-04-24 13:45 被阅读0次

单工、半双工、全双工

单工通信

单工数据传输只支持数据在一个方向上传输。比如:收音机。

半双工

半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信,该方式慢慢会退出历史舞台。
比如:早期对讲机, 在狭窄的路段只能一辆车通行。

全双工

允许数据同时在两个方向上传输,在同一时间,既允许发数据,也允许接收数据。
比如: 网卡,电话,手机,socket,就是全双工通信,既能同时收数据,也能同时发数据。

什么是TCP

TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
TCP通信需要经过创建连接、数据传送、终止连接三个步骤。

TCP特点

1 面向连接

通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。
双方间的数据传输都可以通过这一个连接进行。
完成数据交换后,双方必须断开此连接,以释放系统资源。
这种连接是一对一的,因此TCP不适用于广播的应用程序,基于广播的应用程序请使用UDP协议。

2 可靠传输

1)TCP采用发送应答机制

TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功。

2)超时重传

发送端发出一个报文段之后就启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段。
TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。

3)错误校验

TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

4) 流量控制和阻塞管理

流量控制用来避免主机发送得过快而使接收方来不及完全收下。

TCP与UDP的不同点

面向连接(确认有创建三方交握,连接已创建才作传输。)
有序数据传输
重发丢失的数据包
舍弃重复的数据包
无差错的数据传输
阻塞/流量控制

小结udp和tcp通信模型

udp通信模型中,在通信开始之前,不需要建立相关的连接,只需要发送数据即可,类似于生活中,"写信""


udp.jpg

tcp通信模型中,在通信开始之前,一定要先建立相关的连接,才能发送数据,类似于生活中,"打电话""


tcp.png

相关文章

  • TCP简总

    本文目录 1.TCP简介 2.TCP连接过程和状态 3.TCP服务端编程模型 1.TCP简介 TCP是TCP/IP...

  • 说说TCP的三次握手和四次挥手

    一、传输控制协议TCP简介 1.1 简介 TCP(Transmission Control Protocol) 传...

  • 全面分析TCP的三次握手和四次挥手

    一、传输控制协议TCP简介 1、简介TCP(Transmission Control Protocol) 传输控制...

  • TCP简介

    单工、半双工、全双工 单工通信 单工数据传输只支持数据在一个方向上传输。比如:收音机。 半双工 半双工数据传输允许...

  • TCP简介

    看了阮一峰老师的关于TCP协议的文章后,自己做了些总结传送门:http://www.ruanyifeng.com/...

  • Tcp简介

    特性 工作在传输层 面向连接协议 全双工协议 半关闭 错误检查 将数据打包成段,排序 确认机制 数据恢复,重传 流...

  • TCP简介

    一、定义 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠...

  • Python day05_TCP

    TCP 简介1

  • 每日一问20——TCP

    简介 传输控制协议TCP(Transmission Control Protocol)[RFC 768]、 TCP...

  • TCP-连接、断开和滑动窗口简介

    转载:TCP-连接、断开和滑动窗口简介 1.TCP概述TCP(Transmission Control Proto...

网友评论

      本文标题:TCP简介

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