目录

简介

先决条件

要求

使用的组件

配置

验证

故障排除

简介

本文档介绍TCP MSS调整的概念和配置，还讨论最大传输单位(MTU)的概念，以及如何防止数据包大小较大的网站丢包。

作者：Richika Jain，Cisco TAC工程师。

先决条件

要求

思科建议您了解以太网点对点协议(PPPoE)。

使用的组件

本文档中的信息基于通用设备。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

配置

MTU是协议在一个实例中可以传输的最大数据长度。例如，以太网接口的MTU大小默认为1500字节，这不包括以太网帧头和帧尾，这意味着接口不能传输大于1500字节的帧。此图显示了以下概念：

如果查看帧内部，您会看到一个20字节的IP报头+ 20字节的TCP报头，即剩余的1460字节，是可以在一个帧中传输的负载。这被标记为TCP MSS。

如果转接路由器上没有执行其他封装，源设备可能使用最大负载长度1460字节，而不存在任何数据包分段/丢弃的潜在风险。这是在源主机和目的主机之间的TCP三次握手阶段协商的。但是，当传输中的路由器执行额外封装时，它会添加额外的标签报头，这最终会增加离开传输路由器的帧的大小。接口的最大MTU取决于硬件平台，但IEEE 802.3标准要求最小MTU为1500字节。

PPPoE需要额外的8个字节，并将以太网MTU截断为1492，如果主机上的有效MTU未更改，则主机和服务器之间的路由器可以终止TCP会话。建议在PPPoE配置中使用此命令IP TCP ADJUST-MSS 1452。

如果源设备创建TCP MSS为1460字节的完整大小数据包，则经过传输的路由器可能会丢弃/分段该数据包。这对我们的网络性能不利，例如您浏览网站时出现问题。因此，为了容纳数据包大小较大的网站，您可以从源设备缩小最大可能的TCP MSS大小（如1452字节）。如果路由器在TCP握手时未向源和目标发出信号，则最佳TCP MSS可能会造成丢弃/分段问题。

当您浏览所有网站时，此问题可能不存在，但可以通过某些网站看到。 T其背后的原因是它为到达它们而创建的数据包大小（取决于介于两者之间的硬件）。 对于将创建更大数据包大小的网站，如果不使用ip tcp adjust-mss命令，则会丢弃任何较大的数据包。

要对浏览某些网站时出现的问题进行故障排除，应在指向LAN接口的接口上配置IP TCP ADJUST-MSS 1452命令。

1.启用

2.配置终端

3.接口类型编号

4. Ip tcp adjust-mss max-segment-size //调整通过路由器的TCP SYN数据包的MSS值。max-segment-size参数是最大数据段大小（以字节为单位）。范围从 500 至 1460。

5. Ip mtu bytes //设置接口上发送的IP数据包的MTU大小（以字节为单位）。

6.结束

验证

使用本部分可确认配置能否正常运行。

步骤1:

检验TCP MSS调整的配置。

interface ethernet1/1

ip address 10.0.0.1 255.0.0.0

ip tcp adjust-mss 1452

duplex half

第二步：

从路由器A Telnet至路由器B。

telnet 10.0.1.2

Trying 10.0.1.2...

TCP: sending SYN, seq 886170752, ack 0

TCP0: Connection to 1.0.1.2:23, advertising MSS 536

tcp0: O CLOSED 1.0.1.2:23 4.0.0.1:11008 seq 886170752

OPTS 4 SYN WIN 4128

第三步：

观察路由器B的调试输出。

tcp0: I LISTEN 4.0.0.1:11008 1.0.1.3:23 seq 886170752

OPTS 4 SYN WIN 4128

TCP0: state was LISTEN -> SYNRCVD [23 -> 4.0.0.1(11008)]

TCP0: Connection to 4.0.0.1:11008, received MSS 1452, MSS is 1452

TCP MSS值调整为配置值1452。

故障排除

目前没有针对此配置的故障排除信息。