【网络基础】传输层协议
目录
一. 传输层协议
二. TCP
- TCP的概念
- TCP头部
- TCP端口号
- TCP建立连接的过程
- TCP传输过程
- TCP流量控制
- TCP关闭连接
三. UDP
- UDP概念
- UDP头部
- UDP传输过程
一.传输层协议
传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据包协议UDP(User Datagram Protocol)。
- TCP是面向连接的,可靠的传输
- UDP是面向无连接的,不可靠的传输
二.TCP
1. TCP的概念
TCP是一种面向连接的传输层协议,可提供可靠的传输服务。
2. TCP头部
- Source Port:源端口号
- Destination Port:目的端口号
- Sequence Number:***
- Acknowledge Number:确认***
- Header length:头部长度
- 标识位:
FIN:释放链接
SYN:建立链接
ACK:确认链接 - Checksum:校验和
3.TCP端口号
端口号用来区分不同的网络服务。(0-1023为知名端口号)
4.TCP建立连接的过程
TCP三次握手建立可靠连接
为什么需要三次握手?
如图,比如主机A在发送了SYN之后,发送数据包时遇到网络故障,数据包停留在主机A处。等到网络突然连通时数据包又成功发送了。服务器A接到数据包就会确认,将资源预留一部分给主机A,但数据包已经过期,主机A并不需要这些资源,所以会造成资源的浪费。所以需要再进行一次确认(再发送一次ACK)。
5.TCP传输过程
TCP的可靠传输还体现在TCP使用了确认技术来确保目的设备收到了从源设备发来的数据,并且是准确无误的。
确认技术的工作原理如下:
目的设备接收到源设备发送的数据段时,会向源端发送确认报文,源设备收到确认报文后,继续发送数据段,如此重复。
如图所示,主机A向服务器A发送TCP数据段,为描述方便假定每个数据段的长度都是500个字节。当服务器A成功收到***是M+1499的字节以及之前的所有字节时,会以***M+1499+1=M+1500进行确认。另外,由于数据段N+3传输失败,所以服务器A未能收到***为M+1500的字节,因此服务器A还会再次以***M+1500进行确认。
6.TCP流量控制
滑动窗口机制:调节服务器和主机之间的发送速率
7.TCP关闭连接
TCP四次挥手关闭连接
三. UDP
1. UDP概念
UDP是一种面向无连接的传输层协议,传输可靠性没有保证。
2. UDP头部
UDP头部仅占8字节,传输数据时没有确认机制。
3. UDP传输过程
使用UDP传输数据时,由应用程序根据需要提供报文到达确认、排序、流量控制等功能。
- UDP不提供重传机制,占用资源小,处理效率高。
- 一些时延敏感的流量,如语音、视频等,通常使用UDP作为传输层协议。