集線器和交換機的區別?

麻煩大神說詳細點


·交換機(Switch)是一種基於MAC(網卡的硬體地址)識別,能完成封裝轉發數據包功能的網路設備。交換機可以「學習」MAC地址,並把其存放在內部地址表中,通過在數據幀的始發者和目標接收者之間建立臨時的交換路徑,使數據幀直接由源地址到達目的地址。

·集線器(HUB)是計算機網路中連接多個計算機或其他設備的連接設備,是對網路進行集中管理的最小單元。英文Hub就是中心的意思,像樹的主幹一樣,它是各分支的彙集點。HUB是一個共享設備,主要提供信號放大和中轉的功能,它把一個埠接收的所有信號向所有埠分發出去。

打個比方一個8口hub, 當埠1上的機器要給埠8上的機器發數據,那這個數據是這樣跑的:首先她在埠1上偵聽hub上有沒有數據在傳輸,如果沒有,埠1就跳出來向hub上喊:「我有數據包要給埠8,請埠8聽到後回話」 這個數據被以廣播的方式發送到hub上的其餘7個口上,每埠都會接到這樣的數據包,然後埠2---埠7會發一則消息給斷口1:「我不是埠8,請你快tmd釋放帶寬資源」 與此同時埠8會發消息給斷口1:「我是埠8,你在找我嗎?」埠1收到上述消息後,會和埠8進行確認,然後他們建立傳輸鏈接,完成數據轉發。等如果埠1在發送尋找斷口8的消息後,沒有得到相應,那她還會接著發這個消息,直到收到埠8的回答。等埠1和埠8完整數據轉發後,假設他們還要進行通訊,那麼hub上還會重複以上的過程。由此可見hub的通信方式點點碰撞,一個數據,需要送達所有的埠,這不但增加了數據轉發的時間,更要命的是hub往往會給網路帶來可怕的廣播風暴。 而相同的工作再交換機就不用這麼麻煩,假設埠1和埠8從沒有通信過,那麼開始的時候,他們的工作和hub一樣,埠1要在交換機上找埠8,一旦埠8返回確認信息,那再埠1上就會生成1個和埠8的地址對應表,這個表裡面有所有和埠1通過信的埠,一旦有了這地址對應表,那在以後埠1要和埠8通訊,就不用這麼麻煩,可以直接送達,而且其他的斷口也不會知道他們直接正在轉發數據,這樣不當加快了數據轉發時間,而且避免了可怕的廣播風暴。


打個比方,集線器相當於十字路口,交換機相當於立交橋


本回答針對乙太網集線器和交換機。

集線器工作於物理層,每個埠相當於一個中繼器,原理很簡單,只對物理電信號放大中繼,所有埠同屬一個衝突域,主要用來延伸網路訪問距離,擴展終端數量。

交換機工作於數據鏈路層,它的每個埠相當於一個集線器,原理是根據數據幀頭的MAC地址轉發幀到合適的埠,每個埠是一個獨立的衝突域。

打個不太恰當的比喻:

集結器相當於一個大辦公區,兩個人之間溝通必然會干擾其他人,影響效率,同時也沒有私密性。

而交換機相當於每個人都在獨立的辦公室,溝通只需要根據辦公室門牌號(MAC地址)找到本人,在辦公室私聊就可以了,影響的只是辦公室外面走廊(背板帶寬)。


