数据通信——TCP(三次握手及基础特性)

这篇具有很好参考价值的文章主要介绍了数据通信——TCP(三次握手及基础特性)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

    TCP(传输控制协议),不像之前的UDP那样,因为这个协议要将很多复杂的东西,所以这次的特性是简单的特性,后续会讲一些复杂难懂的知识,这次先说一些TCP明显的特性

面向连接

    TCP提供了对连接的管理和维持机制,通信基于连接进行。那是什么连接管理机制呢?那就是著名的TCP三次握手

    在正式描述三次握手顺序前,先举个例子。

    你约你女朋友去吃饭,于是发消息

你:在吗?今天去吃饭啊!

女朋友:在吗?我在这。可以去吃饭!那今天几点去啊?

你:我在。我看到你说可以去吃饭的消息了!咱们6点去吧!

    当然,可能发生你女朋友就没给你回话,也有可能发生女朋友跟你回复的话和“今天晚上去楼下吃饭”毫无关系,这都代表通信失败,别舔了。

    你可能觉得上面的通信有点繁琐,有时候我们微信对话都是很简洁,怎么这么复杂,每次发完信息,还要对他上面发的信息说“我收到了”。其实我们是发出去的信息有回复就是默认收到了。但是计算机不是人,它很笨,而且这种复杂更是体现了TCP的细上加细。好了,下面就来看看吧!

先解释下几个词:

1.Seq序号:占32位,是用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。

2.Ack序号:占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。

3.SYN:同步序列编号(Synchronize Sequence Numbers)。

以下是三次握手的简易流程:

数据通信——TCP(三次握手及基础特性),数据通信,tcp/ip,网络,网络协议,信息与通信

    A与B建立TCP连接时:首先A向B发SYN,然后B回复SYN+ACK,最后A回复ACK确认,这样TCP的一次三次握手的过程就完成了。

再来看看详细流程:

    第一次握手:建立连接时,客户端发送syn包(syn=1)到服务器,其中携带Seq(seq=x)序号,并进入SYN_SEND状态,等待服务器确认;

    第二次握手:服务器收到syn包,回复一个相同的SYN表示我们在同一个序列上,并用ACK确认我收到了你的SYN信息。随后,服务器发来它的seq=y序列号,并用ACK=x+1表示我收到了你上面发来的seq=x的信息。此时服务器进入SYN_RECV状态。

    第三次握手:客户端收到服务器的SYN和ACK包,向服务器发送一个ACK=1,表示你上面的ACK我收到了,随后seq发送之前的ack=x+1,确认包回复之前的Seq=y,ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。   

数据通信——TCP(三次握手及基础特性),数据通信,tcp/ip,网络,网络协议,信息与通信

华为教案对TCP握手的图示

    就好比假设对方给你发送了数据12345,但是你就收到1后居然收到了5,ack并不会理会这个5,他只知道在1之后没有收到数据,会要求对方继续发送后续数据。

    这和UDP不同,UDP不会管你是否收到了数据,它只管发出去就不管了,但是TCP很负责,它不仅要保证自己收到了信息,也要保证发来的顺序必须一致,否则拒绝接收后续报文,要求你重复刚才没有发到的数据。

点对点的全双工通信

TCP仅能通过点对点方式进行通信,连接的双方只有两端。不过它拥有点对点的全双工通信能力。每个端口维护和收/发两个缓存队列,各自管理。

可靠交付与面向字节

    TCP是可靠交付,而且面向字节流通信,不像UDP玩命的发送数据,它对数据的流量有控制能力,而且他非常的细致,发来的数据会以字节流的方式不断地进行发送接收。也就是他将报文拆分成了很多字节流,但是每个字节流都有相应的顺序,顺序不对不会接受后续流量,也因为该特性她并不保留边界。消息由字节流的重组是由应用层处理。TCP可以支持任何大小的流量,对他而言都是一串串字节而已。他还有差错控制,以及窗口的拥塞机制

接下来,我们将向其中的特性细致的讲解。文章来源地址https://www.toymoban.com/news/detail-683992.html

