<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ampr.org/w/index.php?action=history&amp;feed=atom&amp;title=MTU_and_MSS</id>
	<title>MTU and MSS - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ampr.org/w/index.php?action=history&amp;feed=atom&amp;title=MTU_and_MSS"/>
	<link rel="alternate" type="text/html" href="https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;action=history"/>
	<updated>2026-04-25T04:47:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2455&amp;oldid=prev</id>
		<title>KI5QKX: mw push</title>
		<link rel="alternate" type="text/html" href="https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2455&amp;oldid=prev"/>
		<updated>2026-04-22T21:57:50Z</updated>

		<summary type="html">&lt;p&gt;mw push&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:57, 22 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot;&gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The &amp;#039;&amp;#039;&amp;#039;payload&amp;#039;&amp;#039;&amp;#039;, which is the data being carried.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The &amp;#039;&amp;#039;&amp;#039;payload&amp;#039;&amp;#039;&amp;#039;, which is the data being carried.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Each device or link on a packet network can handle packets up to a certain size in bytes. On Ethernet networks, the default limit is 1500 bytes, meaning an IPv4 packet can be at most 1500 bytes total&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, including header and payload&lt;/del&gt;. With a normal 20-byte IPv4 header, that leaves up to 1480 bytes for &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;data&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Each device or link on a packet network can handle packets up to a certain size in bytes. On Ethernet networks, the default limit is 1500 bytes, meaning an IPv4 packet can be at most 1500 bytes total. With a normal 20-byte IPv4 header, that leaves up to 1480 bytes for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;payload&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot;&gt;Line 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To encapsulate a packet is to take a full packet, including its header, and wrap it inside another packet with its own header. The outer packet is what gets sent across the network, and the inner packet is the payload of the outer packet.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To encapsulate a packet is to take a full packet, including its header, and wrap it inside another packet with its own header. The outer packet is what gets sent across the network, and the inner packet is the payload of the outer packet.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The additional headers added by encapsulation reduce the size of the payload &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;that can be sent across the network&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The additional headers added by encapsulation reduce the size of the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;final &lt;/ins&gt;payload.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For example, a simple IP-in-IP tunnel adds another 20-byte IPv4 header:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For example, a simple IP-in-IP tunnel adds another 20-byte IPv4 header:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l83&quot;&gt;Line 83:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 83:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Add more layers and the usable payload shrinks again.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Add more layers and the usable payload shrinks again.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Depending on the upstream network, there may be many such layers. Providers may carry customer IPv4 inside IPv6. VPNs add their own headers. Other tunnels may add still more. A packet sent from &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;home &lt;/del&gt;may be wrapped several times before it reaches the public Internet.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Depending on the upstream network, there may be many such layers. Providers may carry customer IPv4 inside IPv6. VPNs add their own headers. Other tunnels may add still more. A packet sent from &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a ham&#039;s distant remote station &lt;/ins&gt;may be wrapped several times before it reaches the public Internet&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Ideally, a service provider&#039;s encapsulation does not reduce the customer&#039;s effective MTU, but in practice that is not always the case&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;By &lt;/del&gt;the time all &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;of those &lt;/del&gt;headers are added, the upstream path may only be able to carry something like 1420, 1400, or even 1380-byte packets.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;As a result, by &lt;/ins&gt;the time all &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the intermediary &lt;/ins&gt;headers are added, the upstream path may only be able to carry something like 1420, 1400, or even 1380-byte packets.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== MTU, path MTU, and MSS ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== MTU, path MTU, and MSS ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>KI5QKX</name></author>
	</entry>
	<entry>
		<id>https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2454&amp;oldid=prev</id>
		<title>KI5QKX: mw push</title>
		<link rel="alternate" type="text/html" href="https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2454&amp;oldid=prev"/>
		<updated>2026-04-22T21:39:45Z</updated>

		<summary type="html">&lt;p&gt;mw push&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:39, 22 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot;&gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The &amp;#039;&amp;#039;&amp;#039;payload&amp;#039;&amp;#039;&amp;#039;, which is the data being carried.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The &amp;#039;&amp;#039;&amp;#039;payload&amp;#039;&amp;#039;&amp;#039;, which is the data being carried.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Each link &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and device in the path across the network between two hosts has a limit &lt;/del&gt;on &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the size of &lt;/del&gt;a packet &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;it &lt;/del&gt;can &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;receive and transmit&lt;/del&gt;. On Ethernet networks, the default limit is 1500 bytes, meaning an IPv4 packet can be at most 1500 bytes total, including header and payload. With a normal 20-byte IPv4 header, that leaves up to 1480 bytes for data.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Each &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;device or &lt;/ins&gt;link on a packet &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;network &lt;/ins&gt;can &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;handle packets up to a certain size in bytes&lt;/ins&gt;. On Ethernet networks, the default limit is 1500 bytes, meaning an IPv4 packet can be at most 1500 bytes total, including header and payload. With a normal 20-byte IPv4 header, that leaves up to 1480 bytes for data.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>KI5QKX</name></author>
	</entry>
	<entry>
		<id>https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2453&amp;oldid=prev</id>
		<title>KI5QKX: mw push</title>
		<link rel="alternate" type="text/html" href="https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2453&amp;oldid=prev"/>
		<updated>2026-04-22T21:37:17Z</updated>

		<summary type="html">&lt;p&gt;mw push&lt;/p&gt;
