標籤:電腦網路 工作原理 網路連接 區域網路 雙絞線
要組建成一個基本的網路,只需要一台集線器(Hub)或一台交換器、幾塊網卡和幾十米UTP線就能完成。
事實上,這樣的簡單網路是更複雜網路的基本單位。把這些小的、簡單的網路互連到一起,就形成了
更複雜的區域網路(LAN)。
3.1 最簡單的網路
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/82/1C/wKioL1dL8SuxD8-BAAGyseXLHG4802.jpg-wh_500x0-wm_3-wmp_4-s_2704800497.jpg" title="QQ20160530154707.jpg" width="229" height="180" border="0" hspace="0" vspace="0" style="width:229px;height:180px;" alt="wKioL1dL8SuxD8-BAAGyseXLHG4802.jpg-wh_50" />
,簡單用一個集線器(Hub)就可以將數台電腦串連到一起,使電腦之間可以將數台計
算機串連到一起。在購買一台集線器後,只需要簡單用雙絞線把各台電腦和集線器串連到一起,
並不需要做其他的任何事情,一個簡單的網路就搭建成功了。
集線器的功能是協助電腦轉寄資料包,它是最簡單的網路裝置。集線器的工作原理非常簡單,
當集線器從一個連接埠收到資料包後,它簡單的把資料包向所有連接埠轉寄。發送主機資料包的報
頭包含目標主機的MAC地址,只有與該MAC地址相同的主機才會接收資料包,而其他的主機不會
接收該資料報。
3.2 網路連接的基本技術
3.2.1 資料封裝 - 電腦網路通訊的基礎
資料包在發送前,主機需要為每個資料區段封裝前序。而在前序中,最重要的是地址。
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/82/1C/wKioL1dL9hWyte4UAABf7QzvAgA748.jpg" title="QQ20160530160735.jpg" alt="wKioL1dL9hWyte4UAABf7QzvAgA748.jpg" />
圖3.2 資料包的分段與封裝
3.2所示,資料報在傳送前,被添上了幀前序(Frame Header)、IP前序(IP Header)、
TCP前序(TCP Header)、幀尾(Frame Trailer)。被封裝好了前序報尾的一個資料區段,被
稱為資料幀。
將資料分段按幀傳送的目的有2個:資料出錯重發、通訊線路爭用平衡。
幀前序(Frame Header)包含目標MAC地址和源MAC地址;
IP前序(IP Header)包含了目標IP地址和源IP地址;
TCP前序(TCP Header)包含了目標連接埠(port)地址和源連接埠(port)地址。
網卡通過判斷資料報MAC地址是否和自己相同,來決定是否接收資料報;
當搭建複雜網路時,我們不僅需要知道目標主機的地址,還需要知道目標主機的網路地
址。IP地址包含網路地址和主機地址兩個資訊。當從源主機發送資料報到目標主機時,
互連網中的路由器裝置需要查詢IP地址中的網路地址資訊部分,才能知道要把資料報發
送到哪個網路,而後通過IP地址的主機地址部分發送到目標主機。
當資料通過MAC地址和IP地址聯合定址達到目標主機後,目標主機將資料報交給某個應用
程式去處理,但怎麼確定要交給哪個應用程式呢?這就是通過最後目標連接埠(port)地址
來確定了。
由此可見,要完成資料轉送,需要三級定址:
IP地址用於網間定址,
MAC地址用於網段定址,
連接埠地址用於應用程式定址。
幀尾(Frame Trailer)用於資料完好校正,較流行的幀校正演算法有CRC校正、二維奇偶校
驗(Two-dimension parity)、網際校正(Internet checksum)。
3.2.2 MAC地址
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/82/1D/wKioL1dL_9jztS9SAABRCJT9Pq0996.jpg" title="QQ20160530164959.jpg" alt="wKioL1dL_9jztS9SAABRCJT9Pq0996.jpg" />
如果3.3,高3個位元組(00 60 2F)代表生產廠家企業編碼(OUI),低3個自己是隨機數。需要
保證區域網路內各台主機的MAC地址唯一。
特殊的MAC地址 FF:FF:FF:FF:FF:FF是廣播位址,使用該地址的資料報表示該幀資料是發
給所有主機的。
3.2.3 網卡
網卡固化了MAC地址。
內建MAC地址比較電路,判斷資料報的MAC地址是否和自己相同來決定是否接收該資料報。
3.2.4 乙太網路
在乙太網路中,如果多台主機需要同時通訊,那麼這些主機誰先爭得傳輸介質(通訊線路),
誰就獲得資料發送權利,該技術稱為匯流排爭用介質訪問。
另外還有令牌網技術,該技術通過令牌大家輪流擷取介質存取權限。
乙太網路規範:IEEE 802.3協議
令牌網規範:IEEE 802.5協議
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/82/1D/wKioL1dMA-DiI2KcAABd2_OMiX8086.jpg" title="QQ20160530154707.jpg" alt="wKioL1dMA-DiI2KcAABd2_OMiX8086.jpg" />
圖3.4 介質存取控制技術
3.2.5 IEEE 802.3資料幀結構
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/82/1D/wKioL1dMBJ-zF5zYAAC1n95X1H8498.jpg" title="QQ20160530171042.jpg" alt="wKioL1dMBJ-zF5zYAAC1n95X1H8498.jpg" />
圖3.5 IEEE 802.3的框架格式
同步欄位(Preamble): 早期用於同步脈衝的欄位,值固定為01010101,現已不用,保留
以維持相容性。
起始標記欄位(Start of Frame Delimeter):值固定為10101011。
目標MAC地址欄位(Destination Address):目標主機MAC地址。全1是廣播位址。
源主機MAC地址欄位(Source Address):源主機MAC地址。
幀長度/類型欄位(Length/Type):當這個欄位數值小於0x0600時,表示長度;
當大於0x0600時,表示類型。
長度是指資料幀的位元組數;類型表示接受主機的上層協
議,如ARP,該欄位應為0x0806。
資料(Data):幀資料。最小46個位元組,最大1500位元組。規定幀的最小位元組數是為了定時需
要,如果不夠這個位元組,需填充。
幀校正位元組(Frame Check Sequence):一個4位元組的CRC校正值。
IEEE 802.3之前,還有個Ethernet協議,現在的IEEE 802.3已經相容Ethernet協議,用字
段Length/Type是否為0x0600來區分。
3.3 乙太網路交換器
3.3.1 乙太網路交換器的工作原理
交換器用以替代集線器(Hub)將PC、伺服器、外設串連成一個網路。
交換器區別於集線器的是能夠同時提供點對點的多個鏈路,從而大大提高網路頻寬。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/82/20/wKiom1dMCB_T3ZLZAAIV-deTCFA853.jpg" title="QQ20160530171042.jpg" alt="wKiom1dMCB_T3ZLZAAIV-deTCFA853.jpg" />
圖3.6 乙太網路交換器中的交換表
交換器的核心是交換表。交換表是一個交換器連接埠與MAC地址的映射表。
一幀資料到達交換器後,交換器從包頭取出目標MAC地址,通過查表,得知應該向哪個連接埠
轉寄,進而將資料幀從正確的連接埠轉寄出去。如果交換器查不到該向哪個連接埠轉寄,則向
所有連接埠轉寄。
那麼交換表是如何得到的呢?交換器是通過自學習得到交換表的。交換表是放置在交換器
的記憶體中,交換器的剛上電的時候,交換表是空的,此時,如果圖3.6中0260.8c01.1111主
機向0260.8c01.2222主機發送報文的時候,交換器無法通過查表得知應該向哪個連接埠轉寄
報文,於是向所有連接埠轉寄。雖然交換器不知道目標主機0260.8c01.2222在自己的哪個端
口,但是它知道報文來自e0連接埠,因此,轉寄報文後,交換器便把幀前序的源MAC地址
0260.8c01.1111放到其交換表的e0連接埠行中。交換器對其他連接埠也是這樣辨識MAC地址,經
過一個時間後,交換器得到了完整的交換表。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/82/1F/wKioL1dMDnSR2M8kAAF354h8I6c766.jpg" title="QQ20160530171042.jpg" alt="wKioL1dMDnSR2M8kAAF354h8I6c766.jpg" />
圖3.7 交換器(左)的e1連接埠捆綁多個MAC地址
交換器級聯的時候,一個連接埠可以捆綁多個MAC地址。3.7所示,當交換器級聯時,連
接到其它交換器的主機的MAC地址都會捆綁到本交換器的級聯連接埠。
交換器為了避免交換表中的垃圾地址,交換器每隔一段時間,會清楚交換表,重新學習。
當然這個也會對頻寬造成浪費,新的智能交換器可以選擇遺忘那些長時間沒有通訊流量
的MAC地址,進而改善交換器效能。
如果用乙太網路交換器串連一個簡單網路,一台新的交換器不需要任何配置,將各個主機
串連到交換器就可以工作了。
3.3.2 乙太網路交換器的類型
直通式(cut through)和儲存轉寄式(store and forward)。
直通式交換器在接到報文後幾乎只要接到前序中的目標MAC地址就可以立即轉寄,不需要等
待整個資料幀。
儲存轉寄式首先對接收到的報文進行CRC校正,然後根據幀前序中的MAC地址和交換表,確
定轉寄的輸出連接埠,然後把報文放到那個輸出連接埠的高速緩衝儲存空間中排隊、轉寄。
直通式快,但會轉寄損壞的包;而儲存轉寄歲有延遲,但不轉寄壞包,可靠性高,節省CPU
資源和頻寬。
另外,服務品質優先(QoS)技術也只能在儲存轉寄式交換器中實現。
本文出自 “JiMoKuangXiangQu” 部落格,請務必保留此出處http://4594296.blog.51cto.com/4584296/1784556
電腦網路學習(3):組建簡單網路