linux网络
IT技术管理认知&技能全面升级
不辜负自己,成就更好的自己!
展开
-
TCP 的那些事儿(上)
总结滴不错,原文:http://coolshell.cn/articles/11564.htmlTCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,转载 2016-06-14 10:43:30 · 1463 阅读 · 0 评论 -
TCP 的那些事儿(下)
续,文件地址:http://coolshell.cn/articles/11609.html但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计算资源,所以,不适合在厕所中阅读。转载 2016-06-14 10:45:42 · 9111 阅读 · 0 评论 -
使用异步 I/O 大大提高应用程序的性能
Linux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(AIO)应用程序接口(API)就提供了这种功能。在本文中,转载 2016-07-28 12:00:24 · 793 阅读 · 0 评论 -
浅谈TCP/IP网络编程中socket的行为
想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉:1. TCP/IP协议(如连接的建立和终止、重传和确认、滑动窗口和拥塞控制等等)2. Socket I/O系统调用(重点如read/write),这是TCP/IP协议在应用层表现出来的行为。3. 编写Performant, Scalable的服务器程序。包括多线程、IO Multiplexin转载 2016-11-25 18:46:15 · 917 阅读 · 0 评论 -
全面深入分析TCP的TIME_WAIT和CLOSE_WAIT(上)
你遇到过TIME_WAIT的问题吗?我相信很多都遇到过这个问题。一旦有用户在喊:网络变慢了。第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下,哎呀妈呀,几千个TIME_WAIT。然后,做的第一件事情就是:打开Google或者Bing,输入关键词:too many time wait。一定能找到解决方案,而排在最前面转载 2017-07-05 17:43:37 · 5741 阅读 · 1 评论 -
全面深入分析TCP的TIME_WAIT和CLOSE_WAIT(下)
讨论前大家可以拿手头的服务器摸摸底,记住「ss」比「netstat」快:shell> ss -ant | awk ' NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'如果你只是想单独查询一下TIME_WAIT的数量,那么还可以更简单一些:shell> cat /proc/net/sockstat我猜你一定被巨大无比的TI转载 2017-07-05 17:48:39 · 1419 阅读 · 0 评论