&lt;a href=&quot;https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;amp;diff=2453&amp;amp;oldid=2452&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>KI5QKX</name></author>
	</entry>
	<entry>
		<id>https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2452&amp;oldid=prev</id>
		<title>KI5QKX: mw push</title>
		<link rel="alternate" type="text/html" href="https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2452&amp;oldid=prev"/>
		<updated>2026-04-22T20:11:00Z</updated>

		<summary type="html">&lt;p&gt;mw push&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:11, 22 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Plain IPv4 packet:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;+----------------------------------------------------+&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;+----------------------------------------------------+&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|   IPv4 Header  |              Payload              |&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|   IPv4 Header  |              Payload              |&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot;&gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&amp;lt;------------------- 1500 bytes -------------------&amp;gt;|&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&amp;lt;------------------- 1500 bytes -------------------&amp;gt;|&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If that payload contains TCP, which has another 20-byte TCP header, the largest TCP payload is not 1480 but &amp;#039;&amp;#039;1460&amp;#039;&amp;#039; bytes. This is what often shows up as the TCP MSS: the maximum size of the TCP segment that can fit inside a 1500-byte IPv4 packet without fragmentation.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If that payload contains TCP, which has another 20-byte TCP header, the largest TCP payload is not 1480 but &amp;#039;&amp;#039;1460&amp;#039;&amp;#039; bytes. This is what often shows up as the TCP MSS: the maximum size of the TCP segment that can fit inside a 1500-byte IPv4 packet without fragmentation.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;TCP packet:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;+----------------------------------------------------+&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;+----------------------------------------------------+&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|   IPv4 Header  |   TCP Header   |     Payload      |&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|   IPv4 Header  |   TCP Header   |     Payload      |&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 49:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Protocol and transport &amp;#039;&amp;#039;options&amp;#039;&amp;#039; can reduce those numbers further by increasing the size of the header beyond the minimum. For example, an IPv4 header without options is only 20 bytes, but adding the timestamp option adds 12 bytes, reducing the payload to 1500-20-20-12 = 1448 bytes.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Protocol and transport &amp;#039;&amp;#039;options&amp;#039;&amp;#039; can reduce those numbers further by increasing the size of the header beyond the minimum. For example, an IPv4 header without options is only 20 bytes, but adding the timestamp option adds 12 bytes, reducing the payload to 1500-20-20-12 = 1448 bytes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== MTU, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MSS&lt;/del&gt;, and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;path MTU &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== MTU, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;path MTU&lt;/ins&gt;, and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MSS &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is useful to distinguish between an interface MTU and a path MTU:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is useful to distinguish between an interface MTU and a path MTU:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l56&quot;&gt;Line 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 57:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;path MTU&amp;#039;&amp;#039;&amp;#039; is an observed property of the end-to-end path between two hosts, determined by the link with the smallest MTU along the path.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;path MTU&amp;#039;&amp;#039;&amp;#039; is an observed property of the end-to-end path between two hosts, determined by the link with the smallest MTU along the path.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A general practical approach is to measure the &#039;&#039;path MTU&#039;&#039; between endpoints and then set local systems to use an &#039;&#039;interface MTU&#039;&#039; that fits within that constraint.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A general practical approach is to measure the &#039;&#039;path MTU&#039;&#039; between endpoints and then set local systems to use an &#039;&#039;interface MTU&#039;&#039; that fits within that constraint&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. For example, if the path MTU is 1380 bytes, then setting an interface MTU of 1380 should help avoid fragmentation&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;MSS&amp;#039;&amp;#039;&amp;#039; is a TCP parameter that tells the far end of a connection the largest TCP payload the local end is willing to receive. If the real path includes unseen overhead, a system may offer an MSS larger than the path can actually carry.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;MSS&amp;#039;&amp;#039;&amp;#039; is a TCP parameter that tells the far end of a connection the largest TCP payload the local end is willing to receive. If the real path includes unseen overhead, a system may offer an MSS larger than the path can actually carry.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;For example, if the MSS is set to 1460 but the path MTU is only 1380, then TCP segments will be too large and fragmentation will be needed. If the DF bit is set, those packets will be dropped instead, leading to connectivity problems.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Reducing MSS can help keep TCP packets smaller than the path MTU, but it doesn&amp;#039;t change the MTU itself. Non-TCP packets like ICMP and UDP packets can still be too large.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Reducing MSS can help keep TCP packets smaller than the path MTU, but it doesn&amp;#039;t change the MTU itself. Non-TCP packets like ICMP and UDP packets can still be too large.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>KI5QKX</name></author>
	</entry>
	<entry>
		<id>https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2451&amp;oldid=prev</id>
		<title>KI5QKX: mw push</title>
		<link rel="alternate" type="text/html" href="https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2451&amp;oldid=prev"/>
		<updated>2026-04-22T19:24:58Z</updated>

		<summary type="html">&lt;p&gt;mw push&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:24, 22 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= MTU and MSS =&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;MTU&amp;#039;&amp;#039;&amp;#039; is the &amp;#039;&amp;#039;maximum transmission unit&amp;#039;&amp;#039;: the largest IP packet a link or path will carry without needing fragmentation.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;MTU&amp;#039;&amp;#039;&amp;#039; is the &amp;#039;&amp;#039;maximum transmission unit&amp;#039;&amp;#039;: the largest IP packet a link or path will carry without needing fragmentation.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>KI5QKX</name></author>
	</entry>
	<entry>
		<id>https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2450&amp;oldid=prev</id>
		<title>KI5QKX: mw push</title>
		<link rel="alternate" type="text/html" href="https://wiki.ampr.org/w/index.php?title=MTU_and_MSS&amp;diff=2450&amp;oldid=prev"/>
		<updated>2026-04-22T19:24:18Z</updated>

		<summary type="html">&lt;p&gt;mw push&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= MTU and MSS =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MTU&amp;#039;&amp;#039;&amp;#039; is the &amp;#039;&amp;#039;maximum transmission unit&amp;#039;&amp;#039;: the largest IP packet a link or path will carry without needing fragmentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MSS&amp;#039;&amp;#039;&amp;#039; is the &amp;#039;&amp;#039;maximum segment size&amp;#039;&amp;#039;: the largest TCP payload that can fit inside a packet after the IP and TCP headers are accounted for.&lt;br /&gt;
