文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

简单介绍TCP协议三次握手过程

懒人大天才

懒人大天才

2024-04-18 19:02

关注

  简单介绍TCP协议三次握手过程:对于网络工程师来说,TCP协议几乎是大家每天都会接触到的网络协议,要知道,绝大多数网络连接的建立都是基于 TCP 协议的,那么接下来,我们就要来简单介绍一下使用 TCP 协议建立连接所需要经过的三次握手过程。

  何为TCP协议三次握手?

  先来说说什么是TCP协议三次握手,所谓三次握手,英文我们称Three-Way Handshake,即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。

  TCP协议三次握手的目的

  那么为什么要进行三次握手呢?就是在你来我间,确认信息,以便建立连接。谢希仁的《计算机网络》中是这么说的:“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。三次握手其实就是为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。业内有一个通俗的说法:“喂,你听得到吗?”“我听得到呀,你听得到我吗?”“我能听到你”虽然不能说是很全面的,但是也有助于大家更简单的理解它。

  TCP协议三次握手过程

  第一次握手

  客户端将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务器,客户端进入SYN_SENT状态,等待服务器确认。

  第二次握手

  服务器收到数据包后由标志位SYN=1知道客户端请求建立连接,服务器将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给客户端以确认连接请求,服务器进入SYN_RCVD状态。

  第三次握手

  客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务器,服务器检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,客户端和服务器进入ESTABLISHED(TCP连接成功)状态。

  完成三次握手,客户端与服务器就开始传送数据了。

  TCP协议三次握手中的一些概念

  在TCP协议三次握手过程中,还有一些重要的概念:比如说未连接列队、Backlog参数、半连接存活时间等等。当服务器维护一个未连接队列,该队列为每个客户端的SYN包(seq=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包;Backlog参数表示内核为相应套接字排队的最大连接个数;而半连接存活时间是指半连接队列的条目存活的最长时间,也即服务器从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。

  编程学习网教育,拥有十年华为网络工程师认证培训经验,编程学习网教育一直坚持自主研发,将丰富的华为网络工程师培训经验有效融入教程研发过程,自成体系的华为网络工程师视频教程华为网络工程师培训教材华为网络工程师在线题库等使考生的学习更具系统性,辅导更具针对性。

  >>>>>>点击进入华为认证专题

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-考试认证-考试信息-考试报考
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