到了这里,关于数据通信——TCP(三次握手及基础特性)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络基础】TCP协议之三次握手&四次挥手--详解与常见问题解答

    目录 TCP 的特性 三次握手与四次挥手 三次握手:  灵魂拷问: 四次挥手: 灵魂拷问: 三次握手: 所谓 三次握手 (Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共发送3个包。 三次握手的目的是连接服务器指定端口,建立 TCP 连接,并同步连接双方的序列

    2024年01月20日
    浏览(37)
  • TCP服务器—实现数据通信

    目录 前言 1.接口介绍 2.编写服务器 3.编写客户端 4.编译链接 5.测试 6.总结         今天我们要介绍的是使用TCP协议实现数据通信,相比于之前写的UDP服务器实现数据信,在主体逻辑上并没有差别。客户端向服务器发送信息,服务器接受信息并回显,因为UDP是面向数据报,而

    2024年02月12日
    浏览(25)
  • TCP | TCP协议格式 | 三次握手

    1.TCP协议 为什么需要 TCP 协议 ?TCP 工作在哪一层? IP网络层是不可靠的,TCP工作在传输层,保证数据传输的可靠性。 TCP全称为 “传输控制协议(Transmission Control Protocol”)。 TCP 是 面向连接的、可靠的、基于字节流 : 面向连接 :一定是「一对一」才能连接,不能像 UDP 协议

    2024年03月24日
    浏览(30)
  • LabVIEW平台下的TCP数据通信实现

    LabVIEW是一种流行的图形化编程语言和开发环境,广泛应用于各种科学与工程领域。在LabVIEW中,可以使用TCP/IP协议实现网络通信,并通过TCP数据通信在不同设备之间传输数据。本文将介绍如何在LabVIEW平台下使用TCP/IP协议进行数据通信,并提供相关源代码示例。 TCP数据通信的基

    2024年02月03日
    浏览(24)
  • 【网络|TCP】三次握手、四次握手

    TCP是一种面向连接的可靠的传输协议,建立和断开TCP连接时需要进行握手的过程。其中,TCP的连接建立需要进行三次握手,而连接断开则需要进行四次握手。 三次握手 第一次握手:客户端发送一个SYN(同步)报文给服务器,表示客户端请求建立连接。这个报文中包含一个初

    2024年02月14日
    浏览(29)
  • TCP的三次握手

             TCP 是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务器的内存里保存的一份关于对方的信息,如 IP 地址、端口号等。         TCP 可以看成是一种字节流, 它会处理 IP 层或以下的层的丢

    2024年02月03日
    浏览(32)
  • TCP三次握手详解

    TCP 传输控制协议  面向连接的可靠传输协议--在完成了传输层的基础工作外,还需要保障传输的可靠性; 面向连接:在传输数据前,需要通过三次握手建立端到端的虚链路 可靠传输:传输过程中使用到4种可靠传输机制;-- 确认、排序、流控(滑动窗口)、重传 TCP建连接三次

    2024年02月15日
    浏览(24)
  • TCP三次握手

    三次握手指的是TCP协议建立连接的过程。当客户端请求与服务器建立TCP连接时,必须要经过三次握手才能真正建立连接。 【动图演示 TCP3 次握手过程 连接状态变化 为什么是3次握手而不是2次】 https://www.bilibili.com/video/BV13V411w7Xq/?share_source=copy_webvd_source=1aab39b433529f6f488e61847b342

    2024年02月07日
    浏览(33)
  • qt连接tcp通信和连接数据库

    通过数据库实现学生管理系统 widget.cpp widget.h    tcp服务器 tcp客户端

    2024年02月10日
    浏览(29)
  • 数据通信——传输层TCP(可靠传输原理的ARQ)

    上一篇讲述了停止等待协议的工作流程,在最后提到了ARQ自动请求重传机制。接下来,我们就接着上一篇的篇幅,讲一下ARQ这个机制 还是这个图来镇楼  发送端对出错的数据帧进行重传是自动进行的,因而这种差错控制体制常简称为ARQ(Automatic Repeat reQuest),直译是自动重传请

    2024年02月10日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包