&lt;br /&gt;
MTU and MSS are normally handled by the system automatically, but sometimes they need to be adjusted manually to fit the realities of a particular path, especially when tunnels, VPNs, or other encapsulation are involved.&lt;br /&gt;
&lt;br /&gt;
This page explains IPv4 fragmentation, the relationship between MTU and MSS, how encapsulation and VPNs affect the numbers, and what you can do to set MTU and MSS correctly in your networks.&lt;br /&gt;
&lt;br /&gt;
== IPv4 packet structure ==&lt;br /&gt;
&lt;br /&gt;
An IPv4 packet has two major parts:&lt;br /&gt;
&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;header&amp;#039;&amp;#039;&amp;#039;, which carries addressing and control information.&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;payload&amp;#039;&amp;#039;&amp;#039;, which is the data being carried.&lt;br /&gt;
&lt;br /&gt;
If an interface has an MTU of 1500 bytes, then a plain IPv4 packet can be at most 1500 bytes total, including headers and payload. With a normal 20-byte IPv4 header, that leaves up to 1480 bytes of IPv4 payload.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+----------------------------------------------------+&lt;br /&gt;
|   IPv4 Header  |              Payload              |&lt;br /&gt;
+----------------------------------------------------+&lt;br /&gt;
|&amp;lt;-- 20 bytes --&amp;gt;|&amp;lt;----------- 1480 bytes ----------&amp;gt;|&lt;br /&gt;
|&amp;lt;------------------- 1500 bytes -------------------&amp;gt;|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If that payload contains TCP, which has another 20-byte TCP header, the largest TCP payload is not 1480 but &amp;#039;&amp;#039;1460&amp;#039;&amp;#039; bytes. This is what often shows up as the TCP MSS: the maximum size of the TCP segment that can fit inside a 1500-byte IPv4 packet without fragmentation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+----------------------------------------------------+&lt;br /&gt;
|   IPv4 Header  |   TCP Header   |     Payload      |&lt;br /&gt;
+----------------------------------------------------+&lt;br /&gt;
|&amp;lt;-- 20 bytes --&amp;gt;|&amp;lt;-- 20 bytes --&amp;gt;|&amp;lt;-- 1460 bytes --&amp;gt;|&lt;br /&gt;
|&amp;lt;------------------- 1500 bytes -------------------&amp;gt;|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For transports other than TCP, like UDP and ICMP, the header sizes are different, and thus also the payload size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UDP packet:&lt;br /&gt;
+-----------------------------------------------------+&lt;br /&gt;
|   IPv4 Header  |    UDP Header   |     Payload      |&lt;br /&gt;
+-----------------------------------------------------+&lt;br /&gt;
|&amp;lt;-- 20 bytes --&amp;gt;|&amp;lt;--- 8 bytes ---&amp;gt;|&amp;lt;-- 1472 bytes --&amp;gt;|&lt;br /&gt;
|&amp;lt;------------------- 1500 bytes --------------------&amp;gt;|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Protocol and transport &amp;#039;&amp;#039;options&amp;#039;&amp;#039; can reduce those numbers further by increasing the size of the header beyond the minimum. For example, an IPv4 header without options is only 20 bytes, but adding the timestamp option adds 12 bytes, reducing the payload to 1500-20-20-12 = 1448 bytes.&lt;br /&gt;
&lt;br /&gt;
== MTU, MSS, and path MTU ==&lt;br /&gt;
&lt;br /&gt;
It is useful to distinguish between an interface MTU and a path MTU:&lt;br /&gt;
&lt;br /&gt;
An &amp;#039;&amp;#039;&amp;#039;interface MTU&amp;#039;&amp;#039;&amp;#039; is a parameter set on a local interface or tunnel.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;path MTU&amp;#039;&amp;#039;&amp;#039; is an observed property of the end-to-end path between two hosts, determined by the link with the smallest MTU along the path. &lt;br /&gt;
&lt;br /&gt;
A general practical approach is to measure the &amp;#039;&amp;#039;path MTU&amp;#039;&amp;#039; between endpoints and then set local systems to use an &amp;#039;&amp;#039;interface MTU&amp;#039;&amp;#039; that fits within that constraint.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MSS&amp;#039;&amp;#039;&amp;#039; is a TCP parameter that tells the far end of a connection the largest TCP payload the local end is willing to receive. If the real path includes unseen overhead, a system may offer an MSS larger than the path can actually carry.&lt;br /&gt;
&lt;br /&gt;
Reducing MSS can help keep TCP packets smaller than the path MTU, but it doesn&amp;#039;t change the MTU itself. Non-TCP packets like ICMP and UDP packets can still be too large.&lt;br /&gt;
&lt;br /&gt;
== Fragmentation and how systems avoid it ==&lt;br /&gt;
&lt;br /&gt;
If a router receives a packet that is larger than the next hop can carry, one of two things generally happens:&lt;br /&gt;
&lt;br /&gt;
* If fragmentation is allowed, the packet may be split into smaller fragments.&lt;br /&gt;
* If the packet has the DF (Don&amp;#039;t Fragment) bit set, the router drops it and returns an ICMP &amp;quot;Fragmentation Needed&amp;quot; message with the size of the next-hop MTU.&lt;br /&gt;
&lt;br /&gt;
Fragmentation can help packets get through, but it has costs. Each fragment needs its own header, the receiver has to reassemble them, and some devices handle fragments poorly. Avoiding fragmentation whenever possible is generally preferred.&lt;br /&gt;
&lt;br /&gt;
There are several ways to determine the path MTU.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Path MTU Discovery (PMTUD)&amp;#039;&amp;#039;&amp;#039;: send packets with DF set and learn the real limit from ICMP &amp;quot;Fragmentation Needed&amp;quot; replies.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Packetization Layer PMTUD&amp;#039;&amp;#039;&amp;#039;: the transport layer probes usable sizes itself instead of relying entirely on ICMP.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;TCP MSS selection&amp;#039;&amp;#039;&amp;#039;: endpoints advertise a smaller MSS so TCP data segments never exceed the path MTU.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MSS clamping&amp;#039;&amp;#039;&amp;#039;: hosts in the path rewrite TCP MSS on the fly to keep traffic below a known bottleneck MTU.&lt;br /&gt;
&lt;br /&gt;
If ICMP is filtered, if a host doesn&amp;#039;t reply with &amp;quot;Fragmentation Needed&amp;quot; messages, or if a tunnel is mis-sized, PMTUD may fail and the result is the black-hole MTU problem: small packets work, larger ones disappear.&lt;br /&gt;
&lt;br /&gt;
== Encapsulation overhead ==&lt;br /&gt;
&lt;br /&gt;
MTU and MSS often come up when dealing with encapsulation and tunnels (and thus 44Net).&lt;br /&gt;
&lt;br /&gt;
If one IPv4 packet is to be carried inside another packet, the outer packet adds another header. The original packet, including the original header, becomes the payload inside the outer packet. That overhead has to come out of the available path MTU, reducing the innermost payload size.&lt;br /&gt;
&lt;br /&gt;
For example, a simple IP-in-IP tunnel adds another 20-byte IPv4 header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------------------------------------------------------------------------+&lt;br /&gt;
| Outer IPv4 Header | Inner IPv4 Header |         Inner Payload          |&lt;br /&gt;
+------------------------------------------------------------------------+&lt;br /&gt;
|&amp;lt;--- 20 bytes ----&amp;gt;|&amp;lt;--- 20 bytes ----&amp;gt;|&amp;lt;--------- 1460 bytes ---------&amp;gt;|&lt;br /&gt;
                    |&amp;lt;---------- 1480 byte inner IPv4 packet -----------&amp;gt;|&lt;br /&gt;
|&amp;lt;------------------------ 1500 byte outer packet ----------------------&amp;gt;|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the inner packet itself is IPv4 carrying TCP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------------------------------------------------------------------------+&lt;br /&gt;
| Outer IPv4 Header | Inner IPv4 Header | TCP Header |   TCP Payload     |&lt;br /&gt;
+------------------------------------------------------------------------+&lt;br /&gt;
|&amp;lt;--- 20 bytes ----&amp;gt;|&amp;lt;--- 20 bytes ----&amp;gt;|&amp;lt;-- 20 b --&amp;gt;|&amp;lt;-- 1440 bytes ---&amp;gt;|&lt;br /&gt;
                                                     |&amp;lt;- TCP App data --&amp;gt;|&lt;br /&gt;
                                        |&amp;lt;-- 1460 byte inner payload ---&amp;gt;|&lt;br /&gt;
                    |&amp;lt;---------- 1480 byte inner IPv4 packet -----------&amp;gt;|&lt;br /&gt;
|&amp;lt;------------------------ 1500 byte outer packet ----------------------&amp;gt;|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add more layers and the usable payload shrinks again.&lt;br /&gt;
&lt;br /&gt;
Depending on the upstream network, there may be many such layers. Providers may carry customer IPv4 inside IPv6. VPNs add their own headers. Other tunnels may add still more. A packet sent from home may be wrapped several times before it reaches the public Internet.&lt;br /&gt;
&lt;br /&gt;
By the time all of those headers are added, the upstream path may only support something like 1420, 1400, or even 1380-byte packets leaving your device without fragmentation.&lt;br /&gt;
&lt;br /&gt;
== Testing path MTU with ping ==&lt;br /&gt;
&lt;br /&gt;
One way to test the path MTU is to send ICMP echo (&amp;quot;ping&amp;quot;) requests with the DF bit set and gradually increase the payload size until packets stop getting through.&lt;br /&gt;
&lt;br /&gt;
Note that the ping payload size is not the same as the total packet size. The total packet size includes the IPv4 header and the ICMP header on top of the ping payload, so you have to add them all up to get the actual packet size on the wire.&lt;br /&gt;
&lt;br /&gt;
For example, to test whether a path can carry a 1500-byte packet, you need to set the ping payload size to 1500 minus the headers:&lt;br /&gt;
&lt;br /&gt;
Testing a 1500-byte path MTU with ping:&lt;br /&gt;
* Subtract 20 bytes for the IPv4 header&lt;br /&gt;
* Subtract 8 bytes for the ICMP header&lt;br /&gt;
* Ping payload size = 1500 - 20 - 8 = 1472 bytes&lt;br /&gt;
&lt;br /&gt;
To evaluate the results, add the headers back to the largest working payload size. For example, if 1472 bytes works but 1473 bytes fails, the path MTU is likely 1472 + 20 + 8 = 1500 bytes.&lt;br /&gt;
&lt;br /&gt;
=== macOS ===&lt;br /&gt;
&lt;br /&gt;
On macOS, `ping -D` sets DF and `-s` sets the ICMP payload size.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Test whether 1500-byte packets can get through:&lt;br /&gt;
ping -D -s 1472 1.1.1.1&lt;br /&gt;
&lt;br /&gt;
# Test whether 1428-byte packets can get through:&lt;br /&gt;
ping -D -s 1400 1.1.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If `1472` works reliably, the path is carrying a full 1500-byte IPv4 packet. If it fails but a smaller size works, reduce the payload until you find the largest working value, then add 28 to estimate the path MTU.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
On Debian and most Linux systems using `iputils`, `-M do` sets DF behavior and `-s` sets the ICMP payload size.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Test whether 1500-byte packets can get through:&lt;br /&gt;
ping -M do -s 1472 1.1.1.1&lt;br /&gt;
&lt;br /&gt;
# Test whether 1428-byte packets can get through:&lt;br /&gt;
ping -M do -s 1400 1.1.1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, add 28 bytes to the largest working payload to estimate the usable IPv4 path MTU.&lt;br /&gt;
&lt;br /&gt;
If it helps, here is a script that can quickly find the largest working payload size by binary search:&lt;br /&gt;
&lt;br /&gt;
[https://git.ampr.org/johnburwell/find-mtu/-/blob/master/find-mtu.py?ref_type=heads https://git.ampr.org/johnburwell/find-mtu]&lt;br /&gt;
&lt;br /&gt;
== Choosing the right fix ==&lt;br /&gt;
&lt;br /&gt;
People often reach for MSS clamping when the real issue is MTU, or lower MTU everywhere when they only needed to keep TCP honest across one segment. Both approaches can work, but they are not interchangeable.&lt;br /&gt;
&lt;br /&gt;
General rules:&lt;br /&gt;
&lt;br /&gt;
* Adjust MTU when a link, tunnel, or interface genuinely cannot carry full-size packets because of encapsulation or provider constraints.&lt;br /&gt;
&lt;br /&gt;
: Lowering MTU is the more fundamental fix when the path is constrained. It affects all IPv4 traffic, not just TCP. That makes MTU the usual parameter to adjust when a tunnel or link has known overhead.&lt;br /&gt;
&lt;br /&gt;
* Use MSS clamping when TCP flows need help staying below a known path MTU, especially when endpoint PMTUD is unreliable or when MSS is the only parameter you can adjust. MSS clamping affects only TCP, usually by rewriting the MSS announced in SYN packets so both ends send smaller TCP segments.&lt;br /&gt;
&lt;br /&gt;
: But MSS clamping can be misleading if it is used as a substitute for correct MTU sizing. It works only for TCP, it applies independently in each direction, and it helps only new sessions that negotiate through the clamping device. Web browsing or SSH may appear to work while UDP, ICMP, or tunnelled traffic still breaks.&lt;br /&gt;
&lt;br /&gt;
* In general, you want each layer of encapsulation to fit within the next layer&amp;#039;s MTU. That may mean setting MTU in more than one place.&lt;br /&gt;
&lt;br /&gt;
* Don&amp;#039;t overlook other factors that may impede PMTUD. Common firewalls often block ICMP by default, which breaks the normal feedback loop that would otherwise help handle this automatically.&lt;br /&gt;
&lt;br /&gt;
* Clamp TCP MSS at the tunnel edge if needed (or if the only available control), but do not treat that as a full substitute for correct MTU sizing.&lt;br /&gt;
&lt;br /&gt;
* Check every layer of encapsulation you can, not just the innermost interface, and try to make adjustments only where needed.&lt;br /&gt;
&lt;br /&gt;
* Verify both directions, because asymmetric paths can hide the real problem (44Net to 44Net, 44Net to Internet, Internet to 44Net, etc.) -- especially if MSS clamping is used and applied in only one direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Why 44Net Connect suggests 1380 ==&lt;br /&gt;
&lt;br /&gt;
44Net Connect produces configurations that suggest a tunnel MTU of 1380.&lt;br /&gt;
&lt;br /&gt;
This number was determined by testing across a variety of real-world links representing common 44Net Connect use cases. For example, on a MacBook connected through a GL.iNet cellular hotspot in its default configuration, with WireGuard running on the Mac, pings to public hosts over the tunnel topped out at 1352 bytes of payload, for a 1380 byte MTU.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mtu=1350 payload=1322 ok&lt;br /&gt;
mtu=1425 payload=1397 fail&lt;br /&gt;
mtu=1387 payload=1359 fail&lt;br /&gt;
mtu=1368 payload=1340 ok&lt;br /&gt;
mtu=1377 payload=1349 ok&lt;br /&gt;
mtu=1382 payload=1354 fail&lt;br /&gt;
mtu=1379 payload=1351 ok&lt;br /&gt;
mtu=1380 payload=1352 ok&lt;br /&gt;
mtu=1381 payload=1353 fail&lt;br /&gt;
&lt;br /&gt;
highest working MTU: 1380 (payload 1352)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Connect is designed to accommodate links prone to higher overhead like cellular and satellite. To increase the chance that a new user can get connected even in such environments without having to debug path MTU issues immediately, the recommended value of 1380 is intentionally conservative. Users who know their PMTU can raise it accordingly.&lt;br /&gt;
&lt;br /&gt;
== Fun fact ==&lt;br /&gt;
&lt;br /&gt;
In the packet radio era, every byte of overhead consumed limited airtime over slow links. Efficiently aligning IP packets with AX.25 transmission frames was part of designing a usable link with minimal retransmissions.&lt;br /&gt;
&lt;br /&gt;
The same tradeoffs still exist today. Faster CPUs, better NICs, and high-speed Internet access often mask the cost, but every extra header still consumes space that could otherwise carry useful data, and low-speed or heavily encapsulated paths can surface that overhead immediately.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Reference]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Routing]]&lt;/div&gt;</summary>
		<author><name>KI5QKX</name></author>
	</entry>
</feed>