TCP/IP學習筆記1——協(xié)議分層

分層概念

網(wǎng)絡協(xié)議是分層的,分層的概念類似于函數(shù)封裝照藻,不斷提供更高級更抽象的接口,最后提供給客戶使用汗侵。對于分層協(xié)議而言幸缕,整個協(xié)議共同完成一件事情,每個層次基于本層或低層接口完成本層次的功能并對更高級的層次提供接口晰韵,即對于每個層次而言发乔,有以下兩個主要功能:

  • 對高級提供接口:將本層次的功能封裝,供高層調用
  • 實現(xiàn)本層功能:在本層中實現(xiàn)功能雪猪,一般通過調用低層提供的接口實現(xiàn)(最底層除外)

舉一個例子栏尚,若要實現(xiàn)計算器計算的功能,我們實現(xiàn)一個計算器協(xié)議只恨,其分為以下幾個層次:

  1. 用戶輸入層:最高層译仗,為用于提供數(shù)據(jù)輸入方式和結果輸出方式抬虽,實現(xiàn)用戶輸入與邏輯語言的相互轉換
  2. 邏輯編譯層:中間層,將邏輯語言轉換為硬件可以實現(xiàn)的代碼纵菌,實現(xiàn)計算斥赋,將結果轉為邏輯語言
  3. 硬件層:最底層,實現(xiàn)代碼的計算和結果的輸出

假設廠商基于計算器協(xié)議構建了一個手寫計算器产艾,當用戶需要進行1+1的運算時疤剑,以手寫的方式輸入計算需求,即一張手寫圖片闷堡,隨后用戶輸入層將這個手寫圖片轉換為邏輯語言R=1+1隘膘,調用邏輯編譯層進行實現(xiàn);邏輯編譯層將其轉換為匯編代碼ADD R 1 1杠览,調用硬件層進行實現(xiàn)弯菊;硬件層運行匯編代碼得出結果R為2,并將結果反饋給邏輯編譯層踱阿;邏輯編譯層接收硬件層的結果并將其返回給用戶輸入層管钳;用戶輸入層將結果轉為手寫數(shù)字2反饋給用戶。

level.png

這種分層協(xié)議的好處在于分層之間相互獨立软舌,僅有接口上的聯(lián)系才漆,可以進行方便的替換。以上述計算器協(xié)議為例佛点,用戶輸入層可以使用觸屏醇滥,也可以使用鍵盤,只需要將輸入(觸屏輸入或鍵盤輸入)轉為統(tǒng)一格式的邏輯語言即可超营;在邏輯編譯層也可以使用不同的編譯軟件鸳玩,只需要輸入和輸出格式接口相同即可;硬件層亦然演闭,可以使用AMD的cpu也可以使用Intel的cpu不跟,只需要提供給邏輯編譯層相同的接口即可。層與層之間相互獨立米碰,層層抽象窝革。

TCP/IP分層

TCP/IP分層脫胎于OSI分層,以上兩個分層如下圖所示:

tcpip_level.png

OSI分層共分為7層见间,TCP/IP模型共分為5層聊闯,首先考慮OSI分層工猜,并以聯(lián)機對戰(zhàn)中的一個操作為例米诉,即控制某個人物向指定的方向釋放出一個指定的技能(實際游戲會不同):

  • 應用層:為應用程序提供服務并規(guī)定應用程序中通信相關的細節(jié)。在例子中篷帅,用戶A按下技能快捷鍵史侣,并點擊鼠標拴泌,向某個方向釋放出一個技能,在應用層惊橱,這一操作被打包為一個json數(shù)據(jù)包蚪腐,組成為技能編號和釋放方位。
  • 表示層:主要負責數(shù)據(jù)格式的轉換税朴。將應用處理的信息轉換為適合網(wǎng)絡傳輸?shù)母袷交丶荆驅碜韵乱粚拥臄?shù)據(jù)轉換為上層能夠處理的格式。例子中正林,將應用層產(chǎn)生的json包編碼為一個byte流泡一。
  • 會話層:負責確定何事建立和斷開通信連接(數(shù)據(jù)流動的邏輯通路),以及數(shù)據(jù)的分割等數(shù)據(jù)傳輸相關的管理觅廓。例子中鼻忠,會話層接收到表示層產(chǎn)生的byte流,調用低層的接口建立與用戶B會話層的通信連接杈绸,將byte流傳遞給用戶B帖蔓,但是若用戶A的技能處于無法釋放的狀態(tài),則會話層負責等待到技能可以釋放時瞳脓,再建立連接發(fā)送數(shù)據(jù)塑娇。
  • 傳輸層:實際進行建立的層次,同時起著可靠傳輸?shù)淖饔媒俨唷.敃拰記Q定建立連接時钝吮,傳輸層負責建立連接的具體事務,其建立連接并確保有效傳輸板辽。例子中奇瘦,若網(wǎng)絡傳輸過程中byte流發(fā)生數(shù)據(jù)缺失,用戶B的傳輸層會通知用戶A的傳輸層再發(fā)送一次數(shù)據(jù)劲弦。
  • 網(wǎng)絡層:將數(shù)據(jù)傳輸?shù)侥繕说刂范辍@又校磳yte流從用戶A的主機發(fā)送到用戶B的主機邑跪。
  • 數(shù)據(jù)鏈路層:負責物理層面上互連的次坡、節(jié)點之間的通信傳輸。例子中画畅,即將負責將數(shù)據(jù)從一個節(jié)點發(fā)送到另一個節(jié)點砸琅。
  • 物理層:負責0、1比特流(0轴踱、1序列)與電壓的高低症脂、光的閃滅之間的互換。例子中,若兩個節(jié)點之間使用光纖通信诱篷,則負責光電信號的轉換壶唤。

