網絡協議簡介

1、網絡傳輸的本質

網絡傳輸本質上是經過各類介質傳輸 0 和 1。(好比電信號就有低電頻和高電頻對應0和1)網絡

數據傳輸須要知道接受者是誰,何時發的這些信息,因此要以統一的格式傳輸,這樣你們都好兼容。這就是網絡協議。ide

2、5層協議

網絡協議最初只有5層 應用層、傳輸層、網絡層、數據鏈路層、物理層。(爲何分層呢?固然是爲了抽象,就像是MVC,你寫一個model就能夠被全部的controler調用,能夠複用,減小代碼複雜度。分層也是這個目的,把協議分層,你實現的時候就方便複用。)編碼

網絡協議其實就是數據的格式,每一個層有一套數據格式。加密

數據格式定好了,每一個層就有不少人根據本身的需求去開發。ip

好比
一、有人實現以太網(Ethernet)協議,這個協議屬於數據鏈路層,用來把文本數據轉換層能夠傳輸的信號。(好比電信號)好比咱們的電腦和路由器傳輸數據就是用的這個協議。咱們的電腦共享同一個路由器屬於同一個局域網(local area network)。多個局域網也由路由器相連。多個局域網組成了一個總體,這個總體就是廣域網。(wide area network)
二、有人實現了ip協議,這個協議屬於網絡層。用固定的格式好比 xxx.xxx.xxx.xxx(ipv4 ip協議的第四個版本) 或 xxxx::xxxx:xxxx:xxxx:xxxx%xx (ipv6 ip協議的第6個版本)去標識目的地。也惟一的給本身命名。
三、有人實現了TCP協議,這個協議屬於傳輸層。用三握手、四次揮手的機制保證了鏈接的可靠性。
四、有人實現了http協議(超文本傳輸協議),這個協議屬於應用層。如題,他其實就是爲了傳文本的。
五、有人實現了ftp協議(文件傳輸協議),這個協議屬於應用層。如題,它其實就是爲了傳文件的。路由

3、7層協議

後來你們以爲應用層的協議還有能夠抽象的空間,就把應用層又拆分紅了三層造成七層模型。還取了個高大上的名字OSI模型(open system interconnection 開放系統互聯模型) 應用層-表示層-會話層-傳輸層-網絡層-數據鏈路層-物理層開發

表示層用來實現編碼解碼、壓縮解壓、加密解密這些 會話層用來實現鏈接、掛斷、重連等操做io

可是http、ftp等等應用層協議在 編碼解碼、壓縮解壓、加密解密、鏈接、掛斷、重連 的實現方面都有各自的特色,沒辦法統一。 並且已經很好的實現了,因此表示層和會話層一致沒有人去實現協議。class

4、4層協議

因爲物理層太底層了,咱們寫程序的接觸不到,因此在軟件行業又簡化爲了4層模型 應用層-傳輸層-網絡層-數據鏈路層ftp

相關文章
相關標籤/搜索