前言
在TCP/IP协议中,TCP提供可靠的连接服务,采用三次握手来建立一个连接。TCP是面向连接的协议,它提供可靠的报文传输和对上层应用的连接服务。为此,除了基本的数据传输外,它还有可靠性保证、流量控制、多路复用、优先权和安全性控制等功能。
TCP/IP协议简要说明
TCP/IP协议是根据OSI制定的标准实现,而TCP/IP协议一共分为四层:
- 网络访问层:规范了主机必须使用某种协议与网络相连。
- 互联网层:使主机可以把分组发往任何网络,并使分组独立地传向目标。
- 传输层:在这一层定义了两个端到端的协议传输控制协议(TCP,Transmission Control Protocol)和用户数据报协议(UDP,User Datagram Protocol)。
- 应用层:包含所有的高层协议如HTTP和FTP
TCP报文格式
序列号seq:
占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。
确认号ack:
占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号。
确认ACK:
占1位,仅当ACK=1时,确认号字段才有效。ACK=0时,确认号无效