目录

1、TCP协议介绍和UDP协议介绍

2、TCP报文格式

3、TCP三次握手

4、TCP四次挥手

5、常用的TCP端口号及其功能

6、UDP协议介绍

       6.1、UDP报文格式

       6.2、常用的UDP端口号及其功能

总结、


1、TCP协议介绍和UDP协议介绍

TCP协议: 传输控制协议

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

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

UDP协议: 用户数据报协议

   UDP协议是无连接、不保证可靠性的传输协议,发送端不关心发送的数据是否到达目标主机、数据是否出错等,收到数据的主机也不会告诉发送方是否收到了数据,它的可靠性由上层协议来保障。传输数据速度更快,效率更高。

2、TCP报文格式

源端口号:发送方进程的端口号

目标端口号:接收端进程的端口号,接收端收到数据段后,根据这个端口号来确定把数据送给哪个应用程序的进程

序号:发送端为每个字节进行编号,便于接收端正确重组

确认号:对发送端的确认信息

首部长度:用它可以确定TCP首部数据结构的字节长度。一般情况下TCP首部是20字节,但首部长度最大可用扩展为60字节

控制位:

URG:紧急位 紧急指针有效位

ACK: 确认位 只有当ACK=1时,确认序列号字段才有效:当ACK=0时,确实号字段无效

PSH: 急迫位 标志位为1时,要求接收方尽快将数据段送达应用层

RST: 重置位 当RST值为1时,通知重新建立TCP连接

SYN: 同步(连接)位 同步序号位,TCP需要建立连接时将这个值设为1

FIN: 断开位 当TCP完成数据传输需要断开连接时,提出断开连接的一方将这个值设为1

窗口大小:说明本地可接收数据段的数目。这个值的大小是可变的,当网络通畅时接收端响应消息会将这个窗口值变大以加快传输速度,当网络不稳定时减小这个值可保证网络数据的可靠传输,TCP中的流量控制机制就是依靠变化窗口的大小实现的。

校验和:用来做差错控制。字段检验的范围包括首部和数据这两部分。数据段在发送时和到达目的地时会进行校验和计算,若这两次的校验和一致,则说明数据基本是正确的,否则将认为该数据已被破坏,接收端将丢弃该数据

紧急指针:和URG配合使用,当URG=1时有效

选项:在TCP首部可以有多达40字节的可选信息

源端口号(16) 目标端口号(16)
序号(32)
确认号(32)
首部长度(4) 保留(6) URG ACK PSH RST SYN FIN 窗口大小(16)
校验和(16) 紧急指针(16)
选项

3、TCP三次握手

TCP是面向连接的,就是说每次发送数据之前都要和对方建立一条可靠的连接,这个建立连接的过程分为3个步骤,就叫做三次握手

当客户瑞向服务器发送请求连接的报文时:

seq序列号=x(x为随机)

SYN=1(表示发送连接请求) (此时连接状态为同步已发送状态)

服务器端收到客户端发来的请求报文后,同意建立连接,则向客户端发送确认报文:Seq序列号=y(这时服务器也会产生一个序列号y,和客户端的序号不相关)

Ack确认号=x+1 (seq序列号x+1,表示确认收到了客户端的请求)

ACK=1(表示这是条确认请求)

SYN=1(同时也发送一个建立连接的请求) (同步收到状态)

客户端进程收到服务端进程的确认后,还要向服务端给出确认,然后连接成功建立:seq序列号=x+1(这时客户端的序号为1)

Ack确认号=y+1(表示确认收到了服务器的连接请求)ACK=1(表示这是确认报文(已建立连接状态)

4、TCP四次挥手

第一次挥手: PC1发送Fin + Acknowledgement给PC2端,表示自己要断开连接,这个时候PC1端已经没有数据要发送了。

第二次挥手:接收到PC1发送的断PC2开请求连接,那么这个时候PC2需要发迭一个Ack=-1用于确定客户请求断开的信息成功接收了:有时候这个过程也会和第三次握手进行合并,就像上面展示的一样。

第三次挥手:PC2如果所有的数据已经接收完毕,这个时候就会发送一个Fin=1,而Ack=0用于表示PC2端已经没有数据要发送了,需要关闭连接。

第四次挥手: PC1端需要发送一个Ack= 1表示这个PC1接收到了PC2的关闭请求信息,这样一来双方的就都关闭了通信

5、常用的TCP端口号及其功能

端口 协议 说明
21 FTP

ftp服务器所开发的控制端口

23 Telnet

用于远程登陆,可以远程控制管理目标计算机

25 SMTP

smtp服务器开放的端口,用于发送邮件

80 HTTP

超文本传输协议

443 HTTPS

超文本传输协议

110 POP3

用于邮件的接收

22 ssh

有加密和安全认证(多功能),安全

6、UDP协议介绍

无连接,不可靠的传输协议

花费的开销小

6.1、UDP报文格式

UDP报文的首部格式

源端口号 (16) 目标端口号 (16)

UDP长度(16 ) UDP校验和 (16)

UDP长度:用来指出UDP的总长度,为首部加上数据

校验和:用来完成对UDP数据的差错校验,它是UDP协议提供的唯一的可靠机制

6.2、常用的UDP端口号及其功能

端口 协议 说明
69 TFTP 简单文件传输协议
111 RPC 远程过程调用
123 NTP 网络时间协议
161 SNMP 简单网络管理协议

总结、

我们了解了TCP是一个面向连接的协议,TCP建立连接需要通过三次握手,以及四次挥手,

我们还知道了UDP是无连接,不可靠的传输协议还知道了一些常用的UDP端口号和TCP常用的端口号。

原文链接:https://blog.csdn.net/weixin_56270746/article/details/123384397

最后修改:2023 年 10 月 26 日
如果觉得我的文章对你有用,请随意赞赏