***************************************************
更多精彩,歡迎進入:http://shop115376623.taobao.com
***************************************************
1、什么是計算機網絡?
計算機網絡是由兩臺或兩臺以上的計算機通過網絡設備連接起來所組成的一個系統,在這個系統中計算機與計算機之間可以進行數據通信、數據共享及協同完成某些數據處理的工作。
強調:計算機網絡不僅僅指計算機,還包含網絡設備,并且計算機與計算機之間還能進行信息傳輸。
?
2、計算機與計算機之間如何進行通信?
計算機與計算機之間用線路連接起來就可以通信了嗎?對計算機來說,光有硬件是不行的,叫計算機做任何事情,都要有相應的軟件支持,所以這節課我們探討計算機網絡的參考模型,計算機網絡的參考模型就是計算機網絡的軟件,最經典的計算機網絡參考模型就是國際標準化組織的OSI,它提出一個機器上的一個應用進程與另一個機器上另外一個進程進行信息信息交流到底要做什么事情。通過模型講解計算機網絡是如何工作,這個軟件如何設計的呢?
?
計算機網絡要提供兩個進程之間的通信,要解決很多問題,并不是如我們平時解決問題一樣,第一步做什么,第二步做什么……能夠簡單地羅列出來,它是一個很復雜的問題。計算機一般解決問題的方式:分層,自頂向下逐步分解結構化的程序設計。把一個大問題分解成若干個小問題。國際化標準組織在OSI中把計算機網絡通信分成七大部分的工作,每一層都完成網絡當中一個獨立的任務。
?
物理連接是前提,七層協議的最底層——物理層要保證主機A的比特串能通過物理鏈路傳到主機B上,問題:這樣傳輸不安全,物理電路容量受到干擾,比如電流干擾,計算機沒有二義性,1是1、0是0,那么數據鏈路層就用來保證主機A到主機B上的一串二進制數據是完全正確的,
數據鏈路層采用的方法和我們人講話是一樣的,把說的內容分成有語氣的句子,它把要傳遞的內容分成一組一組,計算機如何保證一組組的內容正確?用其所長:計算,同時把計算的結果與原始的信息一起發過去,接收方收到數據再進行相同的計算,如果與結果比較相同,那內容就是正確的。用這種方式能保證主機A的數據能正確傳到主機B上。這是在計算機與計算機物理相連的情況下可以傳遞信息,可是計算機與計算機之間并不都是兩兩相連的,更多的計算機是通過中繼結點連接,那發送數據如何知道經過哪些中繼結點呢?這由網絡層實現。
網絡層的作用就是在網絡中找到一條路徑,一段一段地傳送,由于數據鏈路層保證兩點之間的數據是正確的,因此源到目的地的數據也是正確的,這樣一臺機器上的信息就能傳到另外一臺了。但計算機網絡的最終用戶不是主機,而是主機上的某個應用進程。這個過程由傳輸層實現。
傳輸層標識了服務是哪個進程請求的,要交給誰。我把東西交你時,希望通知你一下,就是會話層的工作。
會話層打好招呼,以便進行通話。就像現在我和你說話,你耳朵聽到了也能理解,但如果下面是外國人,他聽到了我的聲音,他理解了嗎?他不能理解。那對于計算機網絡來言,客戶機發了一個請求給服務器,服務器應該能理解這個請求到底是什么,所以接下去的問題是你怎么樣理解?這個理解有兩個層次,我講中國話,他只能懂英文,那么這當中應該有一個翻譯。把漢語翻譯成英語,大多數PC都用ASCII碼,有些大型機用BCD碼,每臺計算機都有自己的語言,都有自己的編碼,對于不同的編碼來講,不同的字符編碼是不一樣的,我的機器里是A,在他的機器里編碼可能就不是A了,所以它必須有個翻譯,到那邊A還是A,這個工作由表示層來做
表示層做的是信息的理解,我這里的一串二進制字符在這邊表示的是什么字符,在那邊還表示什么字符。比如我這邊表示整型數是2個字節,有的大型機是4個字節,那我就要溝通了:我是兩個字節表示一個整型數,你不要取我4個字節,表示層就相當于把我漢語翻譯成他的英語了,但最終目的還是沒有達到,為什么呢?大家都是懂普通話的,所有用漢字表示的信息都能理解呢?要理解專業領域里的知識,必須要有專業的基礎。
對于計算機來講一樣,每一個應用都有它特定的表示方式。它們之間還必須有一個學習的過程,這就是應用層。
?
計算機網絡分成七個層次,每個層次負責不同的功能,每一層只要考慮和對等層次之間的關系,它們共同遵守相應的約定,這個約定稱為協議。
對于物理層要解決主機A上的二進制比特串如何傳遞到主機B上,把01用一種信號用某種信號來表示,0用什么來表示,1用什么來表示,持續的時間有多長,這些約定我們稱為物理層的協議。
對數據鏈路層而言,不要考慮0101是如何傳遞的,它考慮的是如何對物理層的信息進行計算,把原始數據和結果一起發到對方,對方再進行同樣的計算。所以它們之間要有約定,我是怎么樣對原始數據進行計算的,那么你也應該進行同樣的運算。
對于網絡層,它負責路由查找,在每個節點,都要有同樣的消息告訴我下一站怎么走。
在傳輸層,會話層、表示層、應用層都要有同樣的約定。比如我們通信雙方是一個Web瀏覽,對于我們兩個進程之間就有一個約定,如果我要取你的某個Web網頁,我這條消息是怎么樣的一條結構,這就是應用層的協議。
七個層次,每個層次都有和對方對等層次之間的約定。所以七層模型,又稱為七層協議。不可能說我這個網絡用什么協議,而是說在哪個層次用什么協議。
?
?
各功能層之間,上一層對下一層提出服務要求,下一層完成上一層提出的要求。這都通過各層之間的接口完成。就是計算機怎么用來傳遞消息的
?
?
?
?
3、TCP/IP參考模型
?
?
?
4、總結
?