网络
文章平均质量分 79
yuebaii
一个有态度的码农
展开
-
TIME_WAIT过多的解决办法
执行主动关闭的那端经历了这个状态,并停留MSL(最长分节生命期)的2倍,即2MSL。TIME_WAIT存在的两个理由:1 可靠的实现TCP全双工连接的终止2 允许老的重复的分节在网络上的消逝第一个:如果客户端不维持TIME_WAIT状态,那么将响应给服务端一个RST,该分节被服务器解释成一个错误。如果TCP打算执行所有必要的工作以彻底终止某个连接上两个方向的数据流,那么必须正确的处...转载 2018-08-09 09:44:28 · 7321 阅读 · 0 评论 -
TCP和UDP、流量控制和拥塞控制
URL访问网站时的网络传输全过程,归纳起来就是:首先要通过域名找到IP,如果缓存里没有就要请求DNS服务器;得到IP后开始于目的主机进行三次握手来建立TCP连接;连接建立后进行HTTP访问,传输并获取网页内容;传输完后与目的主机四次挥手来断开TCP连接。整个过程基本分做下面几个部分:1、域名解析成IP地址; 2、与目的主机进行TCP连接(三次握手); 3、发送与收取数据; 4、与...原创 2018-08-08 18:32:31 · 19053 阅读 · 1 评论 -
TCP相关面试题
Q1:TCP报文长度是在TCP三次握手中那一次确定的?这个是关于TCP报文的最大报文段长度mss的相关问题。在TCP连接的前两次握手中(SYN报文中),通信双方都会在选项字段中告知对方自己期待收到最大报文长度(mss值),以双方两个SYN报文中最小的mss最为本次数据传输的mss值。通信双方以“协商”的方式来确定报文长度的,前两次握手是告诉对方自己的mss值,在第三次握手确定mss值Q2:...原创 2018-08-08 22:55:52 · 997 阅读 · 0 评论 -
HTTP中GET和POST的区别
我们通常在讨论 GET vs POST 的时候,实际上讨论的是 specification,而不是 implementation。什么是 specification?说白了就是相关的 RFC。implementation 则是所有实现了 specification 中描述的代码/库/产品,比如 curl,Python 的 requests 库,或者 Chrome。POST 请求怎么发...转载 2018-09-02 10:47:28 · 399 阅读 · 0 评论 -
与网络编程有关的部分内核参数
几乎所有的内核模块,包括内核核心模块和驱动程序,都在/proc/sys 文件系统下提供了某些配置文件以提供用户调整模块的属性和行为。通常一个配置文件对应一个内核参数,文件名就是参数的名字,文件的内容是参数的值。 我们可以通过命令sysctl -a 查看所有这些内核参数。下面说明与网络编程关系较为紧密的部分内核参数。 一、 / proc/sys/fs 目录下的部分文件 ...原创 2018-09-14 15:55:54 · 466 阅读 · 0 评论