传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)

传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)

前言

TCP/IP 协议簇的传输层的协议主要是TCP和UDP协议

TCP协议:(Transimission Control Protocol)传输控制协议

UDP协议:(User Datagram Protocol)用户数据报协议

一、TCP协议介绍

1.1TCP是面向连接的、可靠的进程到进程通信的协议

1.2TCP提供全双工服务,即数据可在同一时间双向传输

1.3TCP报文段

TCP 将若干个字节构成一个分组,叫报文段

TCP报文段封装在IP数据报中
传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)

二、TCP报文格式

传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)

传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)

三、TCP三次握手

传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)

Seq表示请求***,Ack表示确认***

需求:主机1要和主机2通信,需要如下三步来建立连接。

3.1第一次握手:主机1发送建立连接请求 ,SYN=1,并且请求***为x(Seq=x)。

3.2第二次握手:主机2确认收到连接请求,ACK=1,确认***为x+1(Ack=x+1);主机2也向主机1发送建立连接请求,SYN=1,请求***为y(Seq=y)

3.3第三次握手:主机1确认收到连接请求,ACK=1,确认***为y+1(Ack=y+1),与此同时再发送请求***x+1

四、TCP四次挥手

传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)

4.1第一次挥手

PC1发送 FIN 和 ACK 控制位为1的TCP报文段给PC2.(PC1给PC2发送断开连接的消息)

FIN:断开连接标识,提出断开连接的一方将这个值设为1.

ACK:ACK=1,表示确认***字段有效。

4.2第二次挥手

PC2收到PC1的信息,开始回复。(PC2告诉PC1:我已经收到你的断开连接请求了)

PC2 回复 ACK=1 的 TCP 报文段给 PC1。

4.3第三次挥手

PC2现在主动发送消息给PC1,发送 FIN=1,ACK=1 的报文段给PC1.(PC2也发消息给PC1,我也要和你断开连接)

ACK=1,确认***字段有效。

4.4第四次挥手

PC1收到 PC2 的消息,回复ACK=1 的TCP报文段。(PC1确认断连请求)

ACK=1,确认PC2 发给 PC1 的***字段有效。

补充:TCP半关闭概念

在TCP断开连接(四次挥手)的过程中,TCP一方(通常是客户端)可以终止发送数据,但仍然可以接收数据,成为半关闭。

传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)

五、UDP协议介绍

5.1UDP协议

无连接、不可靠的传输协议;花费的开销小

5.2UDP报文的首部格式

传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)

UDP在实际工作中的应用范围很广,例如,聊天工具QQ在发送短消息时就使用了UDP的方式。

六、常见协议及其端口

6.1常见TCP端口号
传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)
6.2常见UDP端口号
传输层协议(TCP、UDP)详解(TCP协议的三次握手,四次挥手及常见协议和端口号)