OSI七層模型
-
七層模型介紹及舉例
為通過網(wǎng)絡(luò)將人類可讀信息通過網(wǎng)絡(luò)從一臺設(shè)備傳輸?shù)搅硪慌_設(shè)備,必須在發(fā)送設(shè)備沿 OSI 模型的七層結(jié)構(gòu)向下傳輸數(shù)據(jù),然后在接收端沿七層結(jié)構(gòu)向上傳輸數(shù)據(jù)。
數(shù)據(jù)在 OSI 模型中如何流動(dòng)
庫珀先生想給帕爾梅女士發(fā)一封電子郵件。庫珀先生在筆記本電腦的電子郵件應(yīng)用程序中編寫郵件,然后點(diǎn)擊“發(fā)送”。電子郵件應(yīng)用程序?qū)㈦娮余]件傳遞到應(yīng)用程序?qū)?,?yīng)用程序?qū)舆x取協(xié)議(SMTP),再將數(shù)據(jù)傳遞到表示層。接著,表示層壓縮數(shù)據(jù),再將數(shù)據(jù)傳遞到會(huì)話層,由會(huì)話層初始化通信會(huì)話。
而后,數(shù)據(jù)將到達(dá)發(fā)送方的傳輸層,在傳輸層進(jìn)行分段,再在網(wǎng)絡(luò)層將這些數(shù)據(jù)段分解為數(shù)據(jù)包,然后在數(shù)據(jù)鏈路層進(jìn)一步分解為幀。隨后,數(shù)據(jù)鏈路層將這些幀傳輸?shù)轿锢韺?,物理層將?shù)據(jù)轉(zhuǎn)換為位流 1 和 0,最后通過物理介質(zhì)(如電纜)發(fā)送數(shù)據(jù)。
帕爾梅女士的計(jì)算機(jī)通過物理介質(zhì)(如她的 WiFi)接收位流后,數(shù)據(jù)將沿其設(shè)備的同一系列層級流動(dòng),但順序剛好相反。首先,物理層將位流從 1 和 0 轉(zhuǎn)換為幀,傳遞到數(shù)據(jù)鏈路層。然后,數(shù)據(jù)鏈路層將幀重組為數(shù)據(jù)包,供網(wǎng)絡(luò)層使用。接著,網(wǎng)絡(luò)層將數(shù)據(jù)包重組為數(shù)據(jù)段供傳輸層使用,傳輸層再將數(shù)據(jù)段重組為數(shù)據(jù)片段。
隨后,數(shù)據(jù)將流入收件方的會(huì)話層,會(huì)話層將數(shù)據(jù)傳遞到表示層并結(jié)束通信會(huì)話。表示層解壓數(shù)據(jù)并將原始數(shù)據(jù)傳遞到應(yīng)用程序?qū)?。?yīng)用程序?qū)訉⑷祟惪勺x數(shù)據(jù)傳遞到帕爾梅女士的電子郵件軟件,這樣她就能在筆記本電腦屏幕上閱讀庫珀先生的電子郵件了。
1 虛擬機(jī)NAT
如果你的網(wǎng)絡(luò)ip資源緊缺,但是你又希望你的虛擬機(jī)能夠聯(lián)網(wǎng),這時(shí)候NAT模式是最好的選擇。NAT模式借助虛擬NAT設(shè)備和虛擬DHCP服務(wù)器,使得虛擬機(jī)可以聯(lián)網(wǎng)。
其中virbr0是由宿主機(jī)虛擬機(jī)支持模塊安裝時(shí)產(chǎn)生的虛擬網(wǎng)絡(luò)接口,也是一個(gè)switch和bridge,負(fù)責(zé)把內(nèi)容分發(fā)到各虛擬機(jī)。
從圖上可以看出,虛擬接口和物理接口之間沒有連接關(guān)系,所以虛擬機(jī)只能在通過虛擬的網(wǎng)絡(luò)訪問外部世界,無法從網(wǎng)絡(luò)上定位和訪問虛擬主機(jī)。
virbr0是一個(gè)橋接器,接收所有到網(wǎng)絡(luò)192.168.122.*的內(nèi)容。
NAT方式并沒有使用物理網(wǎng)卡。
2 Bridge模式
Bridge方式即虛擬網(wǎng)橋的網(wǎng)絡(luò)連接方式,是客戶機(jī)和子網(wǎng)里面的機(jī)器能夠互相通信。可以使虛擬機(jī)成為網(wǎng)絡(luò)中具有獨(dú)立IP的主機(jī)。
如上圖,網(wǎng)橋的基本原理就是創(chuàng)建一個(gè)橋接接口br0,在物理網(wǎng)卡和虛擬網(wǎng)絡(luò)接口之間傳遞數(shù)據(jù)。
3 虛擬機(jī)通信原理
虛擬機(jī)通過tun/tap或者其它類似的虛擬網(wǎng)絡(luò)設(shè)備,將虛擬機(jī)內(nèi)的網(wǎng)卡同br0連接起來,這樣就達(dá)到和真實(shí)交換機(jī)一樣的效果,虛擬機(jī)發(fā)出去的數(shù)據(jù)包先到達(dá)br0,然后由br0交給eth0發(fā)送出去,數(shù)據(jù)包都不需要經(jīng)過host機(jī)器的協(xié)議棧,效率高。
docker通信原理
由于容器運(yùn)行在自己單獨(dú)的network namespace里面,所以都有自己單獨(dú)的協(xié)議棧,情況和上面的虛擬機(jī)差不多,但它采用了另一種方式來和外界通信:文章來源:http://www.zghlxwxcb.cn/news/detail-628684.html
容器中配置網(wǎng)關(guān)為.9.1,發(fā)出去的數(shù)據(jù)包先到達(dá)br0,然后交給host機(jī)器的協(xié)議棧,由于目的IP是外網(wǎng)IP,且host機(jī)器開啟了IP forward功能,于是數(shù)據(jù)包會(huì)通過eth0發(fā)送出去,由于.9.1是內(nèi)網(wǎng)IP,所以一般發(fā)出去之前會(huì)先做NAT轉(zhuǎn)換(NAT轉(zhuǎn)換和IP forward功能都需要自己配置)。由于要經(jīng)過host機(jī)器的協(xié)議棧,并且還要做NAT轉(zhuǎn)換,所以性能沒有上面虛擬機(jī)那種方案好,優(yōu)點(diǎn)是容器處于內(nèi)網(wǎng)中,安全性相對要高點(diǎn)。(由于數(shù)據(jù)包統(tǒng)一由IP層從eth0轉(zhuǎn)發(fā)出去,所以不存在mac地址的問題,在無線網(wǎng)絡(luò)環(huán)境下也工作良好)文章來源地址http://www.zghlxwxcb.cn/news/detail-628684.html
參考鏈接
- Linux虛擬網(wǎng)絡(luò)設(shè)備bridge你真搞懂了嗎?
- # VMware虛擬機(jī)三種網(wǎng)絡(luò)模式詳解 --------- NAT(地址轉(zhuǎn)換模式)
- # KVM虛擬機(jī)網(wǎng)絡(luò)配置 Bridge方式,NAT方式
到了這里,關(guān)于【計(jì)算機(jī)網(wǎng)絡(luò)】NAT及Bridge介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!