TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

How 1500 bytes became the MTU of the Internet (2020)

101 点作者 Jerry2将近 4 年前

6 条评论

anonymousisme将近 4 年前
From what I recall, the 1500 number was chosen to minimize the time wasted in the case of a collision. Collisions could happen on the original links because instead of point-to-point links like we have today, they all used the same shared channel. (This was in the days of hubs, before switches existed.) The CSMA (Carrier Sense, Multiple Access) algorithm would not transmit while another node was using the channel, then it would refrain from transmitting by a random length of time before sending. If two nodes began transmitting at the same time, a collision would occur and the Ethernet frames would be lost. Error detection and correction (if used) occurs at higher layers. So if a collision occurred with a 1500 byte MTU at 10Mbps, 1.2mS of time would be wasted. IIRC, the 1500 byte MTU was selected empirically.<p>Another reason for the short MTU was the accuracy of the crystal oscillator on each Ethernet card. I believe 10-Base Ethernet used bi-phase&#x2F;Manchester encoding, but instead of recovering the clock from the data and using it to shift the bits in to the receiver, the cheap hardware would just assume that everything was in sync. So if any crystal oscillator was off by more than 0.12%, the final bits of the frame would be corrupted.<p>I&#x27;ve actually encountered Ethernet cards that had this problem. They would work fine with short frames, but then hang forever once a long one came across the wire. The first one I saw was a pain to troubleshoot. I could telnet into a host without trouble, but as soon as I typed &#x27;ls&#x27;, the session would hang. The ARP, SYN&#x2F;ACK and Telnet login exchanges were small frames, but as soon as I requested the directory listing, the remote end sent frames at max MTU and they were never received. They would be perpetually re-tried and perpetually fail because of the frequency error of the oscillator in the (3C509) NIC.
评论 #27678323 未加载
评论 #27680924 未加载
toast0将近 4 年前
No comments on history, AFAIK, Packet Length Limit: 1500 was found on a stone tablet.<p>But note that many high profile sites purposefully do not send 1500 byte packets. Path MTU detection has many cases where it doesn&#x27;t work, so it&#x27;s simpler to say f*** it and set your effective MTU to 1450 or 1480 and call it a day.<p>Reflecting the MSS in SYN minus 8 (assuming a poorly configured PPPoE link) or 20 (assuming a poorly configured IPIP tunnel) or even 28 (both) is probably more effective, but stats are hard to gather, and AFAIK no OS makes it easy to run a test, you&#x27;d need to patch things and divert packets and have a good representative section of users, etc.
评论 #27677809 未加载
评论 #27677647 未加载
benjojo12将近 4 年前
Previous Discussion :)<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22364830" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22364830</a>
citrin_ru将近 4 年前
I have a related question. Jumbo frames (e. g. 9000) look well suited for internal VLANs in DC networks: DC grade routers&#x2F;switches almost always support jumbo frames, PMTUD is not an issue for internal networks (servers in which don&#x27;t talk to clients with filtered ICMP).<p>Why are they so rarely used despite an almost free performance benefit?
评论 #27681122 未加载
评论 #27680175 未加载
评论 #27680958 未加载
评论 #27679418 未加载
评论 #27678857 未加载
EricE将近 4 年前
Oh man - I got hives the moment that picture loaded. I think I still have a passel of those cards in a box somewhere :p
评论 #27680243 未加载
评论 #27681040 未加载
mmastrac将近 4 年前
There would probably be some concrete value to having a flag day on the internet where we just universally agree to bump the MTU up to something a little larger and gain across the board.<p>If I&#x27;m not mistaken, this happened with both TLS and DNS - there were multiple days where all the major service providers flipped the bits to allow everyone to test the systems at scale and fix any issues that occurred.
评论 #27682343 未加载
评论 #27681285 未加载