這篇摘錄我搜尋的區域網技術的一些重要常識,區域網最複雜的就是各種協議和結構摻雜在一起,所以這篇文章主要**主流區域網技術,這涵蓋的內容有點大,但是很多細節不加細述,以上帝視角粗略看一下。乙太網是區域網的代名詞,因為現在區域網普遍採用乙太網的標準。
由於技術發展,多個計算機不再共享通道,也就沒必要採用csma/cd協議
來解決衝突。但是區域網在傳送資料時,其資料鏈路幀仍然採用mac幀。
圖中的802.1q
的4位元組並非mac幀的組成部分,但是鏈路幀採用802.1q
可以
利用vlan
技術,將物理結構上不相鄰的計算機劃分為乙個工作組,這是用軟體來實現的。
終端網絡卡處理mac幀
交換機處理mac幀
交換機處理mac幀的行為就是典型的儲存**,在進行學習後,如果交換機
完全掌握了其周圍的網路的拓撲(即所有和本交換機連線的網路裝置,每個網路裝置連線交換機乙個埠,而交換機的每個埠都有乙個mac位址。)
如圖所示的星形拓撲,所有橙色的終端可以作為乙個虛擬區域網段。
交換機的學習機制很簡單:
如果機器m1傳送資料,其mac位址和介面就會被記錄在l2 switch的**表中,如果目的mac位址沒有在**表查到,那就泛洪,將該幀傳送到所有介面,除了源口以外。
在最終構造區域網內任何兩台主機的通訊過程之前,先看一下arp的幀格式:
其他的繁瑣字段不要理會,arp就是區域網裡面,如果本主機要想和那個具有
某ip位址的主機通訊,但本地arp快取裡面沒有,就傳送乙個,arp報文會在本lan內泛洪廣播,交換機通常會對arp幀進行泛洪(arp幀位址封裝在mac幀裡,mac目的位址設為全1.)
收到廣播mac幀的主機會傳送arp回應,然後發回去,剛剛請求的主機則就會將其放入本地arp快取。
在計算機中本地快取類似:
現在可以構造多點通訊過程了,重新畫一下拓撲結構。
我們定義某台主機的mac位址為-mac(t1)
交換機從一開始不認識任何人,只要遇到幀 就泛洪。
t1起初不知道g1的mac位址,傳送乙個arp,將自己的ip和mac廣播了。
所以現在所有的交換機的交換表裡面都有這樣的乙個元組:
這裡的介面有可能是不一樣的,比如s1是與t1相聯的介面。而總交換機s則是 s1與s相聯的s的介面g1收到廣播後,就給a傳送乙個arp回應,這裡變成了單播。
但是沿路的s和s1都知道g1的mac位址和**介面。
以這種模式,只要區域網中主機a需要通訊,那麼a需要通訊的主機b,很有可能會回執。也就可以這樣說,只要主機需要通訊,其mac位址,必然會被
區域網中的交換機知道。因此,這就是多點通訊模型。
C 實現區域網雙向通訊(socket)
如果想要實現兩不同區域網之間的主機程序通訊,即實現區域網內兩個電腦之間的資料傳輸,那麼就不能通過管道或者命名管道的方式來實現,這裡的區域網通訊是通過一種叫做socket套接字的方式來實現。首先想要與同一區域網內部的另乙個電腦進行資料傳輸,需要知道它的ip位址,因為ip是連線網路之後分配給個人主機的唯...
區域網虛擬機器centos網路通訊
橋接模式下有兩種方式進行通訊,一種是動態分配,另一種是固定分配。預設情況下是動態分配,即根據所在的區域網動態獲得ip位址,這種方式ip位址非固定,不建議採用這種方式。固定分配需要系統配置ip位址 子網掩碼,並且還要和宿主機器處於同一網段,這樣虛擬系統才能和宿主機器進行通訊。工具 vmware wor...
QT在區域網進行UDP通訊的若干坑
qt進行區域網通訊,接收端可以採用的 receiver new qudpsocket this 繫結,第乙個引數為埠號,第二兒表示允許其它位址鏈結該廣播 receiver bind server port,qudpsocket shareaddress readyread 每當有資料報來時傳送這個訊...