對于TCP/IP的分層,將OSI中的應用層棕所、表示層和會話層統(tǒng)一為應用層闸盔,因此5層分組和對應的協(xié)議舉例有:

  • 應用層:HTTPS、HTTP琳省、FTP迎吵、SSH等
  • 傳輸層:TCP、UDP等
  • 網(wǎng)絡層:IPv4针贬、IPv6等
  • 數(shù)據(jù)鏈路層和物理層:以太網(wǎng)钓觉、IEEE 802.11等

對于數(shù)據(jù)鏈路層和物理層,其功能為將數(shù)據(jù)從一個節(jié)點發(fā)送到一個相鄰的節(jié)點坚踩;對于網(wǎng)絡層荡灾,其功能為將數(shù)據(jù)從一個主機發(fā)送到另一個主機(可能跨越很多個節(jié)點,不關心是否出錯)瞬铸;對于傳輸層批幌,要保證數(shù)據(jù)無錯誤的從一個主機發(fā)送到另一個主機,傳輸層協(xié)議一次傳輸可能調用網(wǎng)絡層傳輸多次嗓节;應用層位用戶最終接觸到的協(xié)議荧缘,實現(xiàn)具體功能,例如HTTPS實現(xiàn)網(wǎng)頁訪問拦宣,F(xiàn)TP實現(xiàn)數(shù)據(jù)傳輸截粗,如下圖所示:

tcpip_level_stream.png
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鸵隧,隨后出現(xiàn)的幾起案子绸罗,更是在濱河造成了極大的恐慌,老刑警劉巖豆瘫,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件珊蟀,死亡現(xiàn)場離奇詭異,居然都是意外死亡外驱,警方通過查閱死者的電腦和手機育灸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昵宇,“玉大人磅崭,你說我怎么就攤上這事⊥甙ィ” “怎么了砸喻?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵柔逼,是天一觀的道長。 經(jīng)常有香客問我恩够,道長,這世上最難降的妖魔是什么羡铲? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任蜂桶,我火速辦了婚禮,結果婚禮上也切,老公的妹妹穿的比我還像新娘扑媚。我一直安慰自己,他們只是感情好雷恃,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布疆股。 她就那樣靜靜地躺著,像睡著了一般倒槐。 火紅的嫁衣襯著肌膚如雪旬痹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天讨越,我揣著相機與錄音两残,去河邊找鬼。 笑死把跨,一個胖子當著我的面吹牛人弓,可吹牛的內容都是我干的。 我是一名探鬼主播着逐,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼崔赌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了耸别?” 一聲冷哼從身側響起健芭,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秀姐,沒想到半個月后吟榴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡囊扳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年吩翻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锥咸。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡狭瞎,死狀恐怖,靈堂內的尸體忽然破棺而出搏予,到底是詐尸還是另有隱情熊锭,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站碗殷,受9級特大地震影響精绎,放射性物質發(fā)生泄漏。R本人自食惡果不足惜锌妻,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一代乃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仿粹,春花似錦搁吓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晌区,卻和暖如春摩骨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背朗若。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工仿吞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捡偏。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓唤冈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親银伟。 傳聞我的和親對象是個殘疾皇子你虹,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345