網(wǎng)絡(luò)七層協(xié)議通俗理解免钻,轉(zhuǎn)~

轉(zhuǎn):https://www.cnblogs.com/carlos-mm/p/6297197.html#undefined

OSI七層模式簡單通俗理解


這個模型學(xué)了好多次罐农,總是記不住莫秆。今天又看了一遍间雀,發(fā)現(xiàn)用歷史推演的角度去看問題會更有邏輯,更好記镊屎。本文不一定嚴(yán)謹(jǐn)惹挟,可能有錯漏,主要是拋磚引玉缝驳,幫助記性不好的人连锯。總體來說用狱,OSI模型是從底層往上層發(fā)展出來的运怖。


這個模型推出的最開始,是是因為美國人有兩臺機器之間進行通信的需求齿拂。


需求1:


科學(xué)家要解決的第一個問題是驳规,兩個硬件之間怎么通信。具體就是一臺發(fā)些比特流署海,然后另一臺能收到吗购。


于是医男,科學(xué)家發(fā)明了物理層:


主要定義物理設(shè)備標(biāo)準(zhǔn),如網(wǎng)線的接口類型捻勉、光纖的接口類型镀梭、各種傳輸介質(zhì)的傳輸速率等。它的主要作用是傳輸比特流(就是由1踱启、0轉(zhuǎn)化為電流強弱來進行傳輸报账,到達目的地后在轉(zhuǎn)化為1、0埠偿,也就是我們常說的數(shù)模轉(zhuǎn)換與模數(shù)轉(zhuǎn)換)透罢。這一層的數(shù)據(jù)叫做比特。


需求2:


現(xiàn)在通過電線我能發(fā)數(shù)據(jù)流了冠蒋,但是羽圃,我還希望通過無線電波,通過其它介質(zhì)來傳輸抖剿。然后我還要保證傳輸過去的比特流是正確的朽寞,要有糾錯功能。


于是斩郎,發(fā)明了數(shù)據(jù)鏈路層:


定義了如何讓格式化數(shù)據(jù)以進行傳輸脑融,以及如何讓控制對物理介質(zhì)的訪問。這一層通常還提供錯誤檢測和糾正缩宜,以確保數(shù)據(jù)的可靠傳輸肘迎。


需求3:


現(xiàn)在我能發(fā)正確的發(fā)比特流數(shù)據(jù)到另一臺計算機了,但是當(dāng)我發(fā)大量數(shù)據(jù)時候脓恕,可能需要好長時間膜宋,例如一個視頻格式的,網(wǎng)絡(luò)會中斷好多次(事實上炼幔,即使有了物理層和數(shù)據(jù)鏈路層秋茫,網(wǎng)絡(luò)還是經(jīng)常中斷,只是中斷的時間是毫秒級別的)乃秀。


那么肛著,我還須要保證傳輸大量文件時的準(zhǔn)確性。于是跺讯,我要對發(fā)出去的數(shù)據(jù)進行封裝枢贿。就像發(fā)快遞一樣,一個個地發(fā)刀脏。


于是局荚,先發(fā)明了傳輸層(傳輸層在OSI模型中,是在網(wǎng)絡(luò)層上面)


例如TCP,是用于發(fā)大量數(shù)據(jù)的耀态,我發(fā)了1萬個包出去轮傍,另一臺電腦就要告訴我是否接受到了1萬個包,如果缺了3個包首装,就告訴我是第1001创夜,234,8888個包丟了仙逻,那我再發(fā)一次驰吓。這樣,就能保證對方把這個視頻完整接收了系奉。


例如UDP檬贰,是用于發(fā)送少量數(shù)據(jù)的。我發(fā)20個包出去喜最,一般不會丟包偎蘸,所以庄蹋,我不管你收到多少個瞬内。在多人互動游戲,也經(jīng)常用UDP協(xié)議限书,因為一般都是簡單的信息虫蝶,而且有廣播的需求。如果用TCP倦西,效率就很低能真,因為它會不停地告訴主機我收到了20個包,或者我收到了18個包扰柠,再發(fā)我兩個粉铐!如果同時有1萬臺計算機都這樣做,那么用TCP反而會降低效率卤档,還不如用UDP蝙泼,主機發(fā)出去就算了,丟幾個包你就卡一下劝枣,算了汤踏,下次再發(fā)包你再更新。


TCP協(xié)議是會綁定IP和端口的協(xié)議舔腾,下面會介紹IP協(xié)議溪胶。


需求4:


傳輸層只是解決了打包的問題。但是如果我有多臺計算機稳诚,怎么找到我要發(fā)的那臺哗脖?或者,A要給F發(fā)信息,中間要經(jīng)過B才避,C丘损,D,E,但是中間還有好多節(jié)點如K.J.Z.Y工扎。我怎么選擇最佳路徑徘钥?這就是路由要做的事。


于是肢娘,發(fā)明了網(wǎng)絡(luò)層呈础。即路由器,交換價那些具有尋址功能的設(shè)備所實現(xiàn)的功能橱健。這一層定義的是IP地址而钞,通過IP地址尋址。所以產(chǎn)生了IP協(xié)議拘荡。


