欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

虛擬局域網(wǎng) VLAN(Virtual Local Area Network)

  發(fā)布時(shí)間:2016-11-20 20:37:07   作者:佚名   我要評(píng)論
虛擬局域網(wǎng)(VLAN)是一組邏輯上的設(shè)備和用戶,這些設(shè)備和用戶并不受物理位置的限制,可以根據(jù)功能、部門及應(yīng)用等因素將它們組織起來,相互之間的通信就好像它們?cè)谕粋€(gè)網(wǎng)段中一樣,由此得名虛擬局域網(wǎng)

VLAN(Virtual Local Area Network)的中文名為"虛擬局域網(wǎng)"。

虛擬局域網(wǎng)(VLAN)是一組邏輯上的設(shè)備和用戶,這些設(shè)備和用戶并不受物理位置的限制,可以根據(jù)功能、部門及應(yīng)用等因素將它們組織起來,相互之間的通信就好像它們?cè)谕粋€(gè)網(wǎng)段中一樣,由此得名虛擬局域網(wǎng)。VLAN是一種比較新的技術(shù),工作在OSI參考模型的第2層和第3層,一個(gè)VLAN就是一個(gè)廣播域,VLAN之間的通信是通過第3層的路由器來完成的。與傳統(tǒng)的局域網(wǎng)技術(shù)相比較,VLAN技術(shù)更加靈活,它具有以下優(yōu)點(diǎn): 網(wǎng)絡(luò)設(shè)備的移動(dòng)、添加和修改的管理開銷減少;可以控制廣播活動(dòng);可提高網(wǎng)絡(luò)的安全性。
在計(jì)算機(jī)網(wǎng)絡(luò)中,一個(gè)二層網(wǎng)絡(luò)可以被劃分為多個(gè)不同的廣播域,一個(gè)廣播域?qū)?yīng)了一個(gè)特定的用戶組,默認(rèn)情況下這些不同的廣播域是相互隔離的。不同的廣播域之間想要通信,需要通過一個(gè)或多個(gè)路由器。這樣的一個(gè)廣播域就稱為VLAN。

這個(gè)問題其實(shí)已經(jīng)困擾很多年了。
剛畢業(yè)那會(huì),都去網(wǎng)吧上網(wǎng),不會(huì)考慮那么多。
幾年之后,申請(qǐng)了ADSL寬帶,上網(wǎng)變得十分容易,同時(shí)自己電腦還具備了公網(wǎng)IP地址(當(dāng)然是動(dòng)態(tài)IP),
再下載一個(gè)花生殼客戶端,于是有了一個(gè)固定域名,有了這個(gè)固定域名,做什么都方便了,
可以隨意的在公司里遠(yuǎn)程自己家的電腦, 做任何需要做的事情。
有了這些還不滿足,很想在家里遠(yuǎn)程公司的電腦,當(dāng)時(shí)以為很簡(jiǎn)單,可仔細(xì)考慮之后,一點(diǎn)也不簡(jiǎn)單。
首先公司網(wǎng)管肯定不愿意員工在外面隨意操控公司電腦,于是肯定是不愿意從網(wǎng)關(guān)上做端口映射。
中國(guó)的網(wǎng)絡(luò),很大一部分電腦都是做NAT轉(zhuǎn)發(fā)的,尤其是公司電腦,他們不具備外網(wǎng)地址,不能從internet網(wǎng)直接訪問。
有些網(wǎng)絡(luò)更離譜,是通過多層NAT轉(zhuǎn)發(fā)。
一直都想著解決這個(gè)問題,想著如何在家里控制公司的電腦,早期,從應(yīng)用層軟件解決,
做個(gè)服務(wù)程序,一個(gè)運(yùn)行在家里的電腦,一個(gè)運(yùn)行在公司電腦上,公司電腦通過TCP持續(xù)連接到家里電腦,
家里電腦通過這個(gè)TCP連接發(fā)送命令給公司電腦,從而達(dá)到控制公司電腦的目的,
但是這種辦法是有限的,并不具備完全控制的目的。
當(dāng)時(shí)多想有種辦法,能讓公司電腦和家里電腦互相訪問,就像在一個(gè)網(wǎng)絡(luò)里一樣,
(這種辦法其實(shí)早就有產(chǎn)品,類似VPN一樣的東西,但是我只是個(gè)人需求,況且我真的是想自己解決這個(gè)問題)
當(dāng)時(shí)局限于自己的知識(shí)水平,無法從驅(qū)動(dòng)層面解決這個(gè)問題,只好擱置。

