麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網管 > 局域網 > 正文

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

2020-03-08 22:28:18
字體:
來源:轉載
供稿:網友

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

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

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

直到再幾年后的現在,接觸了windows驅動,尤其是NDIS驅動,知道該怎么解決這么一個問題,

并真正的建立起了屬于自己的虛擬局域網絡。

說到原理,其實并不是像想象的那么復雜。
要組建這么一個虛擬局域網,需要一下兩個條件:
一,一個具有公網IP的機器和運行在此機器上的一個服務程序,這個程序類似HUB(集線器)一樣,轉發虛擬以太網數據包。
二,需要組建虛擬局域網的每臺機器都需要安裝一個虛擬網卡驅動程序和一個客戶端程序。

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

而這個用于組建虛擬局域網的網卡驅動,是屬于底層的微端口驅動,本來物理網卡的微端口驅動是在
鏈路層上得到上層驅動的原始以太網數據包,并傳輸到物理網卡上去;從物理網卡上得到原始以太網數據包,并傳遞給上層驅動。
而虛擬網卡驅動注冊一個功能設備,應用層程序用CreateFile打開這個設備,
調用Win32函數ReadFile/WriteFile,從驅動里讀出以太網數據包和寫入以太網數據包,
也就是本來把傳輸到物理網卡的工作,交給了這個注冊的功能設備。

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

這里的技術難點要屬這個虛擬網卡驅動的開發,不過熟悉了之后,其實也不太難。

順便一提的是,在多年前,搞得很火的浩方平臺,能讓大家在不同的網絡里玩CS等局域網游戲,
記得上大學的時候,有很多人在玩,當時覺得很神奇,現在想想其實也不算什么,實現的原理都差不多的。

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

router -p add 192.168.100.0 mask 255.255.255.0 192.168.0.1

意思是發往192.168.100.X網段的數據包,都朝網關 192.168.0.1(也就是公司的B機器)發送,
這樣家里的機器就能正確的路由到公司的網絡上。


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

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


注:相關教程知識閱讀請移步到組網頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毛片视频大全 | 欧美日韩在线视频观看 | 免费午夜视频 | 久久精品免费国产 | 激情影院在线观看 | 久久精品国产99久久久古代 | 国产午夜精品一区二区三区免费 | 九色一区二区 | 337p日本欧洲亚洲大胆精蜜臀 | 法国极品成人h版 | 羞羞网站在线观看入口免费 | 日本在线一区二区 | 男女生羞羞视频网站在线观看 | 性爱视频免费 | 亚洲精品7777xxxx青睐 | 国产美女视频黄a视频免费 日韩黄色在线播放 | 亚洲人成中文字幕在线观看 | 成人在线视频精品 | 看免费的毛片 | 亚洲网站免费看 | 国产69精品福利视频 | 久久精品一区二区三区不卡牛牛 | 久久免费观看一级毛片 | 日韩毛片在线看 | 国产pron| 免费h片网站 | 久久密 | 免费观看的毛片手机视频 | 91精品国产乱码久久久久久久久 | 伊人yinren22综合网色 | 国产精品99久久免费观看 | 在线中文资源免费 | 成人激情视频网站 | 99最新网址| 亚洲午夜国产 | 色的综合 | 99激情 | 91九色蝌蚪国产 | 有色视频在线观看 | 欧美成人精品一区二区 | 久久网日本 |