当前位置: 首页 > news >正文

网站建设必须要具备哪些知识做网站wzjseo

网站建设必须要具备哪些知识,做网站wzjseo,凡科商城app,wordpress 调用页面列表From: http://blog.163.com/zhangjie_0303/blog/static/990827062012718316231/ Nagle算法 TCP_NODELAY和TCP_CORK Nagle算法 根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程 (称为Nagling)#xff0c;通过减少必须发送的封包的…From: http://blog.163.com/zhangjie_0303/blog/static/990827062012718316231/ Nagle算法 TCP_NODELAY和TCP_CORK Nagle算法 根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程 (称为Nagling)通过减少必须发送的封包的数量提高了网络应用 程序系统的效率。Nagle算法 由Ford Aerospace And Communications Corporation Congestion Control in IP/TCP internetworks(IETF RFC 896)(1984)定义最初是用于缓冲Ford的私有TCP/IP网络拥塞情况不 过被广泛传播开来。 Nagle的文档定义了一种他称之为小封包问题的解决方法。当某个应用程序每次只产生一字节的数 据就会导致网络由于这样的小封包而过载该情况通 常被称为“发送端SB窗口并发症”从 而产生该问题。一个源自键盘的单一字符1字节的数据可能导致一个41字节的封包被传送该 封包包含了1字节的 有用数据和40字节的头部数据。这种4000%过载的情况在像APRANET这样只有 很轻负载的网络中是可以接受的但在像Ford这样的负载很重的网 络中可能强制重传导致封 包丢失并且通过过度拥挤交换节点和网关降低了传播速度。更进一步当连接被丢弃时吞吐量 可能被降低。Nagle算法通常 的实现方法是在一个TCP程序中插入两行代码在发送方对标识 为没有回应的数据进行缓冲存储(这句怪怪的其实应该是对未发送数据按顺序进行缓冲在 发送时进行拼接)。顺序发送的数据将被保持到接收到被标识数据的回应或者一整包有价值的数据 需要被发送。 虽然Nagle算法用于解决Ford网络内产生的问题但同样的问题也出现在APRANet。通过网络 Nagling被广泛实现包括 internet并且产生了巨大的效用虽然某些时候在高交互性环境如一 些C/S情况下不希望进行该处理。在这种情况下可以通过 TCP_NODELAY套接字选项关闭Nagling。 注Nagle虽然解决了小封包问题但也导致了较高的不可预测的延迟同时降低了吞吐量。 实际上这就的你动手来自己实现以下Nagle算法了。实际上Nagle算法并不是很复杂他的主要职责 是数据的累积实际上有两个门槛一个就是缓 冲区中的字节数达到了一定量另一个就是等待 了一定的时间一般的Nagle算法都是等待200ms这两个门槛的任何一个达到都必须发送数据了 。一般 情况下如果数据流量很大第二个条件是永远不会起作用的但当发送小的数据包时 第二个门槛就发挥作用了防止数据被无限的缓存在缓冲区不是好事情哦。 了解了TCP的Nagle算 法的原理之后我们可以自己动手来实现一个类似的算法了在动手之前我们还要记住一个重要的事 情也是我们动手实现Nagle算 法的主要动机就是我想要紧急发送数据的时候就要发送了所以对 于上面的两个门槛之外还的增加一个门槛就是紧急数据发送。现在可以开始工作了我们这里主要 给出思路 首先我们必须在SOCKET之上再建立一层来定义我们的自己的传输控制我们的Nagle算法也是在 这层里面实现的。  Disable哪个TCP的Nagle算法都自己动手写了要它干吗  使 用Select函数来查看是否可以发送数据当然我们实质是否可写的fd_set的时候需要加入我们 的三个门槛首先是按照字节和紧急数据来检查一般情 况下这两个条件就搞定了然后再按照 时间来决定。我们可是使用一个累积字节记数器和一个等待时间计时器。累积字节记数器在每次添 加数据到我们的控制层的时 候就累加一下发送完毕的时候减去响应的字节数而计时器在第一 次将数据提交给控制层的时候启动可以使用Windows的GetTickcount来得 到当前的时间然后 在每次发送数据完毕的时候重新复位一下。  实际上这样就已经实现了Nagle算法而且不需要经常调用GetTickCount而降低了系统的性能。 TCP_CORK TCP链接的过程中默认开启Nagle算法进行小包发送的优化。优化网络传输兼顾网络延时和网 络拥塞。这个时候可以置位TCP_NODELAY关闭Nagle算法有数据包的话直接发送保证网络时效性。 在进行大量数据发送的时候可以置位TCP_CORK关闭Nagle算法保证网络利用性。尽可能的进行数据 的组包以最大mtu传输如果发送的数据包大小过小则如果在0.6~0.8S范围内都没能组装成一个 MTU时直接发送。如果发送的数据包大小足够间隔在0.45内时每次组装一个MTU进行发送。如果 间隔大于0.4~0.8S则每过来一个数据包就直接发送。 下面摘自http://blog.csdn.net/lin49940/archive/2009/07/26/4382303.aspx TCP_NODELAY 选项 设置该选项: public void setTcpNoDelay(boolean on) throws SocketException  读取该选项: public boolean getTcpNoDelay() throws SocketException       默认情况下, 发送数据采用Negale 算法. Negale 算法是指发送方发送的数据不会立即发出, 而是先放在缓冲区, 等缓存区满了再发出. 发送完一批数据后, 会等待接收方对这批数据的回应, 然后再发送下一批数据. Negale 算法适用于发送方需要发送大批量数据, 并且接收方会及时作出 回应的场合, 这种算法通过减少传输数据的次数来提高通信效率. 如果发送方持续地发送小批量的数据, 并且接收方不一定会立即发送响应数据, 那么Negale 算法会使发送方运行很慢. 对于GUI 程序, 如网络游戏程序(服务器需要实时跟踪客户端鼠标的移 动), 这个问题尤其突出. 客户端鼠标位置改动的信息需要实时发送到服务器上, 由于Negale 算法 采用缓冲, 大大减低了实时响应速度, 导致客户程序运行很慢. 下面摘自http://hi.baidu.com/dirlt/blog/item/5ea4be1795d30b03c83d6d7f.html TCP_NODELAY和TCP_CORK 这里了解一下问题的背景就好理解了[不考虑滑动窗口加入只是说packet的组织] 1.历史上TCP是每发送一次包等待一个ACK然后下一个 2.但是在一些交互式应用下比如Telnet结果就是我们每按一次键就会发送一个packet.每一个字 符配一个TCP头效率不高那个Nagle算法出来了。发送方法送数据A时然后再等待接受方的ACK时 积累本地收集到的所有TCP数据包然后一次性发送。但是很明显Nagle算法不利于交互式情景 3.但是现代应用下面还是存在交互式应用的所以有时候我们需要关闭Nagle那么可以设置 TCP_NODELAY 4.但是Nagle组织包的长度是由系统决定的有时候我们知道我们会每个1分钟产生1字节共1000 字节。如果完全由Nagle算法来发送的话可能还是会1字节1字节发送[这是一种极端情况假设返 回ACK时间不是很长]。这个时候首先设置TCP_CORK能够阻塞住TCP[尽量阻塞住]等我们write完 1000字节之后取消TCP_CORK这个时候就能够将1000字节一次发出 TCP_NODELAY和TCP_CORK都是禁用Nagle算法只不过NODELAY完全关闭而TCP_CORK完全由自己决定 发送时机。Linux文档上说两者不要同时设置。
http://www.pierceye.com/news/204174/

