TCPIP規範之堆疊 Stack 看起來像什麼呢?俯察象個『回』字,側寫成個『串』文。不論它看起來像個什麼或有沒有形狀,它是網路的主宰,也是通往英特乃的大道。老子第二十五章裡說︰
有物混成,先天地生。寂兮寥兮,獨立而不改,周行而不殆,可以为天地母。吾不知其名,强字之曰:道,强为之名曰:大。大曰逝,逝曰遠,遠曰反。
回文是正讀反讀都能讀通的句子,有人說它源自『道德经』,故稱之為『道原』︰
第二十章 ── 俗人昭昭,我獨昏昏,俗人察察,我獨悶悶。
六十三章 ── 為无為,事无事,味无味。
八十一章 ── 信言不美,美言不信。
那視之成串回文字之道原可有一個『讀法』?有人不止能讀還能寫 ,話說蘇伯玉赴蜀日久未歸,其妻獨居長安,七巧心思制作相思盤 ,探盼其夫心中是否有個她?
漢代 蘇伯玉妻《盤中詩》
山樹高,鳥鳴悲。泉水深,鯉魚肥。
空倉雀,常苦飢。吏人婦,會夫稀。
出門望,見白衣。謂當是,而更非。
還入門,中心悲。北上堂,西入階。
急機絞,杼聲催。長嘆息,當語誰。
君有行,妾念之。出有日,還無期。
結中帶,長相思。君忘妾,天知之。
妾忘君,罪當治。妾有行,宜知之。
黃者金,白者玉。高者山,下者谷。
姓者蘇,字伯玉,作人才多智謀足。
家居長安身在蜀,何惜馬蹄歸不數。
羊肉千斤酒百斛,令君馬肥麥與粟。
今時人,智不足。與其書,不能讀。
當從中央周四角。
作者不知蘇伯玉是歸是不歸?一杯『可以清心也』之茶,望『清』者己能『千回百轉』,解者自能消酷暑之永晝!!
說道這個規範堆疊,分解的說也許可以圖示如下︰
上圖各色分明,左說其名,右講程式所用,中道其事。
精讀細思后,設想作這樣『一個包裹著另一個』的事有什麼好處呢 ?其實這就是就層層對應中之某層而言『上中下』相關的譯解結構,在上的目的語言為在『其中』者分割譯解成在下的手段控制。這使得越往上,技術細節將被越多層所包裹而不必知其詳,所以寫網際網路應用軟體的人,通常知道 TCP/IP 界面的 API 用法就夠了,很少會直接用到乙太網的實體層界面。當然愈向下所知的技術細節也就愈多,也許有時發生的『狀況』超出程式的預期時會很有用。在此將它綜合成一個表解吧︰
彼接點信號之發送 | ↑↓←→ 層對層 上語下 列言列 | ↓↑→← 列知列 下道上 層應層 | 此節點訊息之接收 |
---|---|---|---|
彼上上‧目的 | ↓ | ↑ | 此上上‧目的 |
彼上‧目的語言 | ↓ | ↑ | 此上‧目的語言 |
轉譯彼上之目的 話成彼下之手段 | ←→ 堆言疊語 彼文此解 | ←→ 疊語堆言 此字彼譯 | 轉翻此上之目的 說解此下之手段 |
彼下‧手段文字 | ↓ | ↑ | 此下‧手段文字 |
彼下下‧手段 | ↓ | ↑ | 此下下‧手段 |
─── 《啃一塊唄 K TCPIP!!下》
該學的太多,該知的太廣︰
TCP/IP協定套組
網際網路協定(英語:Internet Protocol Suite,縮寫IPS)[1]是一個網路通訊模型,以及一整個網路傳輸協定家族,為網際網路的基礎通訊架構。它常被通稱為TCP/IP協定套組(英語:TCP/IP Protocol Suite,或TCP/IP Protocols),簡稱TCP/IP[2]。因為該協定家族的兩個核心協定:TCP(傳輸控制協定)和IP(網際網路協定),為該家族中最早通過的標準[3]。由於在網路通訊協定普遍採用分層的結構,當多個層次的協定共同工作時,類似電腦科學中的堆疊,因此又被稱為TCP/IP協定疊(英語:TCP/IP Protocol Stack)[4][5] 。這些協定最早發源於美國國防部(縮寫為DoD)的ARPA網專案,因此也被稱作DoD模型(DoD Model)[6]。這個協定套組由網際網路工程任務組負責維護。
TCP/IP提供點對點的連結機制,將資料應該如何封裝、定址、傳輸 、路由以及在目的地如何接收,都加以標準化。它將軟體通訊過程抽象化為四個抽象層,採取協定堆疊的方式,分別實作出不同通訊協定。協定套組下的各種協定,依其功能不同,被分別歸屬到這四個階層之中[7][8],常被視為是簡化的七層OSI模型。
TCP/IP參考模型
兩個網際網路主機通過兩個路由器和對應的層連接。各主機上的應用通過一些資料通道相互執行讀取操作。
RFC 1122中描述的沿著不同的層應用資料的封裝遞減
TCP/IP參考模型是一個抽象的分層模型,這個模型中,所有的TCP/IP系列網路協定都被歸類到4個抽象的”層”中。每一抽象層建立在低一層提供的服務上,並且為高一層提供服務。 完成一些特定的任務需要眾多的協定協同工作,這些協定分布在參考模型的不同層中的,因此有時稱它們為一個協定疊。 TCP/IP參考模型為TCP/IP協定疊訂身製作。其中IP協定只關心如何使得資料能夠跨越本地網路邊界的問題,而不關心如何利用傳輸媒體,資料如何傳輸。整個TCP/IP協定疊則負責解決資料如何通過許許多多個對等通路(一個對等通路,也稱為一”跳”, 1 hop)順利傳輸,由此不同的網路成員能夠在許多”跳”的基礎上建立相互的資料通路。 如想分析更普遍的網路通訊問題,ISO的OSI模型也能起更好的幫助作用。 網際網路協定套組是一組實現支援網際網路和大多數商業網路執行的協定疊的網路傳輸協定。它有時也被稱為TCP/IP協定組,這個名稱來源於其中兩個最重要的協定:傳輸控制協定(TCP)和網際網路協定(IP),它們也是最先定義的兩個協定。 同許多其他協定一樣網路傳輸協定也可以看作一個多層組合,每層解決資料傳輸中的一組問題並且向使用這些低層服務的高層提供定義好的服務。高層邏輯上與用戶更為接近,所處理資料更為抽象,它們依賴於低層將資料轉換成最終能夠進行實體控制的形式。 網路傳輸協定能夠大致符合到一些廠商喜歡使用的固定7層的OSI模型。然而這些層並非都能夠很好地與基於ip的網路對應(根據應用的設計和支援網路的不同它們確實是涉及到不同的層)並且一些人認為試圖將網際網路協定組對應到OSI會帶來混淆而不是有所幫助。
網際網路協定疊中的層
人們已經進行一些討論關於如何將TCP/IP參考模型對映到OSI模型。由於TCP/IP和OSI模型組不能精確地符合,還沒有一個完全正確的答案。 另外,OSI模型下層還不具備能夠真正占據真正層的位置的能力;在傳輸層和網路層之間還需要另外一個層(網路互連層)。特定網路類型專用的一些協定應該執行在網路層上,但是卻執行在基本的硬體影格交換上。類似協定的例子有位址解析協定和生成樹協定(用來保持冗餘網橋的空閒狀態直到真正需要它們)。然而,它們是本地協定並且在網路互連功能下面執行。不可否認,將兩個組(更不用說它們只是執行在如ICMP等不同的互連網路協定上的邏輯上的網路層的一部分)整個放在同一層會引起混淆,但是OSI模型還沒有複雜到能夠做更好的工作。 下面的圖表試圖顯示不同的TCP/IP和其他的協定在最初OSI模型中的位置:
7 | 應用層 application layer |
例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP |
6 | 表現層 presentation layer |
例如XDR、ASN.1、SMB、AFP、NCP |
5 | 會議層 session layer |
例如ASAP、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、IGMP、Winsock、BSD sockets |
4 | 傳輸層 transport layer |
例如TCP、UDP、TLS、RTP、SCTP、SPX、ATP、IL |
3 | 網路層 network layer |
例如IP、ICMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.25 |
2 | 資料連結層 data link layer |
例如乙太網路、令牌環、HDLC、影格中繼、ISDN、ATM、IEEE 802.11、FDDI、PPP |
1 | 實體層 physical layer |
例如線路、無線電、光纖 |
通常人們認為OSI模型的最上面三層(應用層、表現層和會議層)在TCP/IP組中是一個應用層。由於TCP/IP有一個相對較弱的會議層,由TCP和RTP下的開啟和關閉連接組成,並且在TCP和UDP下的各種應用提供不同的埠號,這些功能能夠被單個的應用程式(或者那些應用程式所使用的庫)增加。與此相似的是,IP是按照將它下面的網路當作一個黑盒子的思想設計的,這樣在討論TCP/IP的時候就可以把它當作一個獨立的層。
4 | 應用層 application layer |
例如HTTP、FTP、DNS (如BGP和RIP這樣的路由協定,儘管由於各種各樣的原因它們分別執行在TCP和UDP上,仍然可以將它們看作網路層的一部分) |
3 | 傳輸層 transport layer |
例如TCP、UDP、RTP、SCTP (如OSPF這樣的路由協定,儘管執行在IP上也可以看作是網路層的一部分) |
2 | 網路互連層 internet layer |
對於TCP/IP來說這是網際網路協定(IP) (如ICMP和IGMP這樣的必須協定儘管執行在IP上,也仍然可以看作是網路互連層的一部分;ARP不執行在IP上) |
1 | 網路埠層 link layer |
例如乙太網路、Wi-Fi、MPLS等。 |
最好的辦法是
借助工具,創造環境☺
Usage
逍遙游也◎