美文网首页
java 网络编程之TCP “三次握⼿”

java 网络编程之TCP “三次握⼿”

作者: 起飞的锤子 | 来源:发表于2019-05-10 14:31 被阅读0次

TCP “三次握⼿”原理

image.png

每次握手(发送数据请求或应答)时,发送的数据为TCP报⽂,TCP段包含了源/目的地址,端口号,初始序号,滑动窗口大小,窗口 扩大因子,最大报文段长度等。

  • 还有⼀些标志位:
    (1)SYN:同步序号
    (2)ACK:应答回复
    (3)RST:复位连接,消除旧有的同步序号
    (4)PSH:尽可能的将数据送往接收进程
    (5)FIN:发送⽅完成数据发送
    (6)URG
  • 从图中,可以看出三次握⼿的基本步骤是:
  • 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
  • 第二次握手:服务器收到syn包,必须确认客户的SYN(ack,同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
  • 第三次握手:客户端收到服务器的SYN+ACK包,向[服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

相关文章

  • java 网络编程之TCP “三次握⼿”

    TCP “三次握⼿”原理 每次握手(发送数据请求或应答)时,发送的数据为TCP报⽂,TCP段包含了源/目的地址,端...

  • iOS 网络优化

    一.分析网络请求流程及耗时 1、网络请求的过程 发起请求 -> 域名解析 -> tcp三次握手 ( -> tls握...

  • Python TCP编程

    Python网络编程之TCP 一、TCP协议 TCP协议,传输控制协议(Transmission Control ...

  • Java面试——TCP/IP

    参考资料:[1]. 网络编程之accept函数和accept函数在三次握手中的位置[2]. TCP 粘包/拆包的原...

  • 面试题-- 计算机网络

    TCP连接 -- 三次握手 在TCP/IP协议中, TCP提供可靠的连接服务,采用三次握手建立一个连接. 第一次握...

  • Java网络编程之TCP网络通信

    1 网络编程----TCPNo24 【 public class Server { public static...

  • 网络通信

    Tcp通信原理了解吗? Tcp连接需要进行三次握手,断开需要四次挥手。 为什么TCP连接需要三次握手分开需要四次握...

  • 动画图解TCP三次握手

    TCP 三次握手过程不管是对于本科计算机网络学习还是考研考计网的同学来说都是必考的一个,所以要掌握 TCP 整个握...

  • Web协议-TCP/IP协议

    一、TCP协议的三次握手 二、TCP协议是全双工模式(通信双方都在工作)----也有半双工模式 三、抓包验证三次握...

  • Python 高级 4

    网络传输方式-TCP、TCP客户端、TCP服务器、文件下载器、TCP的三次握手、TCP的4次挥手 1.网络传输方式...

网友评论

      本文标题:java 网络编程之TCP “三次握⼿”

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