直到再幾年后的現(xiàn)在,接觸了windows驅(qū)動(dòng),尤其是NDIS驅(qū)動(dòng),知道該怎么解決這么一個(gè)問題,

并真正的建立起了屬于自己的虛擬局域網(wǎng)絡(luò)。

說到原理,其實(shí)并不是像想象的那么復(fù)雜。
要組建這么一個(gè)虛擬局域網(wǎng),需要一下兩個(gè)條件:
一,一個(gè)具有公網(wǎng)IP的機(jī)器和運(yùn)行在此機(jī)器上的一個(gè)服務(wù)程序,這個(gè)程序類似HUB(集線器)一樣,轉(zhuǎn)發(fā)虛擬以太網(wǎng)數(shù)據(jù)包。
二,需要組建虛擬局域網(wǎng)的每臺(tái)機(jī)器都需要安裝一個(gè)虛擬網(wǎng)卡驅(qū)動(dòng)程序和一個(gè)客戶端程序。

NDIS驅(qū)動(dòng)分為三層,
一是NIC驅(qū)動(dòng),又叫微端口驅(qū)動(dòng),直接跟物理網(wǎng)卡打交道,
二是協(xié)議驅(qū)動(dòng),用來處理類似TCP/IP等協(xié)議包,
三是中間層驅(qū)動(dòng),介于協(xié)議驅(qū)動(dòng)和微端口驅(qū)動(dòng)之間。大家熟悉的防火墻就屬于中間驅(qū)動(dòng),它可以任意串改阻止數(shù)據(jù)包。

而這個(gè)用于組建虛擬局域網(wǎng)的網(wǎng)卡驅(qū)動(dòng),是屬于底層的微端口驅(qū)動(dòng),本來物理網(wǎng)卡的微端口驅(qū)動(dòng)是在
鏈路層上得到上層驅(qū)動(dòng)的原始以太網(wǎng)數(shù)據(jù)包,并傳輸?shù)轿锢砭W(wǎng)卡上去;從物理網(wǎng)卡上得到原始以太網(wǎng)數(shù)據(jù)包,并傳遞給上層驅(qū)動(dòng)。
而虛擬網(wǎng)卡驅(qū)動(dòng)注冊(cè)一個(gè)功能設(shè)備,應(yīng)用層程序用CreateFile打開這個(gè)設(shè)備,
調(diào)用Win32函數(shù)ReadFile/WriteFile,從驅(qū)動(dòng)里讀出以太網(wǎng)數(shù)據(jù)包和寫入以太網(wǎng)數(shù)據(jù)包,
也就是本來把傳輸?shù)轿锢砭W(wǎng)卡的工作,交給了這個(gè)注冊(cè)的功能設(shè)備。

客戶端應(yīng)用程序打開虛擬網(wǎng)卡驅(qū)動(dòng)注冊(cè)的功能設(shè)備,從里邊讀取傳輸?shù)竭@塊虛擬網(wǎng)卡的原始以太網(wǎng)數(shù)據(jù)包,
通過真實(shí)的TCP/UDP套接字傳輸?shù)焦W(wǎng)機(jī)器上的一個(gè)服務(wù)程序上, 服務(wù)程序分析這個(gè)數(shù)據(jù)包,
并向正確的也在這個(gè)虛擬局域網(wǎng)的機(jī)器的客戶端程序轉(zhuǎn)發(fā)這個(gè)數(shù)據(jù)包,
客戶端程序接收到屬于發(fā)往自己的別的機(jī)器的原始以太網(wǎng)數(shù)據(jù)包,通過WriteFile寫入到虛擬網(wǎng)卡驅(qū)動(dòng)中,
從而完成數(shù)據(jù)交互。
為了減少服務(wù)器端壓力,可以利用P2P等技術(shù)讓兩個(gè)需要通訊的機(jī)器直接通訊,但我這屬于小網(wǎng)絡(luò),沒必要搞那么復(fù)雜。
這樣一個(gè)虛擬的局域網(wǎng)就這么組建起來了。
簡(jiǎn)單的說就是把屬于真實(shí)的物理網(wǎng)絡(luò)剝離出來,建立在internet公網(wǎng)的邏輯鏈路上。

這里的技術(shù)難點(diǎn)要屬這個(gè)虛擬網(wǎng)卡驅(qū)動(dòng)的開發(fā),不過熟悉了之后,其實(shí)也不太難。

