没有合适的资源?快使用搜索试试~ 我知道了~
Linux 应用程序connect timeout原因
需积分: 50 3 下载量 140 浏览量
2018-05-12
21:42:24
上传
评论
收藏 235KB DOCX 举报
温馨提示
试读
3页
应用报connect timeout的原因, 从物理网卡,网卡驱动,内核,协议栈,应用层 整个数据包的流向。
资源推荐
资源详情
资源评论
应用报 的原因
声明由于学识和眼界有限,不免会有疏漏不妥之处,欢迎各位读者批评指正,作者的环境
基于 网卡 驱动,非虚拟化场景(虚拟化场景更复杂)
背景
经常有开发人员发现应用报:,看到这样的消息,开发人员很容易将问题
抛给网络工程师网络工程师面临此种情况在查找完网络设备无问题后毫无头绪。
分析过程以及解决办法
实际上数据包发送到网络,或者接收包到主机,这个过程中会经过很多的环节。 首先明
确一点的是,连续第丢失多个包就可能导致 本文将介绍一下哪些因素会导
致包被 掉。
首先看一下数据包接收的示意图。
图 中红色的是数据包和应用蓝色椭圆形代表的是队列结构,蓝色长方形代表处理动
作,紫色长方形代表可以配置的运维工具蓝色的线条箭头代表运维工具所处的位置。 黑
色长方形代表相关的性能参数可配置的。
系统启动过程中,网卡驱动加载完成 ! 初始化完成【初始化 " 数组 ! 环形队列,
##$%&%'】。
网络包首先达到物理网卡的 (() 队列中, ! 模块在 ! 环形队列中找出空闲描述符,
将网卡 (() 中的包复制到主存中空闲描述符指向的 $%更新描述符状态,
*+ 调用&&,&-&$.轮询 $/&## 队列触发软中断,调用 &-&# 中断
处理函数,读取 ! 环形队列中的数据,解除 ! 映射,更新描述符然后进入每个 *+
核心关联的 $/&## 队列调用 ,&01&$%,然后进入 23*2+ 协议栈处理。
资源评论
xiatian027
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功