IP协议提供了在各个主机之间传送数据报的功能,但是数据的最终目的地是主机上的特定应用程序。传输层协议就承担了这样的责任,典型的传输层协议有UDP和TCP两种。
UDP只为应用程序提供了一种无连接的、不可靠的传输服务。
TCP适用于可靠性要求很高的场合。TCP将所有数据看作数据流按照编号的顺序组织起来,采用正面确认以及重传等机制,保证数据流能全部正确到达,才把数据递交给应用层。许多著名的上层协议都是基于TCP实现的,如DNS、HTTP、FTP、SMTP、TELNET等。
报文格式
源端口号和目的端口号:用于标识发送端和接收端应用进程
序号:从发送端到接收端的数据的第一个字节编号。新连接建立时(SYN为1),发送方随机一个初始序号ISN
确认序号:ACK为1时有效,表示上次已成功收到数据字节序号加1
首部长度:TCP首部长度,以4字节为长度。如果没有任何选项字段,首部长度应该为5(20字节)
6个标志比特: