网络编程
月黑风高云游诗人
uestclqy@foxmail.com
展开
-
IP协议详解
协议森林 我尽力 (IP协议详解)作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!在粗略了解了IP接力和IP地址后,我们再反过来,看一看IP协议的具体细节和设计哲学。IPv4与IPv6头部的对比我们已经在IP接力中介绍过,一个IP包分为头部(header)和数据(payload/data)两部分。头部是为了实现IP通信必须的附加信息转载 2017-05-07 23:30:34 · 344 阅读 · 0 评论 -
socket函数send和recv函数
socket函数send和recv函数Socket的Send,Recv的长度问题:一个包没有固定长度,以太网限制在46-1500字节,1500就是以太网的MTU,超过这个量,TCP会为IP数据报设置偏移量进行分片传输,现在一般可允许应用层设置8k(NTFS系统)的缓冲区,8k的数据由底层分片,而应用层看来只是一次发送。 windows的缓冲区经验值是4k。 Socket本身分为两种,流(TCP)转载 2017-05-09 09:32:39 · 422 阅读 · 0 评论 -
IO多路复用之epoll总结
转载自http://www.cnblogs.com/Anker/archive/2013/08/17/3263780.html IO多路复用之epoll总结 1、基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到转载 2017-06-06 16:23:54 · 557 阅读 · 0 评论 -
TCP慢启动、拥塞避免、快速重传、快速回复
转自:http://blog.csdn.NET/itmacar/article/details/12278769 为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制。最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成,后来TCP Reno版本中又针对性的加入了“快速重传(Fa转载 2017-06-08 11:30:42 · 595 阅读 · 0 评论 -
理解TIME_WAIT
理解TIME_WAIT 转自http://www.firefoxbug.com/index.php/archives/2795/前言TIME_WAIT 是在TCP协议中很模糊的概念,它可能使socke能陷入的一种时间相对比较长的状态,过多的TIME_WAIT会影响新socket的建立。TIME_WAIT为什么会存在?它的作用又是什么?下面我们就来理解下TIME_WAIT。 这张图详细的列出了转载 2017-06-09 10:13:06 · 431 阅读 · 0 评论 -
TCP协议相关问题
当多个连接请求同时到达server,会怎么样?1.TCP存在一个连接队列,对于新的连接请求,该TCP监听的端口的连接队列中还有空间则TCP模块对SYN进行确认并完成连接的建立,丢进连接队列。应用层只在三次握手的第三个报文收到后才知道这个新连接。 2.对于新的连接请求,连接队列中如果没有空间,TCP将不理会收到的SYN,也不发送RST。 3.应用层指明队列大小,积压值。TCP时延确认问题TCP在处理交原创 2017-07-04 21:14:13 · 606 阅读 · 0 评论 -
网络中出现TCP、UDP粘包、分包的两点解决办法
粘包产生原因: 先说TCP:由于TCP协议本身的机制(面向连接的可靠地协议-三次握手机制)客户端与服务器会维持一个连接(Channel),数据在连接不断开的情况下,可以持续不断地将多个数据包发往服务器,但是如果发送的网络数据包太小,那么他本身会启用Nagle算法(可配置是否启用)对较小的数据包进行合并(基于此,TCP的网络延迟要UDP的高些)然后再发送(超时或者包大小足够)。那么这样的话,服务器在转载 2017-08-17 10:55:15 · 574 阅读 · 0 评论