網(wǎng)絡(luò)嘛,就是把個體連接起來,相互間可以通信。清朝閉關(guān)鎖國,完全不跟外界聯(lián)系,就是一個個體,直到八國聯(lián)軍打到北京城,才開始了與外界的聯(lián)系,這是被動地接入網(wǎng)絡(luò)。建國后,改革開放,加入wto,這是主動地接入網(wǎng)絡(luò)。如果你看過機(jī)場的航線,把每個國家的各個城市相互聯(lián)起來,這也是網(wǎng)絡(luò)。 就拿加入WTO來說,你自己怎么在國內(nèi)玩,WTO不管,如果你想要加入這個組織,并且通過這個組織跟其他國家通商的話,就得遵守規(guī)定。WTO下有很多國家,大家都遵守同樣的規(guī)定,統(tǒng)一的規(guī)定的目的有兩個:1是這是游戲規(guī)則,你不遵守你就不能同別國同上,2是當(dāng)有新的國家加入的時候,直接遵守這個規(guī)則就行了,不用再勞神費(fèi)力專門為這個國家制定特殊的規(guī)則。這個規(guī)定在網(wǎng)絡(luò)上就叫協(xié)議。
為了便于管理和模塊化,網(wǎng)絡(luò)連接把這些協(xié)議模塊化地劃分了七層,就是osi七層模型,旨在更容易地理解網(wǎng)絡(luò)通信。
從高往下,第一層是應(yīng)用層,應(yīng)用層是用來提供標(biāo)準(zhǔn)服務(wù)的,我感覺就像是外貿(mào)部,提供標(biāo)準(zhǔn)服務(wù)的,你要通訊,必須有通訊的程序,能完成通訊的功能,當(dāng)然每個國家都得提供這么一個外貿(mào)部才行。
第二層是表示層,表示層用電腦的例子來解釋比較好?,F(xiàn)在都提倡個性,蘋果筆記本,windows 8系統(tǒng),IBM系統(tǒng),大家都有個性,有個性的意思就是數(shù)據(jù)組成大家各不相同,就相當(dāng)于蘋果說的是蘋果話,Windows 8 說的是win話,IBM說的是IBM話,相互間聽不懂怎么辦,這就要表示層這個師爺給翻譯翻譯,想要在網(wǎng)絡(luò)上通信,必須翻譯成大家都聽得懂的話,所以這里面就得有個協(xié)議協(xié)調(diào)一下。所以說表示層的作用就是掩蓋不同系統(tǒng)間的數(shù)據(jù)格式的不同,并且給數(shù)據(jù)編碼解碼,加密解密。
第三層是會話層,一直沒理解會話層是什么意思,目的是來管理會話的,說是兩個端鏈接的時候有個短暫的會話。是不是感覺像外貿(mào)部之間打個電話說,我這邊有批貨要到你們那邊去,你們給看看走什么路線,到了那邊給安排一下卸貨之類的。 規(guī)定了雙方是以雙工,半雙工,單工模式通信。
第四層是傳輸層,各個國家的碼頭吞吐量和傳輸速率不太一樣,傳輸層就是要把這些協(xié)調(diào)一下,讓大家感覺不出來不一樣。主要功能就是管理網(wǎng)絡(luò)間端到端的信息傳送,錯誤恢復(fù)和流量控制,提供可靠有序的數(shù)據(jù)包傳輸。
第五層是網(wǎng)絡(luò)層,就是網(wǎng)絡(luò)間怎么傳數(shù)據(jù),走哪條路的問題,還要提供擁塞控制,防止網(wǎng)絡(luò)資源的損耗。
第六層是數(shù)據(jù)鏈路層,數(shù)據(jù)通道的建立,拆除,還要對數(shù)據(jù)糾錯。
第七層是物理層,你國的貨輪要能停在別國的碼頭上,那到美國是一個類型的碼頭,到德國又是另一個類型的碼頭,我一輛船能停在美國不能停在德國肯定不行啊,所以啊,大家的船都得規(guī)定做成什么樣,碼頭也得做成相應(yīng)的摸樣,大家統(tǒng)一了,這些都是機(jī)械特征,就是物理層的協(xié)議了。
另外看鳥哥linux私房菜學(xué)到的知識:
用Hub或者用一條總線連接多個主機(jī)間的通信:因?yàn)槭且粭l總線,所以不能復(fù)用,當(dāng)一個機(jī)器想要使用總線的時候,就會廣播信息,我要發(fā)信了,其他的就要停下自己的網(wǎng)絡(luò)活動,等該機(jī)器發(fā)完信息之后再去搶占總線。所以不能復(fù)用,而且如果一條總線上因?yàn)槟承┰蛴袃蓚€機(jī)器同時發(fā)送信息,就會湮滅,大家重新發(fā)送,所以,這種一條總線總是不好的。Hub就跟一條總線道理相同。
交換機(jī)把這個復(fù)用的問題解決了,通過電路,算法,當(dāng)a與b通訊時,c和d之間也可以通訊。
解決這個問題的方法是不是就是通過子網(wǎng)的劃分來實(shí)現(xiàn)的。不同的子網(wǎng)間不能物理廣播,物理廣播的意思就是,a要給b發(fā)信息,b,c,d都會收到,并跟自己的MAC比較,如果MAC相同,那就接收信息,如果不同,丟掉,如果這個網(wǎng)絡(luò)中的主機(jī)太多了話,那么,這個時間會比較長。而把這個網(wǎng)段劃分成多個子網(wǎng),子網(wǎng)間不能物理廣播,只能在子網(wǎng)內(nèi)廣播,這樣就能保證減少物理廣播的時間,并且減少湮滅。
還有個問題是ip與MAC的對應(yīng)問題,這要靠邏輯廣播,主要方法就是發(fā)一個包,大家都接收,和目標(biāo)ip相同的那個主機(jī)把自己的MAC返回,返回后,那個發(fā)送包的主機(jī)將這個MAC同ip聯(lián)系起來,但是這個聯(lián)系是動態(tài)的。
哦,還有子網(wǎng)的劃分的問題。ABC網(wǎng)絡(luò)的劃分就是通過NET_ID的多少來劃分的,拿C網(wǎng)來說,NET_ID是3個字節(jié),可以有255個主機(jī),但是這么多主機(jī)的話會造成加大物理廣播的時間。劃分子網(wǎng)的方法就是從HOST_ID中劃分幾個bit作為NET_ID.
下次研究研究文件系統(tǒng)。
posted @
2012-03-07 11:55 Dino-Tech 閱讀(174) |
評論 (0) |
編輯 收藏
摘要: 本文介紹了WinRT中Boxing和UnBox的方法,這兩種方法目前只支持內(nèi)建類型,不支持自定義類型。更多Windows 8 方面的分享請關(guān)注Dino的博客。
閱讀全文
posted @
2012-02-16 12:05 Dino-Tech 閱讀(297) |
評論 (0) |
編輯 收藏
摘要: 介紹了在Windows 8 中如何修改Button中Content屬性的方法,因?yàn)镃ontent不是一個string類型,所以進(jìn)行判斷的時候要把它改成String^,才能做比較,不然比較的東西不一樣。
閱讀全文
posted @
2012-02-15 15:31 Dino-Tech 閱讀(426) |
評論 (0) |
編輯 收藏
摘要: 本文簡單介紹了一下Windows 8 中的delegate類型,其實(shí)不過是對一個方法的再封裝,類似于對int類型封裝成INT類型,多了些東西,最本質(zhì)的東西還是方法本身,不過delegate更關(guān)注方法的參數(shù)
閱讀全文
posted @
2012-02-14 15:19 Dino-Tech 閱讀(302) |
評論 (0) |
編輯 收藏
摘要: 本文為翻譯文章,是Petzold大師的關(guān)于Windows 8 異步處理的博客,講的鞭辟入里,看著覺得很有幫助就翻譯來了,是c++下的,跟C#版本略微有些不同。文章講述了異步處理的背景和原理。異步處理的主要目的是為了Unblocking UI Thread,通過文中的介紹,Windows 8 確實(shí)也做到了,給我的感覺是,這種處理方式很適合手機(jī)觸摸屏。關(guān)于Xaml的知識已經(jīng)很多了,大家可以在網(wǎng)上查找。
閱讀全文
posted @
2012-02-14 10:51 Dino-Tech 閱讀(1210) |
評論 (1) |
編輯 收藏