﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-Scripts-随笔分类-Linux</title><link>http://www.cnitblog.com/scripts/category/3293.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 07 Oct 2011 00:55:09 GMT</lastBuildDate><pubDate>Fri, 07 Oct 2011 00:55:09 GMT</pubDate><ttl>60</ttl><item><title>Cyrus-Imapd Sieve 启用 Vacation</title><link>http://www.cnitblog.com/Scripts/archive/2009/05/24/58741.html</link><dc:creator>Scripts</dc:creator><author>Scripts</author><pubDate>Sun, 24 May 2009 15:46:00 GMT</pubDate><guid>http://www.cnitblog.com/Scripts/archive/2009/05/24/58741.html</guid><wfw:comment>http://www.cnitblog.com/Scripts/comments/58741.html</wfw:comment><comments>http://www.cnitblog.com/Scripts/archive/2009/05/24/58741.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/Scripts/comments/commentRss/58741.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/Scripts/services/trackbacks/58741.html</trackback:ping><description><![CDATA[<p dir=ltr style="MARGIN-RIGHT: 0px">由于需要为Cyrus-Imapd的Web客户端SquirrelMail添加一个自动回复的功能，所以找到了Avelsieve插件，按照说明安装完毕后，发现在实际运行中，始终没有收到自动回复的邮件，Google了很久都没有结果，最后自已分析后，终于解决了这个问题，记录下来备忘。<br><br>OS: CentOS5.3<br>IMAP: Cyrus-Imapd 2.3.7<br>WEB: SquirrelMail 1.4.17<br>PLUGIN: Avelsieve 1.9.8<br><br>解决办法：<br><br></p>
<p style="MARGIN-RIGHT: 0px">查看/etc/cyrus.conf，需要添加以下一行内容在 SERVICES 块中：<br></p>
<p style="MARGIN-RIGHT: 0px"></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">notify&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd="notifyd"&nbsp;listen="/var/lib/imap/socket/notify"&nbsp;proto="udp"&nbsp;prefork=1</span></div>
<p>&nbsp;</p>
<p style="MARGIN-RIGHT: 0px">查看/etc/imapd.conf，需要添加以下内容：<br></p>
<p style="MARGIN-RIGHT: 0px"></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">sievedir:&nbsp;/var/lib/imap/sieve<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>sendmail:&nbsp;/usr/sbin/sendmail.postfix<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>notifysocket:&nbsp;/var/lib/imap/socket/notify<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>sievenotifier:&nbsp;mailto</span></div>
<p>&nbsp;</p>
<p style="MARGIN-RIGHT: 0px">重启Cyrus-Imapd服务后，如果发现：<br></p>
<p style="MARGIN-RIGHT: 0px"></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">lmtpd:&nbsp;couldn't&nbsp;exec()&nbsp;sendmail</span></div>
<p>首先查看/usr/sbin/sendmail.postfix是否存在，其次是查看是不是启用了SELinux，如果是，则用以下命令禁止SELinux：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">/usr/bin/setenforce&nbsp;0</span></div>
<p>&nbsp;</p>
<p style="MARGIN-RIGHT: 0px">&nbsp;</p>
<img src ="http://www.cnitblog.com/Scripts/aggbug/58741.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/Scripts/" target="_blank">Scripts</a> 2009-05-24 23:46 <a href="http://www.cnitblog.com/Scripts/archive/2009/05/24/58741.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CentOS 5 国内源</title><link>http://www.cnitblog.com/Scripts/archive/2009/05/21/57371.html</link><dc:creator>Scripts</dc:creator><author>Scripts</author><pubDate>Thu, 21 May 2009 06:41:00 GMT</pubDate><guid>http://www.cnitblog.com/Scripts/archive/2009/05/21/57371.html</guid><wfw:comment>http://www.cnitblog.com/Scripts/comments/57371.html</wfw:comment><comments>http://www.cnitblog.com/Scripts/archive/2009/05/21/57371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/Scripts/comments/commentRss/57371.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/Scripts/services/trackbacks/57371.html</trackback:ping><description><![CDATA[最快捷的更改 CentOS 5 源的方法如下：<br>
<pre>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">cd&nbsp;/etc/yum.repos.d<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>mv&nbsp;CentOS-Base.repo&nbsp;&nbsp;CentOS-Base.repo.save<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>wget&nbsp;http://centos.ustc.edu.cn/CentOS-Base.repo.5<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>mv&nbsp;CentOS-Base.repo.5&nbsp;CentOS-Base.repo</span></div>
<br></pre>
<br><br>
<img src ="http://www.cnitblog.com/Scripts/aggbug/57371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/Scripts/" target="_blank">Scripts</a> 2009-05-21 14:41 <a href="http://www.cnitblog.com/Scripts/archive/2009/05/21/57371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tcp_syn_retries等参数详解(转帖)</title><link>http://www.cnitblog.com/Scripts/archive/2009/05/20/57350.html</link><dc:creator>Scripts</dc:creator><author>Scripts</author><pubDate>Wed, 20 May 2009 03:48:00 GMT</pubDate><guid>http://www.cnitblog.com/Scripts/archive/2009/05/20/57350.html</guid><wfw:comment>http://www.cnitblog.com/Scripts/comments/57350.html</wfw:comment><comments>http://www.cnitblog.com/Scripts/archive/2009/05/20/57350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/Scripts/comments/commentRss/57350.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/Scripts/services/trackbacks/57350.html</trackback:ping><description><![CDATA[<span>
<p align=left><strong><span>tcp_syn_retries</span></strong><span> </span><span>：<span>INTEGER<br></span><span>默认值是</span><span>5</span><span><br></span>对于一个新建连接，内核要发送多少个<span> SYN </span>连接请求才决定放弃。不应该大于<span>255</span>，<span>默认值是</span><span>5</span>，对应于<span>180</span>秒左右时间。<span>(</span><span>对于大负载而物理通信良好的网络而言<span>,</span>这个值偏高<span>,</span>可修改为</span><span>2</span><span>.</span><span>这个值仅仅是针对对外的连接<span>,</span>对进来的连接<span>,</span>是由</span><strong><span>tcp_retries1</span></strong><span> </span><span>决定的<span>)</span></span><span><br><br><strong>tcp_synack_retries</strong> </span>：<span>INTEGER<br></span><span>默认值是</span><span>5</span><span><br></span>对于远端的连接请求<span>SYN</span>，内核会发送<span>SYN </span>＋<span> ACK</span>数据报，以确认收到上一个<span> SYN</span>连接请求包。这是所谓的三次握手<span>( threeway handshake)</span>机制的第二个步骤。这里决定内核在放弃连接之前所送出的<span> SYN+ACK </span>数目。不应该大于<span>255</span>，<span>默认值是</span><span>5</span>，对应于<span>180</span>秒左右时间。<span>(</span><span>可以根据上面的</span> <strong><span>tcp_syn_retries</span></strong><span> </span><span>来决定这个值<span>)<br></span></span><span><br><strong>tcp_keepalive_time</strong> </span>：<span>INTEGER<br></span><span>默认值是</span><span>7200(2</span><span>小时<span>)</span></span><span><br></span>当<span>keepalive</span>打开的情况下，<span>TCP</span>发送<span>keepalive</span>消息的频率。<span>(</span><span>由于目前网络攻击等因素<span>,</span>造成了利用这个进行的攻击很频繁<span>,</span><em>曾经也有<span>cu</span>的朋友提到过<span>,</span>说如果<span>2</span>边建立了连接<span>,</span>然后不发送任何数据或者<span>rst/fin</span>消息<span>,</span>那么持续的时间是不是就是<span>2</span>小时<span>,</span>空连接攻击<span>?</span></em><span> </span></span><strong><span>tcp_keepalive_time</span></strong><span>就是预防此情形的<span>.</span>我个人在做<span>nat</span>服务的时候的修改值为</span><span>1800</span><span>秒<span>)<br></span></span><span><br><strong>tcp_keepalive_probes</strong></span><strong>：</strong><span>INTEGER<br></span><span>默认值是</span><span>9</span><span><br>TCP</span>发送<span>keepalive</span>探测以确定该连接已经断开的次数。<span>(</span><span>注意<span>:</span>保持连接仅在<span>SO_KEEPALIVE</span>套接字选项被打开是才发送<span>.</span>次数默认不需要修改<span>,</span>当然根据情形也可以适当地缩短此值<span>.</span>设置为</span><span>5</span><span>比较合适<span>)</span></span><span><br><br><strong>tcp_keepalive_intvl</strong></span>：<span>INTEGER<br></span><span>默认值为</span><span>75<br></span>探测消息发送的频率，乘以<span>tcp_keepalive_probes</span>就得到对于从开始探测以来没有响应的连接杀除的时间。默认值为<span>75</span>秒，也就是没有活动的连接将在大约<span>11</span>分钟以后将被丢弃。<span>(</span><span>对于普通应用来说<span>,</span>这个值有一些偏大<span>,</span>可以根据需要改小<span>.</span>特别是<span>web</span>类服务器需要改小该值<span>,</span></span><span>15</span><span>是个比较合适的值<span>)</span></span><span><br><br><strong>tcp_retries1</strong> </span>：<span>INTEGER<br></span>默认值是<span>3</span><span><br></span>放弃回应一个<span>TCP</span>连接请求前﹐需要进行多少次重试。<span>RFC </span>规定最低的数值是<span>3</span>﹐这也是默认值﹐根据<span>RTO</span>的值大约在<span>3</span>秒<span> - 8</span>分钟之间。<span>(</span><span>注意<span>:</span>这个值同时还决定进入的<span>syn</span>连接<span>)</span></span><span><br><br><strong>tcp_retries2</strong> </span>：<span>INTEGER<br></span>默认值为<span>15<br></span>在丢弃激活<span>(</span>已建立通讯状况<span>)</span>的<span>TCP</span>连接之前﹐需要进行多少次重试。默认值为<span>15</span>，根据<span>RTO</span>的值来决定，相当于<span>13-30</span>分钟<span>(RFC1122</span>规定，必须大于<span>100</span>秒<span>).<span>(</span></span><span>这个值根据目前的网络设置<span>,</span>可以适当地改小<span>,</span>我的网络内修改为了<span>5)<br></span></span><span><br><strong>tcp_orphan_retries</strong> </span>：<span>INTEGER<br></span><span>默认值是</span><span>7</span><span><br></span>在近端丢弃<span>TCP</span>连接之前﹐要进行多少次重试。默认值是<span>7</span>个﹐相当于<span> 50</span>秒<span> - 16</span>分钟﹐视<span> RTO </span>而定。如果您的系统是负载很大的<span>web</span>服务器﹐那么也许需要降低该值﹐这类<span> sockets </span>可能会耗费大量的资源。另外参的考 <strong><span>tcp_max_orphans</span></strong><span> </span>。<span>(</span><span>事实上做<span>NAT</span>的时候<span>,</span>降低该值也是好处显著的<span>,</span>我本人的网络环境中降低该值为<span>3)</span></span><span><br><br><strong>tcp_fin_timeout</strong> </span>：<span>INTEGER<br></span>默认值是 <span>60</span><span><br></span>对于本端断开的<span>socket</span>连接，<span>TCP</span>保持在<span>FIN-WAIT-2</span>状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为 <span>60</span><span> </span>秒。过去在<span>2.2</span>版本的内核中是<span> 180 </span>秒。您可以设置该值﹐但需要注意﹐如果您的机器为负载很重的<span>web</span>服务器﹐您可能要冒内存被大量无效数据报填满的风险﹐<span>FIN-WAIT-2 sockets </span>的危险性低于<span> FIN-WAIT-1 </span>﹐因为它们最多只吃<span> 1.5K </span>的内存﹐但是它们存在时间更长。另外参考 <strong><span>tcp_max_orphans</span></strong>。<span>(</span><span>事实上做<span>NAT</span>的时候<span>,</span>降低该值也是好处显著的<span>,</span>我本人的网络环境中降低该值为<span>30)</span></span><span><br><br><strong>tcp_max_tw_buckets</strong> </span>：<span>INTEGER<br></span>默认值是<span>180000<br></span>系 统在同时所处理的最大<span> timewait sockets </span>数目。如果超过此数的话﹐<span>time-wait socket </span>会被立即砍除并且显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的<span> DoS </span>攻击﹐千万不要人为的降低这个限制﹐不过﹐如果网络条件需要比默认值更多﹐则可以提高它<span>(</span>或许还要增加内存<span>)</span>。<span>(</span><span>事实上做<span>NAT</span>的时候最好可以适当地增加该值<span>)</span></span><span><br><br><strong>tcp_tw_recycle</strong> </span>：<span>BOOLEAN<br></span><span>默认值是</span><span>0<br></span>打开快速<span> TIME-WAIT sockets </span>回收。除非得到技术专家的建议或要求﹐请不要随意修改这个值。<span>(</span><span>做<span>NAT</span>的时候，建议打开它<span>)</span></span></span></p>
<p align=left></p>
<p align=left><strong><span>tcp_tw_reuse</span></strong><span>：<span>BOOLEAN<br></span><span>默认值是</span><span>0<br></span>该文件表示是否允许重新应用处于<span>TIME-WAIT</span>状态的<span>socket</span>用于新的<span>TCP</span>连接<span>(</span><span>这个对快速重启动某些服务<span>,</span>而启动后提示端口已经被使用的情形非常有帮助<span>)<br></span></span><span><br><strong>tcp_max_orphans</strong> </span>：<span>INTEGER<br></span>缺省值是<span>8192<br></span>系统所能处理不属于任何进程的<span>TCP sockets</span>最大数量。假如超过这个数量﹐那么不属于任何进程的连接会被立即<span>reset</span>，并同时显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的<span> DoS </span>攻击﹐千万不要依赖这个或是人为的降低这个限制<span>(</span><span>这个值<span>Redhat AS</span>版本中设置为</span><span>32768</span><span>,</span><span>但是很多防火墙修改的时候<span>,</span>建议该值修改为</span><span>2000</span><span>)<br></span><span><br><strong>tcp_abort_on_overflow</strong> </span>：<span>BOOLEAN<br></span>缺省值是<span>0</span><span><br></span>当守护进程太忙而不能接受新的连接，就象对方发送<span>reset</span>消息，默认值是<span>false</span>。这意味着当溢出的原因是因为一个偶然的猝发，那么连接将恢复状态。只有在你确信守护进程真的不能完成连接请求时才打开该选项，该选项会影响客户的使用<span>。<span>(</span>对待已经满载的<span>sendmail,apache</span>这类服务的时候<span>,</span>这个可以很快让客户端终止连接<span>,</span>可以给予服务程序处理已有连接的缓冲机会<span>,</span>所以很多防火墙上推荐打开它<span>)<br></span></span><span><br><strong>tcp_syncookies</strong> </span>：<span>BOOLEAN<br></span><span>默认值是</span><span>0</span><span><br></span>只有在内核编译时选择了<span>CONFIG_SYNCOOKIES</span>时才会发生作用。当出现<span>syn</span>等候队列出现溢出时象对方发送<span>syncookies</span>。目的是为了防止<span>syn flood</span>攻击。<span><br></span>注意：该选项千万不能用于那些没有收到攻击的高负载服务器，如果在日志中出现<span>synflood</span>消息，但是调查发现没有收到<span>synflood</span>攻击，而是合法用户的连接负载过高的原因，你应该调整其它参数来提高服务器性能。参考<span>:<br><strong>tcp_max_syn_backlog</strong><br><strong>tcp_synack_retries<br>tcp_abort_on_overflow<br></strong>syncookie</span>严重的违背<span>TCP</span>协议，不允许使用<span>TCP</span>扩展，可能对某些服务导致严重的性能影响<span>(</span>如<span>SMTP</span>转发<span>)</span>。<span>(</span><span>注意<span>,</span>该实现与<span>BSD</span>上面使用的<span>tcp proxy</span>一样<span>,</span>是违反了<span>RFC</span>中关于<span>tcp</span>连接的三次握手实现的<span>,</span>但是对于防御<span>syn-flood</span>的确很有用<span>.)<br></span></span><span><br><strong>tcp_stdurg</strong> </span>：<span>BOOLEAN<br></span>默认值为<span>0</span><span><br></span>使用<span> TCP urg pointer </span>字段中的主机请求解释功能。大部份的主机都使用老旧的 <span>BSD</span>解释，因此如果您在<span> Linux </span>打开它﹐或会导致不能和它们正确沟通。</span></p>
<p align=left></p>
<p align=left><strong><span>tcp_max_syn_backlog</span></strong><span> </span><span>：<span>INTEGER</span><span><br></span>对于那些依然还未获得客户端确认的连接请求﹐需要保存在队列中最大数目。对于超过<span> 128Mb </span>内存的系统﹐默认值是 <span>1024</span><span> </span>﹐低于<span> 128Mb </span>的则为 <span>128</span>。如果服务器经常出现过载﹐可以尝试增加这个数字。警告﹗假如您将此值设为大于 <span>1024</span>﹐最好修改 <strong><span>include/net/tcp.h</span></strong><span> </span>里面的 <strong><span>TCP_SYNQ_HSIZE</span></strong><span> </span>﹐以保持 <strong><span>TCP_SYNQ_HSIZE*16&lt;=tcp_max_syn_backlog</span></strong><span> </span>﹐并且编进核心之内。<span>(SYN Flood</span><span>攻击利用<span>TCP</span>协议散布握手的缺陷，伪造虚假源<span>IP</span>地址发送大量<span>TCP-SYN</span>半打开连接到目标系统，最终导致目标系统<span>Socket</span>队列资源耗 尽而无法接受新的连接。为了应付这种攻击，现代<span>Unix</span>系统中普遍采用多连接队列处理的方式来缓冲<span>(</span>而不是解决<span>)</span>这种攻击，是用一个基本队列处理正常的完 全连接应用<span>(Connect()</span>和<span>Accept() )</span>，是用另一个队列单独存放半打开连接。这种双队列处理方式和其他一些系统内核措施<span>(</span>例如<span>Syn-Cookies/Caches)</span>联合应用时，能够比较有效的缓解小规模的<span>SYN Flood</span>攻击<span>(</span>事实证明<span>&lt;1000p/s)</span>加大<span>SYN</span>队列长度可以容纳更多等待连接的网络连接数，所以对<span>Server</span>来说可以考虑增大该值<span>.)<br></span></span><span><br><strong>tcp_window_scaling</strong> </span>：<span>INTEGER<br></span><span>缺省值为</span><span>1</span><span><br></span>该 文件表示设置<span>tcp/ip</span>会话的滑动窗口大小是否可变。参数值为布尔值，为<span>1</span>时表示可变，为<span>0</span>时表示不可变。<span>tcp/ip</span>通常使用的窗口最大可达到<span> 65535 </span>字节，对于高速网络，该值可能太小，这时候如果启用了该功能，可以使<span>tcp/ip</span>滑动窗口大小增大数个数量级，从而提高数据传输的能力<span>(RFC 1323)</span>。<span>（对普通地百<span>M</span>网络而言，关闭会降低开销，所以如果不是高速网络，可以考虑设置为</span><span>0</span><span>）</span><span><br><br><strong>tcp_timestamps</strong> </span>：<span>BOOLEAN<br></span><span>缺省值为</span><span>1</span><span><br></span><span>Timestamps </span>用在其它一些东西中﹐可以防范那些伪造的<span> sequence </span>号码。一条<span>1G</span>的宽带线路或许会重遇到带<span> out-of-line</span>数值的旧<span>sequence </span>号码<span>(</span>假如它是由于上次产生的<span>)</span>。<span>Timestamp </span>会让它知道这是个<span> '</span>旧封包<span>'</span>。<span>(</span><span>该文件表示是否启用以一种比超时重发更精确的方法（<span>RFC 1323</span>）来启用对<span> RTT </span>的计算；为了实现更好的性能应该启用这个选项。<span>)<br></span></span><span><br><strong>tcp_sack</strong> </span>：<span>BOOLEAN<br></span><span>缺省值为</span><span>1</span><span><br></span>使 用<span> Selective ACK</span>﹐它可以用来查找特定的遗失的数据报<span>--- </span>因此有助于快速恢复状态。该文件表示是否启用有选择的应答（<span>Selective Acknowledgment</span>），这可以通过有选择地应答乱序接收到的报文来提高性能（这样可以让发送者只发送丢失的报文段）。<span>(</span><span>对于广域网通信来说这个选项应该启用，但是这会增加对<span> CPU </span>的占用。<span>)</span></span><span><br><br><strong>tcp_fack</strong> </span>：<span>BOOLEAN<br></span><span>缺省值为</span><span>1</span><span><br></span>打开<span>FACK</span>拥塞避免和快速重传功能。<span>(</span>注意，当<strong><span>tcp_sack</span></strong>设置为<span>0</span>的时候，这个值即使设置为<span>1</span>也无效<span>)<br><br><strong>tcp_dsack</strong> </span>：<span>BOOLEAN<br></span><span>缺省值为</span><span>1</span><span><br></span>允许<span>TCP</span>发送<span>"</span>两个完全相同<span>"</span>的<span>SACK</span>。</span></p>
</span>
<img src ="http://www.cnitblog.com/Scripts/aggbug/57350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/Scripts/" target="_blank">Scripts</a> 2009-05-20 11:48 <a href="http://www.cnitblog.com/Scripts/archive/2009/05/20/57350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>