在OSI/RM(OSI參考模型)中的工作層次不同
交換機和集線器在OSI/RM開放體系模型中對應的層次就不一樣,集線器是工作在第一層(物理層),而交換機至少是工作在第二層,更高級的交換機可以工作在第三層(網路層)和第四層(傳輸層)。
(2)交換機的數據傳輸方式不同
集線器的數據傳輸方式是廣播(broadcast)方式,而交換機的數據傳輸是有目的的,數據只對目的節點發送,只是在自己的MAC地址表中找不到的情況下第一次使用廣播方式發送,然後因為交換機具有MAC地址學習功能,第二次以後就不再是廣播發送了,又是有目的的發送。這樣的好處是數據傳輸效率提高,不會出現廣播風暴,在安全性方面也不會出現其它節點偵聽的現象。用集線器組成的網路稱為共享式網路,而用交換機組成的網路稱為交換式網路。 共享式乙太網存在的主要問題是所有用戶共享帶寬,每個用戶的實際可用帶寬隨網路用戶數的增加而遞減。這是因為當信息繁忙時,多個用戶可能同時「爭用」一個信道,而一個信道在某一時刻只允許一個用戶佔用,所以大量的用戶經常處於監測等待狀態,致使信號傳輸時產生抖動、停滯或失真,嚴重影響了網路的性能。
(3)帶寬佔用方式不同
在帶寬佔用方面,集線器所有埠是共享集線器的總帶寬,而交換機的每個埠都具有自己的帶寬,這樣就交換機實際上每個埠的帶寬比集線器埠可用帶寬要高許多,也就決定了交換機的傳輸速度比集線器要快許多。交換機在傳輸數據時是並行傳輸,多個埠對之間可以同時傳輸數據,或者一個埠內的各台計算機之間的交換數據不會影響到另外一個埠內的數據通信。
(4)傳輸模式不同
集線器只能採用半雙工方式進行傳輸的,因為集線器是共享傳輸介質的,這樣在上行通道上集線器一次只能傳輸一個任務,要麼是接收數據,要麼是發送數據。交換機可以是半雙工操作,也可以是全雙工操作。


集線器不能將網路分段,而交換機可以。

詳細來講,交換機會劃分衝突域,路由器作為一種特殊的交換機,除了劃分衝突域之外還可以劃分廣播域。而集線器,什麼都不劃分。

廣播域,衝突域的定義,請百度

使用集線器將多台PC連接起來是一種廉價的解決方案,適合用於家庭網路和故障排除,僅此而已。


補充一下小聳的回答。

首先小聳說的比較全面了,不過兩者還有一些區別:

1、集線器相對來說比較老了,目前許多家庭網路中都已經不再使用集線器了,而交換機相對於集線器來說更加高效率,所以從效率上面來講,交換機〉集線器。

2、集線器確實是將輸入埠的信號廣播給乙太網內其他所有的埠,所有其他埠都會接收信號並且判斷其中的Mac報頭中的接收方Mac地址是不是為自己的Mac地址,如果不是就拋棄,如果是就接收回應,這也是他低效率的一點。相較而言,交換機在接收埠接收到信號,通過內部存儲的Mac地址表查詢接收方的埠號,查到之後讓交換電路傳輸信號到指定的埠,如果在Mac地址表中查不到怎麼辦?那麼交換機就會將信號轉發到除了源埠之外的其他所有埠上,就類似於集線器的工作原理。

3、交換機可以同時轉發多個信號,而集線器同一時間只能轉發一種信號。

4、交換機具有全雙工的工作模式,即它可以同時發送和接收信號,而集線器卻只能是半雙工的工作模式,即只能發送或者接收信號。


一個是群聊,一個是私聊。


集線器:pc1 = 192.168.1.50; pc2 = 192.168.1.50; pc3 = 192.168.1.50.

交換機(非網管型):pc1 = 192.168.1.50; pc2 = 192.168.1.51; pc3 = 192.168.1.52.

路由器:自身 = 192.168.1.1; pc1 = 192.168.1.50; pc2 = 192.168.1.51; pc3 = 192.168.1.52.


數據機大致可分為哪些幾類?


集線器工作於一層,交換機工作於二層,

集線器不能隔離衝突域,交換機可以隔離衝突域,


推薦閱讀:

勸退偽化生和傳統工科並推崇CS是不是知乎上的一種政治正確?為什麼會這樣呢?
如果出現一種實用的新型計算機(未來計算機,比如基於憶阻器的),那麼需要學習新的編程語言么?
在軟體開發的職業領域裡,在什麼樣的情況下才會遇到 : 計算機編程藝術《The Art of Computer Programming》以及 演算法導論《Introduction to Algorithms》 中的知識呢?
函數調用過程中棧到底是怎麼壓入和彈出的?
進入計算機領域學習的學生已經太多了嗎?

TAG:計算機 | 路由器 | 計算機網路 | 交換機 | 計算機科學 |