────────────────────────────────────────────────────────────────
┌————————————┐
│▉▉♥♥♥♥♥♥♥♥ 99% │ ♥❤ 鱼沈雁杳天涯路,始信人间别离苦。
└————————————┘
对你的感情正在充电中,请稍侯…
────────────────────────────────────────────────────────────────

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

────────────────────────────────────────────────────────────────

服务器只有65545个端口,那为什么能做到100w的连接呢?

一个fd就有一个tcb,一百万个fd就要有一百万个tcb,通过五元组进行区分,只要五元组的数量足够多,连接就可以很多。
在这里插入图片描述

  • send()函数只负责将数据拷贝。
  • push标志位置1,立即推给应用程序去处理。
  • 协议头上面加上长度,加上分隔符。顺序是先发的先到、
  • ip层也并不能保证发送的顺序。

延迟ACK

ACK回复只回复到比丢失帧帧号小但是最大的帧。

TCP如此优秀,那为什么还要选择UDP?

弱网环境下,TCP丢包延迟ACK导致多次重传,并且实时性无法保证。

TCP为什么是四次挥手?

恩师表示三次挥手也是可以的,就像男女分开,三次分手就是毫无人性的表示立刻同意分手,当机立断。而四次分手,男方经过慎重思考后决定再去分手。隐身如果交往之时也是同样的可以分为四次拉手。
在这里插入图片描述

服务器出现大量的close_wait如何解决?

在这里插入图片描述

  • 先调用close,都关闭了就解决啦。
  • 将业务信息抛到子线程。

如何终止到fin_wait_2?

在这里插入图片描述
卡在fin_wait_2想取消,进程是关不掉的。

  • 要么这个问题就不解,再起个连接又能怎么样?
  • 设置keepalive
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