Linux-C 网络编程TCP整理API及面试问题
TCP概述1
1.TCP协议分成了两个不同的协议:
·用来检测网络传输中差错的传输控制协议TCP
·专门负责对不同网络进行互联的互联网协议IP
2.TCP/IP与OSI是两类非常重要的体系结构
3.两种体系结构参考模型
面试相关问题
1.为什么连接的时候是三次握手,关闭的时候却是四次握手?
因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK2报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。
2.TCP和UDP的区别?
TCP—传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,