网络——传输层(详细版)

本文深入探讨了传输层的功能,重点关注TCP和UDP协议。详细讲解了UDP的特点,如无连接、不可靠及面向数据报,并介绍了TCP的确认应答、超时重传、连接管理等机制,以及TCP与UDP的主要区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、传输层功能

二、传输层协议

1.UDP协议

(1)协议格式

(2)特点

(3)缓冲区

(4)UDP注意事项

(5)基于UDP的应用层协议

2.TCP协议

(1)协议格式

(2)六位标志位

(3)TCP原理/机制

        ①确认应答机制(安全机制)

        ②超时重传机制(安全机制)

        ③连接管理机制(安全机制)

                        三次握手流程(建立连接)           ​

                        四次挥手流程(关闭连接

        ④滑动窗口机制(提高效率机制)

        ⑤流量控制机制(安全机制)(接收端安全)

        ⑥拥塞机制(安全机制)(发送端安全)

        ⑦延迟应答机制(提高效率机制)

        ⑧捎带应答机制(提高效率机制)

(4)TCP特点

        ①面向字节流

        ②粘包

3.TCP和UDP的区别

三、常见问题


一、传输层功能

提供端对端的接口,确保网络数据传输的可靠性(安全性)向应用层提供通信服务;

(五元组:源ip,源port,目的ip,目的port,协议号;作用:标识一个通信)


二、传输层协议

1.UDP协议

(1)协议格式

  • 16位的源端口/16位的目的端口:描述数据从哪个进程发送到哪个进程 – 负责实现应用程序间的数据传输
  • 16位的数据报长度:包含UDP报文头部在内的整体报文长度,16位存储的最大数字为65535
  • 16位的校验和:二进制反码求和算法,用于校验接收到的数据和发送的数据是否一致
  • 发送方在发送数据之前,校验和为0,从完整报文的第0个字节开始,每个字节进行取反相加,超过16位的部分取出来,再次与低16位进行相加,最后得到一个校验和填充到协议字段中
  • 接收方接收到数据之后,从完整报文的第0个字节开始,每个字节进行取反相加,最终的结果如果为0,则表示数据一致,否则则表示数据不一致

(2)特点

UDP传输过程类似于寄信;

①无连接:知道对端的IP和端口号就直接进传输,不需要建立连接;

②不可靠:没有确认,重传机制;如果因为网络故障该段无法发送到对方,UDP协议层不会给应用层返回任何错误信息;

③面向数据报:不能灵活的控制读写数据的次数和数量;

(3)缓冲区

①没有真正意义上的发送缓冲区,调用sendto会直接交给内核,由内核将数据传给网络层协议进行后续的传输动作;

②具有接收缓冲区,不能保证数据顺序一致;

UDP的socket既能读也能写,叫做全双工;

(4)UDP注意事项

UDP协议首部中有一个16位的最大长度,也就是说一个UDP能传输的数据最大长度是64K(包含UDP首部),如需传输大于64K的数据,就需要在应用层手动分包,多次发送,并在接收端手动拼接;

(5)基于UDP的应用层协议

NFS:网络文件共享;

TFTP:简单文件传输协议;

DHCP:动态主机配置协议;

BOOTP:启动协议(用于无盘设备启动);

DNS:域名解析协议;

2.TCP协议

(1)协议格式

  • 16位的源端口和目的端口:负责应用程序之间的数据传输
  • 32位序号/32位确认序号:实现确认应答机制以及接收端的包序管理
  • 4位头部长度:表示TCP头部有多少,TCP头部是不定长的,主要取决于选项数据的大小,TCP头部最小为20字节,最大60字节(选项数据中占0~40字节)
  • 6位保留位:目前没有想好用来干什么,先预留出来用于以后扩展
  • 6位标志位:URG/ACK/PSH/RST/SYN/FIN
  • 16位窗口大小:表示本端可以接收的数据大小,用于实现滑动窗口机制,进行流量控制
  • 16位校验和:二进制反码求和算法,校验数据接收与发送的一致性
  • 16位紧急指针:标识哪些数据是紧急数据(带外数据)
  • 0-40字节的选项数据:通常用于协商一些信息如MSS的长度

(2)六位标志位

URG:紧急指针是否有效;

ACK:确认号是否有效;

PSH:提示接收端应用程序立刻从TCP缓冲区把数据读走;

RST:对方要求重新建立连接,把携带RST标识的称为复位报文段;

SYN:请求建立连接,把携带SYN标识的称为同步报文段;

FIN:通知对方,本端要关闭了,把携带FIN标识的称为结束报文段;

(3)TCP原理/机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值