────────────────────────────────────────────────────────────────
┌————————————┐
│▉▉♥♥♥♥♥♥♥♥ 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

Linux服务器开发,Posix API与网络协议栈相关推荐

  1. Posix API 与 网络协议栈 详细介绍

    Posix API 与 网络协议栈 前言 Posix API 有哪些 socket bind 三次握手 建立连接的过程 connect listen accept 数据传输 发送与接收 send &a ...

  2. C/C++Linux服务器开发高级架构师/Linux后台开发架构师丨高级进阶学习

    01 课程介绍 [录播]课程介绍(66分钟) 免费试学 [录播]磁盘存储链式的B树与B+树(131分钟) 免费试学 免费学习视频链接点击:C/C++Linux服务器开发高级架构师/Linux后台架构师 ...

  3. 【零声教育】C/C++Linux服务器开发/高级架构师 课程

    随着去年年底的疫情,很多线下的学习都变成了网课的形式,各种付费学习也萌生出来,很多决定要报名付费网课例如零声学院C/C++linux后台服务器高级架构师的程序员,报名之前总会问我这样一个问题,除了视频 ...

  4. 通过三种情况深度分析,复杂的公网环境,网络穿透如何做到?丨C++后端开发丨P2P丨c/c++Linux服务器开发丨网关API

    通过三种情况深度分析,复杂的公网环境,网络穿透如何做到? 视频讲解如下,点击观看: 通过三种情况深度分析,复杂的公网环境,网络穿透如何做到?丨C++后端开发丨P2P丨c/c++Linux服务器开发丨网 ...

  5. 深入浅出Linux内核网络协议栈|结构sk_buff|Iptables|Netfilter丨内核源码丨驱动开发丨内核开发丨C/C++Linux服务器开发

    深入浅出Linux内核网络协议栈 视频讲解如下,点击观看: 深入浅出Linux内核网络协议栈|结构sk C/C++Linux服务器开发高级架构师知识点精彩内容包括:C/C++,Linux,Nginx, ...

  6. 100行源代码搞定用户态协议栈丨udp,icmp,arp协议的现实丨网络协议栈丨Linux服务器开发丨C++后端开发丨Linux后台开发

    100行源代码搞定用户态协议栈 视频讲解如下,点击观看: 100行源代码搞定用户态协议栈丨udp,icmp,arp协议的现实丨网络协议栈丨Linux服务器开发丨C++后端开发丨Linux后台开发丨网络 ...

  7. 【Linux服务器开发系列】手写一个用户态网络协议栈,瞬间提升你网络功底丨netmap/dpdk的实现

    手写一个用户态网络协议栈,瞬间提升你网络功底 1. 网卡基础架构 2. netmap/dpdk的实现 3. 网络协议栈实战 [Linux服务器开发系列]手写一个用户态网络协议栈,瞬间提升你网络功底丨n ...

  8. Linux高并发服务器开发---笔记4(网络编程)

    0705 第4章 项目制作与技能提升 4.0 视频课链接 4.1 项目介绍与环境搭建 4.2 Linux系统编程1.4.3 Linux系统编程2 4.4 多进程 1-9 10.进程间通信☆☆☆ 4.5 ...

  9. 【Linux服务器开发系列】手写用户态协议栈,udpipeth数据包的封装,零拷贝的实现,柔性数组

    视频教你手写网络协议栈,保证大家能学会,耐心看 1. 用户态协议栈 2. udp/ip/eth数据包的封装 3. 零拷贝的实现 4. 零长数组(柔性数组) [Linux服务器开发系列]手写用户态协议栈 ...

最新文章

  1. IDEA实现到JSTL
  2. tomcat日志格式中的含义
  3. V8 Promise源码全面解读
  4. ROS-kinetic 机器语音 之科大讯飞SDK
  5. 剁馅机器人图片_冲破面皮的束缚,“馅”入美味之中
  6. ireport 无法打开问题
  7. PHP exit函数介绍
  8. Android 学习笔记 Service服务与远程通信...(AIDL)
  9. 剑指offer面试题57 - II. 和为s的连续正数序列(双指针)(滑动窗口)
  10. Halcon学习-光源、镜头、相机选型
  11. 6*6数独,要求输出结果
  12. 计算几何 之 判断两直线是否相交并求两直线交点 代码模板与证明
  13. 双输出基准电压电路/自己备忘
  14. 缠中说禅学习整理——线段定义及划分(一)
  15. 必火CTF闯关(1)
  16. Ubuntu下Linux系统部署fisco时bash操作报错权限不足(permission denied) failed to run command ‘........‘
  17. Typora中如何使用数学公式、数学符号
  18. echart水滴_用echarts实现水滴图效果
  19. H5架设新手小白搭建教程(适用于新手)
  20. 3个月周末,软考高级复习攻略,信息系统项目管理师考后总结

热门文章

  1. Git学习二、GitLab官网,安装自己的一个私有Gitlab代码管理库
  2. NGUI 制作字体集和图集
  3. 设置Win10 输入法默认简体中文
  4. 计算机无线传输的标准,2015计算机三级网络技术考试重点:无线网络
  5. Linux常用命令——grep用法
  6. 蓝牙如何进行广播和扫描
  7. 计算机控制键盘,键盘装置及其计算机控制系统的制作方法
  8. 黑白棋,又叫翻转棋(Reversi)、苹果棋或奥赛罗棋(Othello)。棋盘共有8行8列共64格。开局时,棋盘正中央的4格先置放黑白相隔的4枚棋子。双方轮流落子,只要落子和棋盘上任一枚己方的棋子
  9. sqlconnection mysql_VS连接数据库的通用方法(SQL/MySql)
  10. 计算机,我该学什么?