相关文章:

  • 400网站建设推广通王网站内容管理系统
  • 上海专业网站制作开发wordpress 一级目录下
  • 要查询一个网站在什么公司做的推广怎么查济南集团网站建设报价
  • 手机静态网站建设课程设计报告形象型网站
  • 网站建设接单渠道百度网站内容
  • 企业网站pv是什么手机网站开发价格
  • 北京网站优化团队oppo开放平台
  • 购物商城外贸网站福州营销型网站建设公司
  • 白酒pc网站建设方案网站不符合个人备案性质
  • 做视频网站程序多少钱免费人体做爰网站
  • 做海外网站 服务器放哪网页设计师通常是设计两套ui吗
  • 海拉尔网站建设做html网站模板下载
  • 为什么网站找不到了东莞智通人才市场招聘官网
  • 如何注册网站名称中国煤炭建设协网站
  • 一个网站为什么做的不好看软件源码成品资源下载网站
  • 网站建设 环讯传媒建设网站要多久到账
  • 溧阳城乡建设厅网站惠州专业网站建设
  • app嵌入手机网站dw旅游网站怎么做
  • wpf做网站烟台做网站工资
  • 做网站公司名字网站建设方案对比分析报告
  • 网站360优化网站开发所需技术
  • 宁河做网站公司wordpress漏洞扫描工具
  • 单位网站建设的目的手机可以做网站服务器吗
  • 上海网站建设有限公司lnmp安装wordpress限权
  • 大航母网站建设服务php一般网站空间多大
  • 中性衣服印花图案设计网站做网站的工作
  • 只做女性的网站编程入门先学什么软件
  • 创客网站建设新余公司做网站
  • 买个网站域名多少钱网站建设 内容缺乏
  • 清河做网站哪里好建设一个网站的文案需要