目录
一.传输层协议内容
1.TCP协议(传输控制协议)
2.UDP协议(用户数据协议)
二.TCP协议
1.TCP协议概念
TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。
2.TCP协议报文格式
端口号:1.源端口(Source Port):16位,指示发送端应用程序使用的端口号。
2.目的端口(Destination Port):16位,指示接收端应用程序期望接收的端口号。二者与IP首部里的源IP和目标IP,可唯一确定一个连接。
序列号(Sequence Number):32位,本报文段所发送数据的第一个字节的编号。在TCP连接中,所传送字节流的每个字节都会按顺序编号 。
确认号(Acknowledgment Number):32位,接收方期望收到发送方下一个报文段的第一个字节数据的编号,其值是接收方即将接收到的下一个序列号,即下一个接收到的字节的序列号加1。只有ACK标识为1时,此字段有效。
数据偏移(首部长度):4位,指出TCP报文段的数据起始处距离TCP报文段起始处的距离,以32位(4字节)为计算单位。若无选项字段,正常为20字节,最大为60字节。
保留字段(Reserved):6位,为TCP将来发展预留空间,目前必须全部为0 。
标志位字段:共6位6个标志,设置为1时有效。
- URG:(紧急位)紧急指针有效标识,为1时表示紧急指针有效,告知系统此报文段中有紧急数据,应尽快传送。
- ACK:(确认位)确认序号有效标识,为1时确认号字段才有效。
- PSH:(急切位)推送标识,为1时要求接收方尽快将报文段交给应用层。
- RST:(重置位)重建连接标识,为1时表明TCP连接中出现严重错误,必须释放连接,然后重新建立连接。
- SYN:(同步位)同步序号标识,用来发起一个连接。当SYN = 1而ACK = 0时,表明这是一个连接请求报文段。
- FIN:(断开位)为1时表示发送方完成了数据发送 ,请求断开连接。
窗口大小(Window Size):16位,表示从Ack Number开始接收方还可以接收多少字节的数据量,也表示当前接收端的接收窗口剩余空间,用于TCP的流量控制 。
TCP校验和(TCP Checksum):16位,用于确认传输的数据是否有损坏。发送端基于数据内容校验生成一个数值,接收端根据接收的数据校验生成一个值,两个值相同才能证明数据有效。
紧急指针(Urgent Pointer):仅当URG控制位为1时才有意义,指出本数据段中为紧急数据的字节数 。
可选项(Option):长度不定,但必须是32位的整数倍,内容不确定,如最大段大小(MSS)等。
3.TCP协议特点
-
TCP是面向连接的协议
-
TCP是面向字节流的协议
-
TCP的一个连接有两端,即点对点通信
-
TCP协议传输速度虽然慢但能提供可靠的传输服务(错误重传机制)
-
TCP协议提供全双工通信(每条TCP连接只能一对一)
-
TCP是半关闭的协议
4.TCP连接的三次握手
第一次握手:pc1发送一个序号为 x 同步位为1 的请求建立连接的报文;
第二次握手:pc2收到请求建立连接的报文,会回复一个序号为y,同步位为1 ,确认位为1,确认号为x+1的同意建立连接的报文;
第三次握手:pc1收到同意建立连接的报文后,会回复一个序号为x+1,确认位为1,确认号为y+1的确认报文。
5.常见的TCP协议及其对应端口号
HTTP(超文本传输协议):用于在Web浏览器和Web服务器间传输数据,保障网页快速准确传输与显示,如访问各类网站 。(端口号:80)
FTP(文件传输协议):实现客户端和服务器间文件传输,支持上传和下载 。(端口号:20 21)
SMTP(简单邮件传输协议):负责邮件客户端和邮件服务器间邮件传输 。 (端口号:25)
Telnet(远程终端协议):能在本地计算机通过网络连接远程计算机,进行远程操作管理。但安全性低,逐渐被SSH取代 。(端口号:23)
SSH(安全外壳协议):在本地和远程计算机间建立安全加密连接,用于远程访问和管理,比Telnet更安全 。 (端口号:22)
三.UDP协议
1.UDP协议的特点
-
UDP是无连接协议
-
UDP协议传输速度快但不能保证可靠的交付数据,容易丢失数据
-
UDP协议是面向报文传输的
-
UDP协议没有拥塞控制
2.常见的UDP协议及其端口号
SNMP(简单网络管理协议):用于远程监视和管理网络设备,管理员可借此监控网络设备状态、性能等信息 。 (端口号:161)
TFTP(简单文件传输协议):在网络上进行简单的文件传输,常用于小型文件传输或对可靠性要求不高的场景 。 (端口号:69)
DHCP(动态主机配置协议):自动分配IP地址和其他网络配置信息,让设备快速接入网络 。 (端口号:67 68)
NTP(网络时间协议):用于同步网络中设备的时间,确保设备时间一致 。(端口号:123)