中繼器或集線器既不能隔離沖突域又不能隔離廣播域,網橋或交換機只能隔離沖突域不能隔離廣播域,路由器既能隔離沖突域又能隔離廣播域,為什么?
【解析】
首先要清楚什么是沖突域和廣播域,當一塊網卡發送信息時有可能和另一塊網卡沖突的所有的網卡的集合稱為沖突域。一塊網卡發出一個廣播,能收到這個廣播的所有的網卡的集合稱為一個廣播域。一般來說一個網段就是一個沖突域,一個局域網就是一個廣播域;先了解這么多吧,我們下面先介紹一個中繼器、集線器、網橋、交換機、路由器是用來干什么的,在這基礎之上再來討論沖突域和廣播域會理解的更深。
中繼器:在我們接觸到的網絡中,最簡單的就是兩台電腦通過兩塊網卡構成“雙機互連”,兩塊網卡之間一般是由非屏蔽雙絞線來充當信號線的。由於雙絞線在傳輸信號時信號功率會逐漸衰減,當信號衰減到一定程度時將造成信號失真,因此在保證信號質量的前提下,雙絞線的最大傳輸距離為100米。當兩台電腦之間的距離超過100米時,為了實現雙機互 連,人們便在這兩台電腦之間安裝一個“中繼器”,它的作用就是將已經衰減得不完整的信號經過整理,重新產生出完整的信號再繼續傳送。談到了這里那就再提下放大器,放大器和中繼器都是起放大信號的作用,只不過放大器放大的是模擬信號,中繼器放大的是數字信號。
集線器:中繼器就是普通集線器的前身,集線器實際就是一種多端口的中繼器。集線器一般有4、8、16、24、32等數量的RJ45接口,通過這些接口,集線器便能為相應數量的電腦完成“中繼”功能。由於它在網絡中處於一種“中心”位置,因此集線器也叫做“Hub”。 集線器的工作原理很簡單,假設有一個8個接口的集線器,共連接了8台電腦。集線器處於網絡的“中心”,通過集線器對信號進行轉發,8台電腦之間可以互連互通。具體通信過程是這樣的:假如計算機1要將一條信息發送給計算機8,當計算機1的網卡將信息通過雙絞線送到集線器上時,集線器並不會直接將信息送給計算機8,它會將信息進行“廣播”——將信息同時發送給8個端口,當8個端口上的計算機接收到這條廣播信息時,會對信息進行檢查,如果發現該信息是發給自己的,則接收,否則不予理睬。由於該信息是計算機1發給計算機8的,因此最終計算機8會接收該信息,而其它7台電腦看完信息后,會因為信息不是自己的而不接收該信息,大家用一個現實生活的例子來聯想,假如你在出差,有一個陌生來電,接了之后你卻發現打錯了,要花費不少漫游費,你生不生氣?當然很生氣(沖突),所以集線器所有端口都屬於一個沖突域,故集線器不能分割沖突域。集線器在一個時鍾周期中只能傳輸一組信息,如果一台集線器連接的機器數目較多,並且多台機器經常需要同時通信時,將導致集線器的工作效率很差,如發生信息堵塞、碰撞等。為什么會這樣呢?打給比方,一個集線器連接8台計算機,當計算機1正在通過集線器發信息給計算機8時,如果此時計算機2也想通過集線器將信息發給計算機7,當它試圖與集線器聯系時,卻發現集線器正在忙計算機1的事情,於是計算機2便會“帶”着數據站在集線器的面前等待,並時時要求集線器停下計算機1的活來幫自己干。如果計算機2成功地將集線器“搶”過來了(由於集線器是“共享”的,因此很容易搶到手),此時正處於傳輸狀態的計算機1的數據便會停止,於是計算機1也會去 “搶”集線器,可見,集線器上每個端口的真實速度除了與集線器的帶寬有關外,與同時工作的設備數量也有關。比如說一個帶寬為10Mb的集線器上連接了8台計算機,當這8台計算機同時工作時,則每台計算機真正所擁有的帶寬是10/8=1.25Mb。
網橋:見下面的交換機,因為交換機就是多接口網橋。
交換機:交換機也叫交換式集線器,它通過對信息進行重新生成,並經過內部處理后轉發至指定端口,具備自動尋址能力和交換作用,由於交換機根據所傳遞信息包的目的地址,將每一信息包獨立地從源端口送至目的端口,避免了和其他端口發生碰撞。簡單的說就是,交換機某端口連接的主機想和另一個端口連接的主機通信,交換機就會通過轉發表發送那個端口,不可能去其他端口,不存在發錯端口(即打錯電話),所以交換機的每一個端口都是一個沖突域,也就是說交換機可以隔離沖突域。交換機的工作原理:在計算機網絡系統中,交換機是針對共享工作模式的弱點而推出的。集線器是采用共享工作模式的代表,如果把集線器比作一個郵遞員,那么這個郵遞員是個不認識字的“傻瓜”,如要要他去送信,他不知道直接根據信件上的地址將信件送給收信人,只會拿着信分發給所有的人,然后讓接收的人根據地址信息來判斷是不是自己的,而交換機則是一個“聰明”的郵遞員——交換機擁有一條高帶寬的背部總線和內部交換矩陣。交換機的所有的端口都掛接在這條背部總線上,當控制電路收到數據包以后,處理端口會查找內存中的地址對照表以確定目的MAC地址應該從哪個端口發出,通過內部交換矩陣迅速將數據包傳送到目的端口。目的MAC地址若不存在,交換機才廣播到所有的端口,接收端口回應后交換機會“學習”新的地址(參考課本95頁,很容易看懂,不在解釋),並把它添加入內部地址表中。可見,交換機在收到某個網卡發過來的“信件”時,會根據上面的地址信息,以及自己掌握的“常住居民戶口簿”快速將信件送到收信人的手中。萬一收信人的地址不在“戶口簿”上,交換機才會像集線器一樣將信分發給所有的人,然后從中找到收信人。而找到收信人之后,交換機會立刻將這個人的信息登記到“戶口簿”上,這樣以后再為該客戶服務時,就可以迅速將信件送達了。
由於交換機能夠智能化地根據地址信息將數據快速送到目的地,因此它不會像集線器那樣在傳輸數據時“打擾”那些非收信人。這樣一來,交換機在同一時刻可進行多個端口組之間的數據傳輸。並且每個端口都可視為是獨立的網段,相互通信的雙方獨自享有全部的帶寬,無須同其他設備競爭使用。比如說,當A主機向D主機發送數據時,B主機可同時向C主機發送數據,而且這兩個傳輸都享有網絡的全部帶寬——假設此時它們使用的是10M的交換機,那么該交換機此時的總流通量就等於2×10Mb=20Mb(此時交換機有4個接口,即2對接口,參考課本97頁倒數第五行)。
路由器:簡單的說就是路由器把數據從一個網絡發送到另一個網絡,至於具體過程請見第四章網絡層。
前面我們已經講過中繼器或集線器不能隔離沖突域,交換機可以隔離沖突域,自然路由肯定也可以隔離沖突域(因為也有一張轉發表去轉發);下面來討論一下廣播域。首先前面說了廣播其實可以看成一個單獨的網絡,如果一個主機要發送一個廣播數據,這樣就應該在整個網絡都可以聽得見,但是集線器和交換機分別工作在物理層和數據鏈路層,不能連接兩個不同的網絡,所以說不管是集線器還是交換機遇到廣播數據都要每個端口發一遍(因為每個端口連接的網絡仍然是屬於同一個網絡),這樣的話又存在打錯電話的情況了,所以集線器和交換機不能隔離廣播域,但是路由器可以連接不同的網絡,且路由器在默認情況下是不轉發廣播報文的(因為每個端口連接的是不同的網絡),故路由器的每一個端口都是一個廣播域,故路由器可以隔離廣播域。
補充知識點:盡管交換機也叫作多端口網橋,但是交換機和網橋還是有不同之處,下面一一列出:
(1)網橋的端口一般連接局域網,而交換機的端口一般直接與局域網的主機相連。
(2)交換機允許多對計算機同時通信,而網橋允許每個網段上的計算機同時通信。
(3)網橋采用存儲轉發形式進行轉發,而以太網交換機還可以采用直通方式進行轉發,且以太網交換機采用了專用的交換機構芯片,轉發速度比網橋快。