六十年代初,为了保证美国本土防卫力量和海外防御武装在受到前苏联第一次核打击以后仍然具有一定的生存和反击能力,认为有必要设计出一种分散的指挥系统,「它由一个个分散的指挥点组成,当部分指挥点被摧毁后,其它点仍能正常工作,并且在这些点之间能够绕过那些已被摧毁的指挥点而继续保持联系。这个设计出发点很重要,理解了它,就能够理解为何后面要学习的 TCP 要这么设计。
在 Linux 系统中,可以使用 netstat 或 ss 命令查看 TCP 连接状态。使用 netstat 命令:该命令可以列出所有已建立的 TCP 连接,其中 -a 选项表示显示所有连接,包括已建立、正在等待和已经关闭的连接;
tcp编程时,在双方正式通信之前,首先需要经过三次握手。但是据我所知,三次握手中,第三次发送ACK的时候,如果此时ACK丢失,那么服务端在一段时间内没收到ACK,服务端就会重新发送SYN+ACK,以确保正确建立连接。