Robert 為人低調,每次接受采訪都一本正經。而 Vinton 熱情外露,關于他的趣事很多。他的妻子是一位畫家,他們第一次約會時去了藝術博物館。技術男 Vinton 在一幅大型作品前佇立良久,最后冒出一句:“這畫真像一只巨大的新鮮漢堡包”。在他們的婚禮上,錄音機突然卡殼。Vinton 終于發揮了特長,和伴郎一起到小房間修錄音機了。互聯網造福了世界,當然也包括 Vinton 自己的生活。因為夫妻倆都有聽力缺陷,電子郵件就為他們帶來不少便利。
現在人們說到 TCP/IP 時,指的已經不只是 TCP 和 IP 兩個協議,而是包括了 Application Layer、Transport Layer、Internet Layer 和 Network Access Layer 的四層模型。TCP 處于 Transport Layer,而 IP 處于 Internet Layer。鮮為人知的是,剛開始這兩個協議并沒有分層,而是結合在一起。計算機科學家 Jon Postel 對此批評說:
We are screwing up in our design of internet protocols by violating the principle of layering. Specifically we are trying to use TCP to do two things: serve as a host level end to end protocol, and to serve as an internet packaging and routing protocol. These two things should be provided in a layered and modular way. I suggest that a new distinct internetwork protocol is needed, and that TCP be used strictly as a host level end to end protocol.
TCP/IP 的設計堪稱完美。三十年來底層的帶寬、延時、還有介質都發生了翻天覆地的變化,頂層也多了很多應用,但 TCP/IP 卻安如泰山。它不但戰勝了國際標準化組織的 OSI 七層模型,而且目前還看不到被其他方案取代的可能。第一代從事 TCP/IP 工作的工程師,到了退休年齡也在做著朝陽產業。
令人費解的是,現在的大學課程還在介紹早已淘汰的 OSI 七層模型。它和 TCP/IP 模型的對應關系如左圖所示。因為層數太多,很多學生根本理解不了,甚至連排序都不會。老師就用“All People Seem To Need Data Processing”來幫助記憶,因為這七個單詞的首字母和 OSI 模型每一層的首字母是一樣的。大學的應試教育由此可見一斑。更奇怪的是學生們走出校園后,會發現這個笨重的七層模型早已不復存在。雖然它得到過官方的大力 支持,但是市場明顯更青睞輕盈的 TCP/IP 四層模型。
按理說 OSI 是權威組織,七層模型應該是科學的。為什么反而會不受歡迎呢?普度大學的特聘教授 Douglas Comer 在他的文章里這樣說過:
The group new that physical connections are boring, and figured it might as well assign the physical layer to dwarf ``Sleepy''. As it happens, a Layer 1 protocol specification does indeed put everyone to sleep (just try reading one late at night).
</td>
</tr>
2
</td>
Sneezy
</td>
Link
</td>
If you monitor a network and watch the pattern of packets emitted by a computer, you'll immediately understand the relationship between link-layer protocols and ``Sneezy''.
</td>
</tr>
3
</td>
Happy
</td>
Network
</td>
Everyone's happy with the network layer. Well... to be honest, the only network layer protocol that makes everyone's happy is the Internet Protocol. Unfortunately, the Internet protocol isn't part of OSI, and wasn't really built to follow the OSI model (the model didn't include internetworking). But, the designers had good intentions.
</td>
</tr>
4
</td>
Doc
</td>
Transport
</td>
This one's obvious -- it definitely takes a Ph.D. to understand the subtleties of a transport layer protocol.
</td>
</tr>
5
</td>
Dopey
</td>
Session
</td>
Yep, even the designers realized that having a separate session layer is a dopey idea. They decided to follow Disney's approach of adding comic relief, so they stuck in a completely unnecessary layer and laughed about it.
</td>
</tr>
6
</td>
Bashful
</td>
Presentation
</td>
Another little joke. The designers realized that sooner or later someone would create a presentation layer protocol. However, the group decided to classify such protocols as too ``bashful'' to appear in public. So, even if a presentation protocol is produced, no one gets to see it.
</td>
</tr>
7
</td>
Grumpy
</td>
Application
</td>
Programmers who design network applications are incredibly grumpy -- they complain about the efficiency of other layers, the fundamental abstractions of the network, the long hours, the difficulty of debugging, and the API they are forced to use. And users add to the grumpiness because users never complain about protocols at other layers; they only complain about applications.
Douglas 是網絡界德高望重的前輩。他回到普度大學之前曾是 Cisco 的 Vice President of Research,同時更是久負盛名的技術作家,所以我愿意相信他的說法。而業界普遍對待 OSI 模型的抵觸態度,更是一個有力的佐證。幸好到了今天,OSI 模型已經名存實亡了,它對人類的影響只停留在還沒來得及更新的教科書上。