首页 > 其他分享 >TCP三次握手(通俗易懂)

TCP三次握手(通俗易懂)

时间:2022-09-28 12:06:34浏览次数:54  
标签:重传 -- 握手 导读 通俗易懂 TCP 连接

一--导读

TCP服务器的传输控制块:

 

指向发送和接收缓存的指针(管发和收的人)
指向重传队列的指针(重新发送的人)
当前的发送和接收序号(管现在发多少和收多少的人)

 

 

二---TCP连接要解决的三个问题

TCP的连接建立主要解决以下三个问题:
1--使TCP双方能够知道对方的存在
2--使TCP双方能够协商一些参数(如最大窗口值,是否使用窗口扩大选项和时间戳选项以及服务质量)
3--使TCP双方能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配。

 

三---图解TCP三次握手


TCP三次握手(通俗易懂)_服务器

 

 

图中

SYN:同步序列编号(Synchronize Sequence Numbers)。是TCP/IP建立连接时使用的握手信号
同步位SYN=1,表明这是一个TCP连接请求报文段(相当于导读中的“安倍”)。

seq=x(sequence number  表示的是我方(发送方)这边,这个packet的数据部分的第一位应该在整个data stream中所在的位置相当于导读中的“500台三星”),作为TCP客户进程选择的初始字号,(

注意:TCP规定的SYN被设置为1的报文段不能携带数据,但要消耗一个序号)。(也就是韩国总统没有说到500,但是他说了一句话)

第一个ACK=1(相当于导读中的“小文啊,收到你的消息了”)。

seq=y (相当于导读中的50辆汽车)

ack=x+1(acknowledge number 表示的是期望的对方(接收方)的下一次sequence number是多少 相当于导读中的500+1)。

第二个ACK=1(相当于导读中的“安倍兄,你的消息我已收到”)

seq=x+1(我给你发500+1台三星

ack=y+1(但你得给我发50+1台汽车

 

四--能否只有两次握手?

答案肯定是不能。看下图

红线部分为一个迟到的连接请求,并且重传计时器结束了他还没有到达,于是发生重传(黑线)。

若只有两次握手,当迟到的到达后,接收方收到了,然后就按规矩建立连接,安排专人(资源)去等待发送方发送数据。但是发送方已经重传过了,他并不知道这个迟到的请求到达了(他也以为重传过了就不会再有重复请求到达),于是接收方就这样傻傻的等待。

TCP三次握手(通俗易懂)_重传_02

三次握手能防止已失效的连接请求报文段突然又传到TCP服务器,导致错误,浪费资源。

 

练习题:

TCP三次握手(通俗易懂)_请求报文_03

 

标签:重传,--,握手,导读,通俗易懂,TCP,连接
From: https://blog.51cto.com/u_15810109/5719131

相关文章

  • TCP协议
    一.TCP协议传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。特点:1)基于流的方式;(2)面向连接;(在通信之前要通过三次......
  • 3.TCP-IP & Linux 模型简介
    Dearall,  更新一节Linux网络驱动视频——3.TCP-IP&Linux模型简介,下节课开始正式编写driver。  B站链接:https://www.bilibili.com/video/BV1DG4y1s7ad/?vd_......
  • TCP 5连问,你能抗到第几轮?
    今日有幸被虐了一把,分享出来,让大家体验一把被虐的快感~~1,TCP3次握手具体过程2,请聊聊SYN攻击3,CLOSE-WAIT和TIME-WAIT的作用4,TCP如何保证可靠性5,TCP如何进行拥塞控制......
  • linux查看tcp连接的建立时间
    linux查看连接的建立时间1、netstat-ntp|grepport确定要找哪个连接,对应的哪个进程,哪个端口,上述是查找26901进程建立的连接37321端口2、lsof-ppid|grepport138就......
  • TCP IP网络编程 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1etFFpH6JwsA8acuHMBh9rg点击这里获取提取码 ......
  • TCP 5连问,你能抗到第几轮?
    1,TCP3次握手具体过程2,请聊聊SYN攻击3,CLOSE-WAIT和TIME-WAIT的作用4,TCP如何保证可靠性5,TCP如何进行拥塞控制答案解析​ TCP是面向连接的通信协议,通过三次握手建立连......
  • Linux tcpdump 命令使用详解
    文章目录一、介绍二、基础用法三、进阶用法四、总结和建议一、介绍在日常工作中,我们总是能遇上各种各样奇怪的网络问题,比如我这台机器怎么ping不通了,我的ssh怎么......
  • window系统如何通过防火箱彻底关闭某个端口(如何通过命令行关闭电脑上的tcp或UDP端口)
    如何通过命令行关闭电脑上的tcp或UDP端口相信很多大家电脑上都会存在一些不常用的端口,那么我们如何去将这些端口关闭呢?方法很简单,下面小编就来为大家介绍。1.首先点击......
  • 【博学谷学习记录】超强总结,用心分享|Java基础分享-TCP/IP 网络模型有哪几层?
    目录1.应用层2.传输层3.网络层4.网络接口层5.总结TCP/IP网络模型有哪几层?问大家,为什么要有TCP/IP网络模型?对于同一台设备上的进程间通信,有很多种方式,比如有管道......
  • 夯实基础之tcp重传内核参数
    第一次握手超时重传参数第一次握手client发送SYN包时,超时重传参数#重传次数默认值$cat/proc/sys/net/ipv4/tcp_syn_retries5#调整重传次数$echo2>/proc/sys/......