以用户态和内核态的视角看待TCP

337 阅读1分钟

问题一: 你简单说说TCP握手的过程吧

普通回答:

3次握手,第一次,客户端先发送syn请求至服务端;第二次,服务端回复syn+ack至客户端;第三次,客户端回复ack至服务端;

高手回答:

3次握手是建立可靠连接的最小资源消耗次数
3次握手。第一次,客户端发送syn请求至服务端,服务端将调用接口插入操作系统的内核中的tcp_max_syn_backlog(又称之为syn队列);第二次,服务端回复syn+ack至客户端;第三次,客户端发送ack请求至服务端,服务端从调用接口从系统内核的syn队列取出该次syn请求,并放置backlog(又称之为accept队列);服务端就可以accept队列获取tcp连接;

问题二:TCP如何进行消息打发送

普通回答:

高手回答:

问题三:TCP如何进行消息的接收

普通回答:

高手回答:

问题四:什么是滑动窗口?

普通回答:

高手回答:

问题五:什么是TCP粘包?

普通回答:

高手回答: