TCP与UDP_三次握手_四次挥手

TCP vs UDP

TCP数据

具体可以通过Cisco Packet Tracer工具查看:

UDP数据

三次握手、四次挥手

为什么是3/4次?这牵扯到单工、双工通信的问题

TCP建立连接:表白

TCP释放连接:分手

TCP---建立连接---三次握手

解释:

  • 首先,启动服务器,让服务器进入监听状态(监听客户端的连接请求)。
  • 客户端向服务器发送同步连接请求:SYN=1;seq=x
    • SYN(同步标识位):将SYN设置为1,代表告诉服务器,我想跟你同步数据,也就是建立连接。
    • seq(序列号):还需要发送一个序列号seq=x给服务器。
  • 服务器给客户端返回接受同步连接请求:SYN=1;ACK=1;seq=y;ack=x+1
    • SYN(同步标识位):服务器返回SYN=1,代表告诉客户端,没问题,我可以和你同步。
    • ACK(确认标识位):ACK=1,代表确认同步,并且还给你发送了确认号。
    • ack=x+1:ack就是确认号;这个x就是客户端向服务器发送同步连接请求时发送的那个序列号。
    • seq=y:还需要发送一个序列号seq=y给客户端。
  • 客户端向服务器发送确认连接信息:ACK=1;seq=x+1;ack=y+1
    • ACK(确认标识位):ACK=1,代表确认同步,并且还给你发送了确认号。
    • ack=y+1:ack就是确认号;这个y就是服务器给客户端返回接受同步连接请求时返回的那个序列号。
    • seq=x+1:将序列号seq=x+1发送给服务器。

总结:

  • 客户端与服务器之间的每次"沟通"都会携带序列号(每一条消息都必须得有序列号)。
  • 序列号是不断增加的,可以用来标识这是自己发送出去的第几条信息。
  • 在建立连接时:确认号(ack)=对方发送的序列号(seq)+1
  • 当连接已经建立完毕,在传输数据时,确认号就不一定是对方发送的序列号+1了,确认号可以为其他值。

TCP三次握手---大白话

客户端给服务器发送一条消息:

  • 客户端知道自己的发送能力没问题
  • 但不知道自己的接收能力 以及 服务器的发送和接收能力有没有问题

服务器收到客户端发来的消息 并 给客户端发送一条消息:

  • 服务器知道自己的接收和发送能力没问题
  • 服务器知道客户端的发送能力没问题
  • 服务器不知道客户端的接收能力有没有问题

客户端接收到服务器发来的消息,再给服务器发送一条消息

  • 客户端知道自己的发送和接收能力都没问题
  • 知道服务器的接收和发送能力都没问题

此时客户端与服务器都知道了自己以及对方的发送和接收能力都没问题,那么就可以建立连接了。

TCP---释放连接---四次挥手

解释:

  • FIN(终止信号):FIN=1代表告诉对方,我想跟你断开连接。

总结:

  • 四次挥手释放连接时,客户端和服务器双方都需要向对方发送一次释放连接请求(双方都需要提出一次"分手")并让对方确认。
  • 当然,第一次释放连接请求是由客户端向服务器发出的。
相关推荐
Riwuarua3 小时前
从近似0基础开始FPGA开发 -- part.10 verilog-ethernet开源UDP协议栈工程学习
fpga开发·udp·开源
sibylyue5 小时前
WebSocket双向长连接传输通道
网络·websocket·网络协议
小小、码农6 小时前
C++11右值引用与移动语义 —— 从拷贝资源到转移资源
开发语言·网络·c++·网络协议
80s7777 小时前
动态ip地址分配通常是由_动态IP与静态IP之间的区别
网络·网络协议·tcp/ip
启博网络9 小时前
实战:无公网IP环境下的企业异地组网方案(附拓扑与IP规划)
linux·网络·tcp/ip
TechVoyager_824610 小时前
IT9205技术解析:4K60 HDR over IP与视频墙的单芯片实现路径
网络协议·音视频·音视频编解码·it9205·专业视听·视频墙芯片·avoverip
隐擎fox10 小时前
跨越传输层防线:深入 TCP/IP 协议栈指纹(p0f)原理与 Python 原始套接字检测实战
python·网络协议·tcp/ip·网络安全·dns
2601_9628857210 小时前
不用 SDK 也能取 A 股数据:AlphaFeed REST API用 cURL/HTTP 直连教程
网络·网络协议·http
Multipath71211 小时前
远程可视操控:多链路聚合如何把“不确定”变“可管理”
网络·网络协议·5g·智能路由器·信息与通信
Jeremy_WW11 小时前
802.3协议解读 01:116章节 200 Gb/s 和 400 Gb/s 网络介绍 I
网络·网络协议·信息与通信·光模块·802.3协议