前言:TCP/IP是一組通信協(xié)議的總稱,我們要學(xué)習(xí)它首先要知道什么是協(xié)議。
1.協(xié)議就是計算機與計算機之間通過網(wǎng)絡(luò)實現(xiàn)通信時事先達成的一種“約定”。
就如同人與人間的對話一樣,若用戶A只會說漢語,而用戶B只會說英語,那么就會無法溝通

但是當(dāng)他們都適用英語或者都是用英語的時候,就實現(xiàn)了相互通信,可以認為人類依據(jù)了語言實現(xiàn)了相互通信,那么在計算機通信中,我們通過計算機通信協(xié)議實現(xiàn)相互通信

2.協(xié)議的標準化
標準化是指使不同廠商所生產(chǎn)的異構(gòu)產(chǎn)品之間具有兼容性、便于使用的規(guī)范化過程。協(xié)議的標準化使所有遵循標準協(xié)議的設(shè)備不再因為計算機硬件或操作系統(tǒng)的差異而無法通信。我們所知道的有國際標準OSI(Open Systems Interconnection開放式通信系統(tǒng)互聯(lián)網(wǎng)參考模型)和業(yè)界標準TCP/IP(Transmission Control Protocol 傳輸控制協(xié)議/Internet Protocol 網(wǎng)際協(xié)議族群)。
3.協(xié)議的分層
- 為什么要進行協(xié)議分層?
協(xié)議分層就如同計算機軟件中的模塊化開發(fā),分層可以將每個分層獨立使用,即使系統(tǒng)中某些分層發(fā)生變化也不會波及到整個系統(tǒng),因此可以構(gòu)造一個擴展性和靈活性都較強的系統(tǒng)。另外,通過分層能夠細分通信功能,更易于實現(xiàn)每個分層的協(xié)議,并界定各個分層的具體責(zé)任和義務(wù) - 分層的劣勢
過分的模塊化使處理變得更加沉重以及每個模塊都不得不實現(xiàn)相似的處理邏輯等問題。 - 分層的一些概念
每個分層都接收由它下一層所提供的特定的服務(wù),并且負責(zé)為自己的上一層提供特定的服務(wù)。上下層之間進行交互時鎖遵循的約定叫做“接口”。同一層之間的交互鎖遵循的約定叫做“協(xié)議”。 -
理解分層
關(guān)于協(xié)議的分層的優(yōu)點,我們再以A和B電話聊天為例,只考慮語言層和通信設(shè)備層這兩個分層情況進行簡單的說明。
image.png
這個圖表面上實現(xiàn)的是A和B的通話,但是實際上A和B都只是對著各自的電話的麥克風(fēng)在說話。他們所用的語言協(xié)議作為麥克風(fēng)的音頻輸入,在通信設(shè)備層被轉(zhuǎn)換成電波信號傳送出去了,傳送到對方的電話后,又被通信設(shè)備層轉(zhuǎn)換為音頻輸出,傳遞給了對方,因此A和B其實是利用電話之間通過音頻轉(zhuǎn)化聲音的接口實現(xiàn)了對話。
在整個過程中實際是電話在做中介,如果A電話所傳出的電子信號不能轉(zhuǎn)換成與B的電話機相同頻率的聲音的話,B聽到聲音后可能不能確定是否與A在進行漢語通話,所以就要求所處在通信設(shè)備層的A和B的電話機遵循相同的協(xié)議。
假設(shè)語言層相同,改變了通信設(shè)備層,比如A和B使用漢語,設(shè)備都改為對講機,此時通信設(shè)備層就要學(xué)會使用無線電協(xié)議,因為語言層仍舊使用漢語協(xié)議,因此A和B完全可以和以往打電話時一樣進行正常通話。

那么假設(shè)通信設(shè)備層相同,語言層改為英語會話時,很顯然電話本身不會受限于使用者使用的語言,因此與使用漢語通話時完全一樣可以進行正常通話。

