网络通信的工作原理
***************************************************
更多精彩,歡迎進(jìn)入:http://shop115376623.taobao.com
***************************************************
1、什么是計(jì)算機(jī)網(wǎng)絡(luò)?
計(jì)算機(jī)網(wǎng)絡(luò)是由兩臺(tái)或兩臺(tái)以上的計(jì)算機(jī)通過網(wǎng)絡(luò)設(shè)備連接起來所組成的一個(gè)系統(tǒng),在這個(gè)系統(tǒng)中計(jì)算機(jī)與計(jì)算機(jī)之間可以進(jìn)行數(shù)據(jù)通信、數(shù)據(jù)共享及協(xié)同完成某些數(shù)據(jù)處理的工作。
強(qiáng)調(diào):計(jì)算機(jī)網(wǎng)絡(luò)不僅僅指計(jì)算機(jī),還包含網(wǎng)絡(luò)設(shè)備,并且計(jì)算機(jī)與計(jì)算機(jī)之間還能進(jìn)行信息傳輸。
?
2、計(jì)算機(jī)與計(jì)算機(jī)之間如何進(jìn)行通信?
計(jì)算機(jī)與計(jì)算機(jī)之間用線路連接起來就可以通信了嗎?對(duì)計(jì)算機(jī)來說,光有硬件是不行的,叫計(jì)算機(jī)做任何事情,都要有相應(yīng)的軟件支持,所以這節(jié)課我們探討計(jì)算機(jī)網(wǎng)絡(luò)的參考模型,計(jì)算機(jī)網(wǎng)絡(luò)的參考模型就是計(jì)算機(jī)網(wǎng)絡(luò)的軟件,最經(jīng)典的計(jì)算機(jī)網(wǎng)絡(luò)參考模型就是國(guó)際標(biāo)準(zhǔn)化組織的OSI,它提出一個(gè)機(jī)器上的一個(gè)應(yīng)用進(jìn)程與另一個(gè)機(jī)器上另外一個(gè)進(jìn)程進(jìn)行信息信息交流到底要做什么事情。通過模型講解計(jì)算機(jī)網(wǎng)絡(luò)是如何工作,這個(gè)軟件如何設(shè)計(jì)的呢?
??????2.1??計(jì)算機(jī)解決問題的方式:分層
計(jì)算機(jī)網(wǎng)絡(luò)要提供兩個(gè)進(jìn)程之間的通信,要解決很多問題,并不是如我們平時(shí)解決問題一樣,第一步做什么,第二步做什么……能夠簡(jiǎn)單地羅列出來,它是一個(gè)很復(fù)雜的問題。計(jì)算機(jī)一般解決問題的方式:分層,自頂向下逐步分解結(jié)構(gòu)化的程序設(shè)計(jì)。把一個(gè)大問題分解成若干個(gè)小問題。國(guó)際化標(biāo)準(zhǔn)組織在OSI中把計(jì)算機(jī)網(wǎng)絡(luò)通信分成七大部分的工作,每一層都完成網(wǎng)絡(luò)當(dāng)中一個(gè)獨(dú)立的任務(wù)。
??????2.2??七層模型
物理連接是前提,七層協(xié)議的最底層——物理層要保證主機(jī)A的比特串能通過物理鏈路傳到主機(jī)B上,問題:這樣傳輸不安全,物理電路容量受到干擾,比如電流干擾,計(jì)算機(jī)沒有二義性,1是1、0是0,那么數(shù)據(jù)鏈路層就用來保證主機(jī)A到主機(jī)B上的一串二進(jìn)制數(shù)據(jù)是完全正確的,
數(shù)據(jù)鏈路層采用的方法和我們?nèi)酥v話是一樣的,把說的內(nèi)容分成有語(yǔ)氣的句子,它把要傳遞的內(nèi)容分成一組一組,計(jì)算機(jī)如何保證一組組的內(nèi)容正確?用其所長(zhǎng):計(jì)算,同時(shí)把計(jì)算的結(jié)果與原始的信息一起發(fā)過去,接收方收到數(shù)據(jù)再進(jìn)行相同的計(jì)算,如果與結(jié)果比較相同,那內(nèi)容就是正確的。用這種方式能保證主機(jī)A的數(shù)據(jù)能正確傳到主機(jī)B上。這是在計(jì)算機(jī)與計(jì)算機(jī)物理相連的情況下可以傳遞信息,可是計(jì)算機(jī)與計(jì)算機(jī)之間并不都是兩兩相連的,更多的計(jì)算機(jī)是通過中繼結(jié)點(diǎn)連接,那發(fā)送數(shù)據(jù)如何知道經(jīng)過哪些中繼結(jié)點(diǎn)呢?這由網(wǎng)絡(luò)層實(shí)現(xiàn)。
網(wǎng)絡(luò)層的作用就是在網(wǎng)絡(luò)中找到一條路徑,一段一段地傳送,由于數(shù)據(jù)鏈路層保證兩點(diǎn)之間的數(shù)據(jù)是正確的,因此源到目的地的數(shù)據(jù)也是正確的,這樣一臺(tái)機(jī)器上的信息就能傳到另外一臺(tái)了。但計(jì)算機(jī)網(wǎng)絡(luò)的最終用戶不是主機(jī),而是主機(jī)上的某個(gè)應(yīng)用進(jìn)程。這個(gè)過程由傳輸層實(shí)現(xiàn)。
傳輸層標(biāo)識(shí)了服務(wù)是哪個(gè)進(jìn)程請(qǐng)求的,要交給誰。我把東西交你時(shí),希望通知你一下,就是會(huì)話層的工作。
會(huì)話層打好招呼,以便進(jìn)行通話。就像現(xiàn)在我和你說話,你耳朵聽到了也能理解,但如果下面是外國(guó)人,他聽到了我的聲音,他理解了嗎?他不能理解。那對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)來言,客戶機(jī)發(fā)了一個(gè)請(qǐng)求給服務(wù)器,服務(wù)器應(yīng)該能理解這個(gè)請(qǐng)求到底是什么,所以接下去的問題是你怎么樣理解?這個(gè)理解有兩個(gè)層次,我講中國(guó)話,他只能懂英文,那么這當(dāng)中應(yīng)該有一個(gè)翻譯。把漢語(yǔ)翻譯成英語(yǔ),大多數(shù)PC都用ASCII碼,有些大型機(jī)用BCD碼,每臺(tái)計(jì)算機(jī)都有自己的語(yǔ)言,都有自己的編碼,對(duì)于不同的編碼來講,不同的字符編碼是不一樣的,我的機(jī)器里是A,在他的機(jī)器里編碼可能就不是A了,所以它必須有個(gè)翻譯,到那邊A還是A,這個(gè)工作由表示層來做
表示層做的是信息的理解,我這里的一串二進(jìn)制字符在這邊表示的是什么字符,在那邊還表示什么字符。比如我這邊表示整型數(shù)是2個(gè)字節(jié),有的大型機(jī)是4個(gè)字節(jié),那我就要溝通了:我是兩個(gè)字節(jié)表示一個(gè)整型數(shù),你不要取我4個(gè)字節(jié),表示層就相當(dāng)于把我漢語(yǔ)翻譯成他的英語(yǔ)了,但最終目的還是沒有達(dá)到,為什么呢?大家都是懂普通話的,所有用漢字表示的信息都能理解呢?要理解專業(yè)領(lǐng)域里的知識(shí),必須要有專業(yè)的基礎(chǔ)。
對(duì)于計(jì)算機(jī)來講一樣,每一個(gè)應(yīng)用都有它特定的表示方式。它們之間還必須有一個(gè)學(xué)習(xí)的過程,這就是應(yīng)用層。
???????2.3 ?協(xié)議
計(jì)算機(jī)網(wǎng)絡(luò)分成七個(gè)層次,每個(gè)層次負(fù)責(zé)不同的功能,每一層只要考慮和對(duì)等層次之間的關(guān)系,它們共同遵守相應(yīng)的約定,這個(gè)約定稱為協(xié)議。
對(duì)于物理層要解決主機(jī)A上的二進(jìn)制比特串如何傳遞到主機(jī)B上,把01用一種信號(hào)用某種信號(hào)來表示,0用什么來表示,1用什么來表示,持續(xù)的時(shí)間有多長(zhǎng),這些約定我們稱為物理層的協(xié)議。
對(duì)數(shù)據(jù)鏈路層而言,不要考慮0101是如何傳遞的,它考慮的是如何對(duì)物理層的信息進(jìn)行計(jì)算,把原始數(shù)據(jù)和結(jié)果一起發(fā)到對(duì)方,對(duì)方再進(jìn)行同樣的計(jì)算。所以它們之間要有約定,我是怎么樣對(duì)原始數(shù)據(jù)進(jìn)行計(jì)算的,那么你也應(yīng)該進(jìn)行同樣的運(yùn)算。
對(duì)于網(wǎng)絡(luò)層,它負(fù)責(zé)路由查找,在每個(gè)節(jié)點(diǎn),都要有同樣的消息告訴我下一站怎么走。
在傳輸層,會(huì)話層、表示層、應(yīng)用層都要有同樣的約定。比如我們通信雙方是一個(gè)Web瀏覽,對(duì)于我們兩個(gè)進(jìn)程之間就有一個(gè)約定,如果我要取你的某個(gè)Web網(wǎng)頁(yè),我這條消息是怎么樣的一條結(jié)構(gòu),這就是應(yīng)用層的協(xié)議。
七個(gè)層次,每個(gè)層次都有和對(duì)方對(duì)等層次之間的約定。所以七層模型,又稱為七層協(xié)議。不可能說我這個(gè)網(wǎng)絡(luò)用什么協(xié)議,而是說在哪個(gè)層次用什么協(xié)議。
?
??????2.4 ?接口和服務(wù)
各功能層之間,上一層對(duì)下一層提出服務(wù)要求,下一層完成上一層提出的要求。這都通過各層之間的接口完成。就是計(jì)算機(jī)怎么用來傳遞消息的
??????2.5??OSI模型的數(shù)據(jù)傳輸
??????
??????
????2.6 ?舉例:某人給他的朋友寫一封信?
3、TCP/IP參考模型
?互聯(lián)網(wǎng)就是把全球各地的各種類型局域網(wǎng)連接起來的,主要解決不同網(wǎng)絡(luò)之間的聯(lián)系,而局域網(wǎng)內(nèi)部的通信是已經(jīng)解決的問題。
?在TCP/IP協(xié)議體系中,TCP協(xié)議和IP協(xié)議是最重要的核心協(xié)議。IP協(xié)議的工作是把數(shù)據(jù)包從一個(gè)地方傳遞到另一個(gè)地方,TCP協(xié)議的工作是對(duì)數(shù)據(jù)包進(jìn)行管理與校核。
?
動(dòng)畫演示 ??????
4、總結(jié)
?????計(jì)算機(jī)網(wǎng)絡(luò)通信是通過分層實(shí)現(xiàn),每一層都遵守協(xié)議,上一層對(duì)下一層提要求,下一層完成上一層的要求,發(fā)送方封裝信息,接收方解封裝信息。總結(jié)
- 上一篇: OFD文件解析流程(转)
- 下一篇: 论文写作——latex三线表tabula