Python TCP三次握手与四次挥手过程如何详细记录?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1642个文字,预计阅读时间需要7分钟。
前言:尽管TCP和UDP都使用相同的网络层(IP),但TCP和UDP向应用层提供的服务却完全不同。
TCP提供一种面向连接、可靠的字节流服务。面向连接意味着两个应用在开始传输数据前需要先建立连接,传输结束后再断开连接。可靠的字节流服务则保证数据传输的完整性和顺序。
面向连接意味着两个使用TCP的应用(通常是一个客户端)在开始传输数据前需要先建立连接,传输结束后再断开连接。
前言
尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。
面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。
本文将分别讲解经典的TCP协议建立连接(所谓的“3次握手”)和断开连接(所谓的“4次挥手”)的过程。
先来认识TCP报文格式
下面是TCP报文格式图:
上图中有几个字段需要重点介绍下:
(1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。
(2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。
(3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:
(A)URG:紧急指针(urgent pointer)有效。
(B)ACK:确认序号有效。
本文共计1642个文字,预计阅读时间需要7分钟。
前言:尽管TCP和UDP都使用相同的网络层(IP),但TCP和UDP向应用层提供的服务却完全不同。
TCP提供一种面向连接、可靠的字节流服务。面向连接意味着两个应用在开始传输数据前需要先建立连接,传输结束后再断开连接。可靠的字节流服务则保证数据传输的完整性和顺序。
面向连接意味着两个使用TCP的应用(通常是一个客户端)在开始传输数据前需要先建立连接,传输结束后再断开连接。
前言
尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。
面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。
本文将分别讲解经典的TCP协议建立连接(所谓的“3次握手”)和断开连接(所谓的“4次挥手”)的过程。
先来认识TCP报文格式
下面是TCP报文格式图:
上图中有几个字段需要重点介绍下:
(1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。
(2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。
(3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:
(A)URG:紧急指针(urgent pointer)有效。
(B)ACK:确认序号有效。

