TCP/IP之大明内阁---协议的制定
個(gè)人感言:真正的知識(shí)是深入淺出的,碼農(nóng)翻身”?公共號(hào)將苦澀難懂的計(jì)算機(jī)知識(shí),用形象有趣的生活中實(shí)例呈現(xiàn)給我們,讓我們更好地理解。感謝“碼農(nóng)翻身”?公共號(hào),感謝你們的成果,謝謝你們的分享。
本文源地址:TCP/IP之大明內(nèi)閣
本文是《TCP/IP之大明王朝郵差》的前傳,講一講大明內(nèi)閣的各位大人是怎么設(shè)計(jì)TCP/IP網(wǎng)絡(luò)的。大明天啟年間,明熹宗朱由校醉心于木工,重用宦官魏忠賢,不上朝已經(jīng)很久了。
內(nèi)閣首輔葉大人憂心忡忡,大明各地民不聊生,大片田地荒蕪,強(qiáng)盜、野獸橫行。之前修建的官道也基本廢棄了,不但收不到各地送來(lái)的奏報(bào), 自己昨天好不容易擺脫魏忠賢,面見(jiàn)了一次皇上,但是請(qǐng)求頒發(fā)的一道圣旨竟然無(wú)法送到各個(gè)府縣,送信的郵差都被半路搶劫了,或者失蹤了!
葉首輔決定召開(kāi)一次內(nèi)閣會(huì)議,研究下怎么建立一個(gè)可靠的、穩(wěn)定的、通暢的上情下達(dá)機(jī)制。
虛電路(Virtual Circuit)
首先來(lái)看一下“360百科(虛電路)”給出的解釋:虛電路是分組交換的兩種傳輸方式中的一種。在通信和網(wǎng)絡(luò)中,虛電路是由分組交換通信所提供的面向連接的通信服務(wù)。在兩個(gè)節(jié)點(diǎn)或應(yīng)用進(jìn)程之間建立起一個(gè)邏輯上的連接或虛電路后,就可以再兩個(gè)節(jié)點(diǎn)之間一次發(fā)送每一個(gè)分組,接收端收到分組的順序必然與發(fā)送端的發(fā)送順序一致,因此接收端無(wú)須負(fù)責(zé)在收集分組后重新進(jìn)行排序。虛電路協(xié)議向高層協(xié)議隱藏了將數(shù)據(jù)分割成段、包或幀的過(guò)程。
虛電路是建立一條邏輯連接,發(fā)送方和接收方不需要預(yù)先建立連接。
好了,下面繼續(xù)原文。
前來(lái)開(kāi)會(huì)的大人們聽(tīng)了葉首輔說(shuō)的情況,立刻都是愁眉苦臉的,面對(duì)這么一個(gè)艱巨的挑戰(zhàn),沒(méi)人愿意開(kāi)口,都是在不住的嘆氣搖頭。
過(guò)了一炷香功夫,韓大人看到首輔不斷的給自己使眼色,只好開(kāi)口了: “各位大人,我有個(gè)不成熟的想法,說(shuō)出來(lái)大家評(píng)判一下。現(xiàn)在主要的問(wèn)題是強(qiáng)盜橫行、野獸出沒(méi)。我想我們可以派出我們的大軍,沿路站崗,五步一崗,三部一哨, 給官道建立一個(gè)可靠的保障。”
朱大人道:“韓大人此法差矣!我大明這么多官道,大軍再多也不夠用啊。”
韓大人笑道: “朱大人,看來(lái)你沒(méi)明白,我的意思不是把所有的官道都布上崗哨, 而是說(shuō)我們要建立一個(gè)連接通道!”
“連接?什么連接? ” 朱大人說(shuō) ,“沒(méi)聽(tīng)說(shuō)過(guò)”。
?“假如我們京城要和開(kāi)封府通信,中間會(huì)經(jīng)過(guò)很多的市鎮(zhèn)。我們只需要派出一隊(duì)官兵,把從京城到開(kāi)封府的道路給保護(hù)好就可以了,這樣就不怕那些強(qiáng)盜虎豹,等到雙方通信一完,大軍即可撤回,去保護(hù)另外一個(gè)通信通道,這就是用官兵建立一個(gè)連接!”
葉首輔道:“韓大人說(shuō)的有道理,至少能解決問(wèn)題。不過(guò)我們的主力大軍都被派到東北對(duì)付努爾哈赤去了。所以,我們需要和沿途的市鎮(zhèn)、驛站協(xié)商,主要讓他們出兵, 和京城的大軍一起建立安全的通道。”
“這樣的話在一次通信中都可以走這個(gè)安全的通道,很寬敞、很可靠。但是代價(jià)也很高,為了通信一次,得動(dòng)用這么多士兵,還得和中間節(jié)點(diǎn)協(xié)商。” 朱大人也學(xué)會(huì)了抽象,造出了”中間節(jié)點(diǎn)“這樣的新詞兒。
韓大人道:“嗯, 還有一點(diǎn)就是如果通道暫時(shí)不發(fā)信件的話,就閑置浪費(fèi)了。”
葉首輔道:“那也是沒(méi)有辦法的事情,我們先這么試行一段時(shí)間吧。”
(碼農(nóng)翻身公眾號(hào)注:這就是所謂的虛電路,綠色部分為連接通道,所有的消息都從同一個(gè)通道上發(fā)送)
虛電路的特點(diǎn)
關(guān)于“虛電路”,從上面可以總結(jié)出其如下特點(diǎn):
虛電路通信與電路交換類(lèi)似,兩者都是面向連接的,即數(shù)據(jù)按照正確的順序發(fā)送,并且在連接建立階段都需要額外開(kāi)銷(xiāo)。但是,電路交換提供穩(wěn)定的比特率和延遲時(shí)間,而虛電路服務(wù)的比特率和延遲時(shí)間要取決于以下因素:
1.網(wǎng)絡(luò)節(jié)點(diǎn)上包隊(duì)列的長(zhǎng)度,
2.應(yīng)用程序產(chǎn)生數(shù)據(jù)的比特率,
3.使用統(tǒng)計(jì)多路復(fù)用技術(shù)時(shí),共享同一網(wǎng)絡(luò)資源的其他用戶(hù)的負(fù)荷。
4.許多虛電路協(xié)議通過(guò)數(shù)據(jù)重傳,包括檢錯(cuò)糾錯(cuò)和自動(dòng)重傳請(qǐng)求(ARQ),提供可靠的通信服務(wù)。
虛電路是在分組交換散列網(wǎng)絡(luò)上的兩個(gè)或多個(gè)端點(diǎn)站點(diǎn)間的鏈路。它為兩個(gè)端點(diǎn)間提供臨時(shí)或?qū)S妹嫦蜻B接的會(huì)話。它的固有特點(diǎn)是,有一條通過(guò)多路徑網(wǎng)絡(luò)的預(yù)定路徑。提前定義好一條路徑,可以改進(jìn)性能,并且消除了幀和分組對(duì)頭的需求,從而增加了吞吐率。從技術(shù)上看,可以通過(guò)分組交換網(wǎng)絡(luò)的物理路徑進(jìn)行改變,以避免擁擠和失效線路,但是兩個(gè)端系統(tǒng)要保持一條連接,并根據(jù)需要改變路徑描述。
分組交換
先看一下摘選自“360百科(分組交換)”上的解釋:
在通信過(guò)程中,通信雙方以分組為單位、使用存儲(chǔ)-轉(zhuǎn)發(fā)機(jī)制實(shí)現(xiàn)數(shù)據(jù)交互的通信方式,被稱(chēng)為分組交換(PS:packet switching)。
分組交換也稱(chēng)為包交換,它將用戶(hù)通信的數(shù)據(jù)劃分成多個(gè)更小的等長(zhǎng)數(shù)據(jù)段,在每個(gè)數(shù)據(jù)段的前面加上必要的控制信息作為數(shù)據(jù)段的首部,每個(gè)帶有首部的數(shù)據(jù)段就構(gòu)成了一個(gè)分組。首部指明了該分組發(fā)送的地址,當(dāng)交換機(jī)收到分組之后,將根據(jù)首部中的地址信息將分組轉(zhuǎn)發(fā)到目的地,這個(gè)過(guò)程就是分組交換。能夠進(jìn)行分組交換的通信網(wǎng)被稱(chēng)為分組交換網(wǎng)。
分組交換網(wǎng)一般由分組交換機(jī)、網(wǎng)絡(luò)管理中心、遠(yuǎn)程集中器、分組裝拆設(shè)備、分組終端/非分組終端和傳輸線路等基本設(shè)備組成。
分組交換的本質(zhì)就是存儲(chǔ)轉(zhuǎn)發(fā),它將所接受的分組暫時(shí)存儲(chǔ)下來(lái),在目的方向路由上排隊(duì),當(dāng)它可以發(fā)送信息時(shí),再將信息發(fā)送到相應(yīng)的路由上,完成轉(zhuǎn)發(fā)。其存儲(chǔ)轉(zhuǎn)發(fā)的過(guò)程就是分組交換的過(guò)程。
分組交換的思想來(lái)源于報(bào)文交換,報(bào)文交換也稱(chēng)為存儲(chǔ)轉(zhuǎn)發(fā)交換,它們交換過(guò)程的本質(zhì)都是存儲(chǔ)轉(zhuǎn)發(fā),所不同的是分組交換的最小信息單位是分組,而報(bào)文交換則是一個(gè)個(gè)報(bào)文。由于以較小的分組為單位進(jìn)行傳輸和交換,所以分組交換比報(bào)文交換快。報(bào)文交換主要應(yīng)用于公用電報(bào)網(wǎng)中。
分組由分組頭和其后的用戶(hù)數(shù)據(jù)部分組成,分組頭包含接收地址和控制信息,其長(zhǎng)度為3-10B,用戶(hù)數(shù)據(jù)部分長(zhǎng)度是固定的,平均為128B,最長(zhǎng)不超過(guò)256B。分組交換路由選擇確定了輸出端口和下一個(gè)節(jié)點(diǎn)后,必須使用交換技術(shù)將分組從輸入端口傳送到輸出端口,實(shí)現(xiàn)輸送比特通過(guò)網(wǎng)絡(luò)節(jié)點(diǎn)。
好,下面繼續(xù)正文:
“虛電路”運(yùn)行了半年,終于勉強(qiáng)上情下達(dá)了。但是被魏忠賢得知,添油加醋的給皇帝朱由校說(shuō)了很多壞話,木匠皇帝雷霆大怒,大罵內(nèi)閣浪費(fèi)國(guó)家人力物力,下令立即停止。
內(nèi)閣恨透了魏忠賢,但是又不得不停止。
這一天皇上又沒(méi)上早朝,大家愁眉苦臉的聚到一起商議。
禮部右侍郎孫承宗突然想起了一件事情:“我巡防邊關(guān)的時(shí)候聽(tīng)說(shuō)袁崇煥使用了一個(gè)奇怪的辦法來(lái)傳遞軍務(wù)物資,他不用軍隊(duì)在官道站崗,不用建立安全的連接通道,完全依靠馬匹、騾子這樣的牲畜進(jìn)行通信。”
“怎么可能? 馬匹不通人性,跑丟了怎么辦?”
孫承宗道:“他這些馬是訓(xùn)練過(guò)的,身上帶著信件或者物資,可以在官道上走,每到一個(gè)驛站或者市鎮(zhèn),里邊的衙役看看信件的目的地,喂喂馬,然后把馬引到下一個(gè)官道就可以了。很省事!?當(dāng)然具體到那個(gè)官道是衙役決定的,他會(huì)搜集各種消息,確定那個(gè)官道匪患少、虎狼少。”(碼農(nóng)翻身注:驛站類(lèi)似路由器,需要構(gòu)建路由表, 轉(zhuǎn)發(fā)數(shù)據(jù)分組)
“這還解決不了問(wèn)題,路上沒(méi)官兵保護(hù),馬可能會(huì)把搶走,或者被虎豹吃掉,這樣物資還是丟了。”
孫承宗道:“這一點(diǎn)袁崇煥他們也想到了,他們發(fā)明了一種叫失敗重傳的方法,如果收不到對(duì)方的確認(rèn)回信,就會(huì)重新發(fā)送。”
“重新發(fā)送的代價(jià)太高了吧,畢竟是物資啊!”(在計(jì)算機(jī)中,物資是很廉價(jià)的數(shù)據(jù)分組)
“是這樣,他們一般把一個(gè)大件的物資拆成小塊,因?yàn)橐黄ヱR也拉不了多少,然后給每個(gè)小塊變編號(hào),哪個(gè)小塊丟了,就只發(fā)送那個(gè)編號(hào)的。袁崇煥說(shuō)他們有個(gè)叫‘幻月寶鏡’的東西,丟了的東西可以從中再取出來(lái)!”
“這真是個(gè)寶貝啊, 一般人怎么可能有啊。”
葉首輔道:“不過(guò)這倒是一個(gè)有意思的思路,不需要事先建立真正的連接通道,每個(gè)編號(hào)小塊走的路可能也不一樣,完全由中間節(jié)點(diǎn)的衙役們來(lái)決定馬匹的下一個(gè)路徑是哪一個(gè)。”
(碼農(nóng)翻身注: 這叫做分組交換)
孫承宗補(bǔ)充道:”葉大人看的很透徹,不僅路徑不同,這些小塊也可能不按次序(失序)到達(dá)。他用這種方法其實(shí)是說(shuō)中間節(jié)點(diǎn)并不承諾提供可靠的連接通道,物資完全可能失序、重復(fù)、甚至丟失。所謂可靠的傳輸完全由兩個(gè)端點(diǎn)(例如京城和開(kāi)封府)來(lái)實(shí)現(xiàn)。”
(碼農(nóng)翻身注:京城午門(mén)給內(nèi)鄉(xiāng)縣衙發(fā)了A1、A2,京城德勝門(mén)給開(kāi)封府發(fā)送B1、B2、B3,圖中顯示分組的路徑)
韓大人道:“首輔大人,要不我們也試試?不過(guò)我們得想辦法把幻月寶鏡弄來(lái)。 ”
葉首輔道:“我們奏請(qǐng)皇上讓袁崇煥進(jìn)京述職,讓他把寶鏡帶來(lái),這一次一定得讓皇上支持,要不然還會(huì)中途夭折,我馬上進(jìn)宮,大家靜候佳音吧。”
分組交換的特點(diǎn)
補(bǔ)充知識(shí),從上面的形象案例總結(jié)一下分組交換的特點(diǎn),如下:
1、線路利用率高:分組交換以虛電路的形式進(jìn)行信道的多路復(fù)用,實(shí)現(xiàn)資源共享,可在一條物理線路上提供多條邏輯信道,極大地提高線路的利用率。使傳輸費(fèi)用明顯下降。
?
2、不同種類(lèi)的終端可以相互通信:分組網(wǎng)以X.25協(xié)議向用戶(hù)提供標(biāo)準(zhǔn)接口,數(shù)據(jù)以分組為單位在網(wǎng)絡(luò)內(nèi)存儲(chǔ)轉(zhuǎn)發(fā),使不同速率終端,不同協(xié)議的設(shè)備經(jīng)網(wǎng)絡(luò)提供的協(xié)議變換功能后實(shí)現(xiàn)互相通信。
3、信息傳輸可靠性高:在網(wǎng)絡(luò)中每個(gè)分組進(jìn)行傳輸時(shí),在節(jié)點(diǎn)交換機(jī)之間采用差錯(cuò)校驗(yàn)與重發(fā)的功能,因而在網(wǎng)中傳送的誤碼率大大降低。而且在網(wǎng)內(nèi)發(fā)生故障時(shí),網(wǎng)絡(luò)中的路由機(jī)制會(huì)使分組自動(dòng)地選擇一條新的路由避開(kāi)故障點(diǎn),不會(huì)造成通信中斷。
4、分組多路通信:由于每個(gè)分組都包含有控制信息,所以分組型終端可以同時(shí)與多個(gè)用戶(hù)終端進(jìn)行通信,可把同一信息發(fā)送到不同用戶(hù)。
5、計(jì)費(fèi)與傳輸距離無(wú)關(guān):網(wǎng)絡(luò)計(jì)費(fèi)按時(shí)長(zhǎng)、信息量計(jì)費(fèi),與傳輸距離無(wú)關(guān),特別適合那些非實(shí)時(shí)性,而通信量不大的用戶(hù)。
?(END)
?補(bǔ)充知識(shí)
除了虛電路、分組交換技術(shù),還有電路交換和報(bào)文交換。
電路交換
電路交換就是計(jì)算機(jī)終端之間通信時(shí),一方發(fā)起呼叫,獨(dú)占一條物理線路。當(dāng)交換機(jī)完成接續(xù),對(duì)方收到發(fā)起端的信號(hào),雙方即可進(jìn)行通信(主要應(yīng)用于電話通信網(wǎng)中)。在整個(gè)通信過(guò)程中雙方一直占用該電路。它的特點(diǎn)是實(shí)時(shí)性強(qiáng),時(shí)延小,交換設(shè)備成本較低。但同時(shí)也帶來(lái)線路利用率低,電路接續(xù)時(shí)間長(zhǎng),通信效率低,不同類(lèi)型終端用戶(hù)不能通信等缺點(diǎn)。電路交換比較適用于信息量大、長(zhǎng)報(bào)文,經(jīng)常使用的固定用戶(hù)之間的通信。
報(bào)文交換
將用戶(hù)的報(bào)文存儲(chǔ)在交換機(jī)的存儲(chǔ)器中。當(dāng)所需要的輸出電路空閑時(shí),再將該報(bào)文發(fā)向接收交換機(jī)或終端,它以"存儲(chǔ)-轉(zhuǎn)發(fā)"方式在網(wǎng)內(nèi)傳輸數(shù)據(jù)。報(bào)文交換的優(yōu)點(diǎn)是中繼電路利用率高,可以多個(gè)用戶(hù)同時(shí)在一條線路上傳送,可實(shí)現(xiàn)不同速率、不同規(guī)程的終端間互通。但它的缺點(diǎn)也是顯而易見(jiàn)的。以報(bào)文為單位進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā),網(wǎng)絡(luò)傳輸時(shí)延大,且占用大量的交換機(jī)內(nèi)存和外存,不能滿足對(duì)實(shí)時(shí)性要求高的用戶(hù)。報(bào)文交換適用于傳輸?shù)膱?bào)文較短、實(shí)時(shí)性要求較低的網(wǎng)絡(luò)用戶(hù)之間的通信,如公用電報(bào)網(wǎng)。電子郵件系統(tǒng)(E-mail)也適合采用報(bào)文交換方式。
“碼農(nóng)翻身”?公共號(hào)?: 由工作15年的前IBM架構(gòu)師創(chuàng)建,分享編程和職場(chǎng)的經(jīng)驗(yàn)教訓(xùn)。
長(zhǎng)按二維碼, 關(guān)注碼農(nóng)翻身
寫(xiě)代碼是一種藝術(shù),甚于蒙娜麗莎的微笑。from:?http://www.cnblogs.com/tgycoder/p/6075767.html
總結(jié)
以上是生活随笔為你收集整理的TCP/IP之大明内阁---协议的制定的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 我为何爱读代码?你为何也应当爱?
- 下一篇: 使Docker搭建Java Web运行环