需求5:


現(xiàn)在我們已經(jīng)保證給正確的計算機臼节,發(fā)送正確的封裝過后的信息了。但是用戶級別的體驗好不好珊皿?難道我每次都要調(diào)用TCP去打包网缝,然后調(diào)用IP協(xié)議去找路由,自己去發(fā)蟋定?當(dāng)然不行粉臊,所以我們要建立一個自動收發(fā)包,自動尋址的功能驶兜。


于是扼仲,發(fā)明了會話層。會話層的作用就是建立和管理應(yīng)用程序之間的通信抄淑。


需求6:


現(xiàn)在我能保證應(yīng)用程序自動收發(fā)包和尋址了屠凶。但是我要用Linux給window發(fā)包,兩個系統(tǒng)語法不一致肆资,就像安裝包一樣矗愧,exe是不能在linux下用的,shell在window下也是不能直接運行的迅耘。于是需要表示層(presentation)贱枣,幫我們解決不同系統(tǒng)之間的通信語法問題。


需求7:


OK颤专,現(xiàn)在所有必要條件都準(zhǔn)備好了纽哥,我們可以寫個android程序,web程序去實現(xiàn)需求把栖秕。


補充:


Socket:


這不是一個協(xié)議春塌,而是一個通信模型。其實它最初是伯克利加州分校軟件研究所,簡稱BSD發(fā)明的只壳,主要用來一臺電腦的兩個進程間通信俏拱,然后把它用到了兩臺電腦的進程間通信。所以吼句,可以把它簡單理解為進程間通信锅必,不是什么高級的東西。主要做的事情不就是:


A發(fā)包:發(fā)請求包給某個已經(jīng)綁定的端口(所以我們經(jīng)常會訪問這樣的地址182.13.15.16:1235惕艳,1235就是端口)搞隐;收到B的允許;然后正式發(fā)送远搪;發(fā)送完了劣纲,告訴B要斷開鏈接;收到斷開允許谁鳍,馬上斷開癞季,然后發(fā)送已經(jīng)斷開信息給B。


B收包:綁定端口和IP倘潜;然后在這個端口監(jiān)聽绷柒;接收到A的請求,發(fā)允許給A窍荧,并做好接收準(zhǔn)備辉巡,主要就是清理緩存等待接收新數(shù)據(jù);然后正式接收蕊退;接受到斷開請求,允許斷開憔恳;確認斷開后瓤荔,繼續(xù)監(jiān)聽其它請求。


可見钥组,Socket其實就是I/O操作输硝。Socket并不僅限于網(wǎng)絡(luò)通信。在網(wǎng)絡(luò)通信中程梦,它涵蓋了網(wǎng)絡(luò)層点把、傳輸層、會話層屿附、表示層郎逃、應(yīng)用層——其實這都不需要記,因為Socket通信時候用到了IP和端口挺份,僅這兩個就表明了它用到了網(wǎng)絡(luò)層和傳輸層褒翰;而且它無視多臺電腦通信的系統(tǒng)差別,所以它涉及了表示層;一般Socket都是基于一個應(yīng)用程序的优训,所以會涉及到會話層和應(yīng)用層朵你。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市揣非,隨后出現(xiàn)的幾起案子抡医,更是在濱河造成了極大的恐慌,老刑警劉巖早敬,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件魂拦,死亡現(xiàn)場離奇詭異,居然都是意外死亡搁嗓,警方通過查閱死者的電腦和手機芯勘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腺逛,“玉大人荷愕,你說我怎么就攤上這事」髅” “怎么了安疗?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長够委。 經(jīng)常有香客問我荐类,道長,這世上最難降的妖魔是什么茁帽? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任玉罐,我火速辦了婚禮,結(jié)果婚禮上潘拨,老公的妹妹穿的比我還像新娘吊输。我一直安慰自己,他們只是感情好铁追,可當(dāng)我...
    茶點故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布季蚂。 她就那樣靜靜地躺著,像睡著了一般琅束。 火紅的嫁衣襯著肌膚如雪扭屁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天涩禀,我揣著相機與錄音料滥,去河邊找鬼。 笑死埋泵,一個胖子當(dāng)著我的面吹牛幔欧,可吹牛的內(nèi)容都是我干的罪治。 我是一名探鬼主播,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼礁蔗,長吁一口氣:“原來是場噩夢啊……” “哼觉义!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起浴井,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤晒骇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后磺浙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洪囤,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年撕氧,在試婚紗的時候發(fā)現(xiàn)自己被綠了瘤缩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,683評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡伦泥,死狀恐怖剥啤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情不脯,我是刑警寧澤府怯,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站防楷,受9級特大地震影響牺丙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜复局,卻給世界環(huán)境...
    茶點故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一冲簿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肖揣,春花似錦民假、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽事秀。三九已至彤断,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間易迹,已是汗流浹背宰衙。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留睹欲,地道東北人供炼。 一個月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓一屋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親袋哼。 傳聞我的和親對象是個殘疾皇子冀墨,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,566評論 2 349

推薦閱讀更多精彩內(nèi)容