设置tcp的mss值

mtu是网络传输最大报文包。 mss是网络传输数据最大值。 mss加包头数据就等于mtu. 简单说拿TCP包做例子。 报文传输1400字节的数据的话,那么mss就是1400,再加上20字节IP包头,20字节tcp包头,那么mtu就是1400+20+20. 当然传输的时候其他的协议还要加些包头在前面,总之mtu就是总的最后发出去的报文大小。mss就是你需要发出去的数据大小。

1.MSS: Maxitum Segment Size 最大分段大小

2.MSS最大传输大小的缩写,是TCP协议里面的一个概念。

3.MSS就是TCP数据包每次能够传输的最大数据分段。

为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。

--set-mss value #设置特定MSS值

--clamp-mss-to-pmtu #根据MTU自动调整MSS

例如:

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

这条规则的目的就是改变TCP MSS以适应PMTU(Path MTU)

一种是把mss设置为一个固定值:

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN- j TCPMSS --set-mss 1460

时间: 2024-08-01 19:04:16

设置tcp的mss值的相关文章

TCP的MSS

MSS(Maximum Segment Size,最大报文段长度)表示可以被终点接收的TCP报文段的最大长度.在TCP首部中可以有多达40字节的选项信息,选项中的内容有很多种,MSS是其中的一种,其格式如图1.31所示. 图1.31 MSS选项的格式 虽然MSS是最大报文段长度,但它定义的是数据的最大长度,不包括TCP首部. 前面讲到的IP分片,是基于MTU对IP数据包进行分片的.在实际应用中应该尽量避免IP分片,TCP考虑到了这一点.为了尽量避免IP层的分片,TCP首先基于MSS对过长的TCP

小议TCP的MSS(最大分段)以及MTU

[背景知识] MTU: Maxitum Transmission Unit 最大传输单元 MSS: Maxitum Segment Size 最大分段大小(偶是直译,翻译的不好,不要打 俺PP) PPPoE: PPP Over Ethernet(在以太网上承载PPP协议) [分析过程] 先说说这MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,让我们先仔细回忆一下EthernetII帧的结构DMAC+SMAC+Type+Data+CRC 由于以太网传输电气方面的限制,每个以太

(转)小议TCP的MSS(最大分段)以及MTU

[前言]漫漫51长假,没有好的去处,只能每日上网消遣,某日逛到NBO灌水,见一帖曰:无法通过2514路由器上MSN(出口为ADSL线路,通过PPPoE)吾心想,ADSL---PPPoE,那肯定就是MTU之问题.回帖告之:改PC之MTU. 过数日,又逛到NBO,又见这帖,后有人回曰:ip tcp adjust-mss 1452后帖主又跟:问题解决. 吾纳闷之,后百思而得其解,So决定将自己所得写出来,分享给大家. [背景知识]MTU: Maxitum Transmission Unit 最大传输单

动态设置radio的默认值

根据后台传值动态设置radion的默认值,一般设置默认值的标签为:checked="checked".具体动态设置默认值得代码如下: <tr> <td width="150" height="30" align="right">性  别:</td> <td width="250" align="left"> <input type=&

js动态设置select的默认值

根据需求动态的设置select的默认值,若要选定默认则代码selected="selected".动态设置则如下所示: <html> <table> <tr> <td width="250" align="left"> <select name="job" size="1" > <option value="普通会员"&g

设置表的属性值自动增加

设置表的属性值自动增加,比如插入第一条记录时 id 为 1,插入第二条记录时 id 为 2,以此类推,没增加一条记录,字段值自动加 1 mysql> CREATE TABLE tb_emp8    -> (    -> id INT(11) PRIMARY KEY AUTO_INCREMENT,   # 指定员工的编号自动递增    -> name VARCHAR(25) NOT NULL,    -> deptId INT(11),    -> salary FLOA

使用反射设置对象的字段值

package com.sadhu; import java.util.*; import java.lang.reflect.*; /** */ public class Sample {     public static void main(String[] args)throws Exception     {         Class cl = Class.forName("com.sadhu.ReflectTest");         Object rt = cl.ne

SharePoint 设置Lookup 字段的值

如何设置Lookup字段的值, 首先我们同样需要了解SPFieldLookupValueCollection和SPFieldLookupValue, 这2个类的原理和之前所讲解到SPFieldUserValueCollection一样,这里就不多讲解 1 /// <summary> 2 /// Convert dropdownList value to SPFieldLookupValue 3 /// </summary> 4 /// <param name="dr

JQuery获取与设置HTML元素的值value

JQuery获取与设置HTML元素的值value 作者:简明现代魔法图书馆 发布时间:2011-07-07 10:16:13 20481 次阅读 服务器君一共花费了13.221 ms进行了6次数据库查询,努力地为您提供了提供了这个页面. val()方法 此方法类似于JavaScript中的value属性,可以用来设置和获取元索的值.无论元素是文本框,下拉列表还足单选框,它都可以返回元素的值.如果元素为多选,则返回一个包含所有选择的值的数组.先看看下面的效果演示: 欢迎访问简明现代魔法图书馆 简单