TCP/IP协议族的传输层协议主要包括TCP和UDP。TCP是面向连接的可靠的传输协议。它支持在并不可靠的网络上实现面向连接的可靠数据传输。UDP是无连接的传输协议,主要用于支持在校可靠的链路上的数据传输,或用于对延迟敏感的应用。
TCP/IP传输层的作用
TCP/IP的传输层位于应用层和网络层之间,为终端主机提供端到端的连接。TCP/IP的传输层有TCP和UDP两种主要协议。TCP和UDP都基于相同的网络层协议IP。传输层协议的主要作用:
- 提供面向连接或无连接的服务:传输层协议定义了通信两端点之间是否需要建立可靠的连接关系。
- 维护连接状态:如果必须在通信前建立连接关系,传输层协议必须在其数据库中记录这种连接关系,并且通过某种机制维护连接关系,及时发现连接故障灯。
- 对应用层数据进行分段和封装:应用层数据往往是大块的或持续的数据流,而网络只能发送长度有限的数据包,传输层协议必须在船上应用层数据之前将其划分成适当尺寸的段(segment),再交给IP协议发送。
- 实现多路复用(Multiplexing):一个IP地址可以标识一个主机,一对“源-目的”IP地址可以标识一对主机的通信关系,而一个主机上却可能同时有多个程序访问网络,因此传输层协议采用端口号(port number)来标识这些上层的应用程序,从而使这些程序可以复用网络通道。
- 可靠地传输数据:数据在跨网络传输过程中可能出现错误、丢失、乱序等种种问题,传输层协议必须能够检测并更正这些问题。
- 执行流量控制(flow control):当发送方的发送速率超过接收方的接收速率时,或者当资源不足以支撑数据的处理时,传输层负责将流量控制在合理的水平;反之,当资源允许时,传输层可以放开流量,使其增加到适当的水平。
TCP协议基本原理
TCP协议的特点
RFC793定义的TCP是一种面向连接的、端到端的可靠传输协议。TCP的主要特点包括:
- 三次握手(Three-Way Handshake)建立连接:确保连接建立的可靠性。
- 端口号:通过端口号标识上层协议和服务,实现了网络通道的多路复用。
- 完整性校验:通过对协议和载荷数据计算校验和(Checksum),保证了接收方能检测出传输过程中可能出现的差错。
- 确认机制:对于正确接收到的数据,接收方通过显式应当通告发送方,超出一定时间之后,发送方将重传没有被确认的段,确保传输的可靠性。
- 序列号:发送的所有数据都拥有唯一的序列号,这样不但唯一标识了每一个段(segment),而且明确了每个段在整个数据流中的位置,接收方可以利用这些信息实现确认、丢失检测、乱序重排等功能。
- 窗口机制:通过可调节的窗口,TCP接收方可以通告期望的发送速度,从而控制数据的流量。
时间: 2024-09-27 04:46:17