1. TCP协议基础与核心机制
TCP(传输控制协议)作为互联网核心协议之一,其可靠性设计堪称网络通信的典范。在实际开发和面试中,深入理解TCP工作机制是每位工程师的必修课。让我们从协议基础开始,逐步拆解那些面试官最关心的技术细节。
1.1 TCP协议栈定位
TCP位于OSI模型的传输层(第四层),直接为应用层提供可靠的字节流服务。与UDP的"尽力而为"不同,TCP通过精心设计的机制保证:
- 数据按序到达(Sequencing)
- 无差错传输(Error-free)
- 无重复交付(No duplication)
- 流量控制(Flow control)
- 拥塞避免(Congestion avoidance)
关键区别:TCP像打电话需要建立连接,保证对话完整;UDP像发短信,只管发送不管到达。选择依据取决于应用场景对可靠性和实时性的要求。
1.2 报文格式深度解析
标准的TCP头部为20字节(无选项时),其结构如同精心设计的控制面板:
code复制 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| |