順便一提的是,在多年前,搞得很火的浩方平臺(tái),能讓大家在不同的網(wǎng)絡(luò)里玩CS等局域網(wǎng)游戲,
記得上大學(xué)的時(shí)候,有很多人在玩,當(dāng)時(shí)覺得很神奇,現(xiàn)在想想其實(shí)也不算什么,實(shí)現(xiàn)的原理都差不多的。

現(xiàn)在虛擬局域網(wǎng)是建立起來了,但是要怎么跟別的真實(shí)網(wǎng)絡(luò)通訊呢,舉個(gè)例子:
公司里有多臺(tái)電腦,都是其他同事的,當(dāng)然其中一臺(tái)電腦肯定是自己的。
這些電腦都在同一個(gè)真實(shí)的局域網(wǎng)里,假設(shè)我家的電腦是A,公司里我的電腦是B,
并且都安裝上了虛擬網(wǎng)卡,已經(jīng)是組建好了的一個(gè)虛擬局域網(wǎng),這個(gè)虛擬網(wǎng)只有A,B兩臺(tái)機(jī)器,
假設(shè)家里的A機(jī)器要訪問其他同事的機(jī)器怎么辦呢? 一個(gè)辦法是讓其他同事也裝虛擬網(wǎng)卡,加入到這個(gè)虛擬網(wǎng)里。
但是多種原因,人家不一定愿意安裝或者怕自己家的電腦成了公用機(jī)器給人隨意訪問。
其實(shí)一個(gè)辦法是把公司的B機(jī)器作為NAT網(wǎng)關(guān),這個(gè)虛擬網(wǎng)就在這個(gè)NAT之后,NAT軟件網(wǎng)上可下載的很多,
也可以用windows自帶的“Internet共享”功能,其實(shí)就是一個(gè)簡(jiǎn)單的NAT。
直到寫這篇文章,我才調(diào)通了這個(gè)NAT功能,
方法如下:
首先在公司機(jī)器B上,設(shè)置好“Internet共享”,物理網(wǎng)卡右擊屬性-》高級(jí)-》Internet共享,
在這里的”家庭網(wǎng)絡(luò)連接“,選擇自己開發(fā)的虛擬網(wǎng)卡 ,
這樣NAT算是設(shè)置好了,
接著要在家里的電腦A上加一條路由,這點(diǎn)很重要,否則無法訪問。
比如公司真實(shí)局域網(wǎng)是 192.168.100.X, 虛擬局域網(wǎng)是 192.168.0.X, B機(jī)器的虛擬IP地址是192.168.0.1
在A機(jī)器上加:

router -p add 192.168.100.0 mask 255.255.255.0 192.168.0.1

意思是發(fā)往192.168.100.X網(wǎng)段的數(shù)據(jù)包,都朝網(wǎng)關(guān) 192.168.0.1(也就是公司的B機(jī)器)發(fā)送,
這樣家里的機(jī)器就能正確的路由到公司的網(wǎng)絡(luò)上。


如果萬一要想家里的電腦和公司的所有同事的電腦都在一個(gè)網(wǎng)段怎么辦呢?用橋接方式,
熟練Vmware的人一定很熟悉它的網(wǎng)絡(luò)連接中的橋接方式,這里用到的技術(shù)跟Vmware的橋接技術(shù)差不多。

原理如下
需要開發(fā)一個(gè)NDIS協(xié)議驅(qū)動(dòng),在協(xié)議驅(qū)動(dòng)里分析每個(gè)數(shù)據(jù)包,把發(fā)往虛擬局域網(wǎng)的數(shù)據(jù)包提取出來(這個(gè)通過IP地址來區(qū)分),
通過一個(gè)功能設(shè)備讀取這些數(shù)據(jù),發(fā)往客戶端應(yīng)用程序,應(yīng)用程序發(fā)給公網(wǎng)的服務(wù)器程序,
客戶端應(yīng)用程序從公網(wǎng)機(jī)器獲得數(shù)據(jù)包,寫給協(xié)議驅(qū)動(dòng),協(xié)議驅(qū)動(dòng)改寫源MAC地址為真實(shí)的物理網(wǎng)卡地址,并發(fā)送出去。
這種叫MAC地址欺騙,真實(shí)局域網(wǎng)的其他機(jī)器一直以為都在同一臺(tái)真實(shí)機(jī)器通訊,實(shí)際是和很多虛擬的機(jī)器通訊,
vmware即采用這種類似的技術(shù)實(shí)現(xiàn)橋接功能,讓虛擬機(jī)IP地址跟真實(shí)網(wǎng)絡(luò)融合在一起。

相關(guān)文章

最新評(píng)論