4.1 TCP协议数据格式
nURG(Urgent pointer):紧急指针被使用,则URG设为1。
nACK:设为1表示确认号有效。
nPSH:设为1表示带PUSH标志数据。
nRST:设为1表示重置一个已经混乱的连接。
nSYN:设为1表示用于建立连接的过程。
nFIN:设为1表示释放一个连接。
4.2 TCP端口
连接端口
n传输层协议是通过连接端口(Port)来区分同一台计算机的不同应用程序的。应用程序若通过TCP/IP存取数据,就必须独占一个连接端口编号。
TCP端口
n知名端口:1024(0-1023)以下的端口号,保留用于一些标准的服务。Inetd(internet daemon)守护进程:该守护进程同时关联到多个端口
n套接口:IP地址和TCP应用程序使用的连接端口号两者结合起来称为套接口(Socket Address)。
TCP的特点
TCP 是在IP 提供的服务基础上,提供面向连接的、完全可靠的、面向数据流的传输服务。
①TCP 负责保证数据报从源计算机到目标计算机的传输(即端到端的通信)
②将应用程序之间传输的数据视为无结构的字节流。
③数据流传输之间,TCP 收发模块之间需建立连接(类似虚电路),其后的TCP 报文在此连接的基础上传输。
④TCP 包含确认与重发机制,让来源端可以知道数据是否确实送达,并在发现问题时,来源端可重新传输数据。
⑤流量控制:利用双边的滑动窗口,可视情况随时调整数据传送的速度。
⑥ 全双工通信:
4.3 TCP协议功能
n确认和超时重传机制
nTCP 连接的建立与拆除 ,TCP采用“三次握手”建立连接
nTCP 的滑动窗口机制 ,TCP滑动窗口用于控制流量和控制拥塞。
n TCP头长度:指明了TCP头部包含了以32位为单位的字数。
4.4 UDP
nUDP (User Datagram Protocol ) 是基于无连接的协议。
n无连接通信不提供可靠性,即设备在接收到数据报后不返回一个确认报文。
n无连接协议也不提供差错控制功能,各种错误检查、修正都由应用程序完成。