前言
TCP和UDP协议是TCP/IP协议的核心,这两个协议属于网络中运输层的协议。
TCP协议
TCP协议(传输控制协议)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。互联网络与单个网络有很大的不同,因为互联网络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其他参数。TCP的设计目标是能够动态地适应互联网络的这些特性,而且具备面对各种故障时的健壮性。TCP协议是一种可靠的协议,在使用TCP发送数据前,需要建立起连接。
TCP主要特点
- 面向连接的运输层协议
- 每条TCP连接只能有两个断电,只能是点对点的
- 提供可靠交付的服务
- 提供全双工通信
- 面向字节流
TCP的首部格式
TCP虽然是面向字节流的,但TCP传送的数据单元是报文段。一个TCP报文段分为首部和数据部分,首部前20个字节是固定的,后面有4n字节是根据需要而增加的选项,因此TCP首部最小的长度是20字节。
- 源端口和目的端口
各占2个字节,分别写入源端口号和目的端口号,作用与下面UDP的分用相似。 - 序列号
序列号是指发送数据的位置,占4个字节。每发送一次数据,就累加一次该数据字节数的大小。