集線器,交換機,路由器的作用


集線器(Hub) —— 工作在物理層

信號在線路中傳播會進行衰減,集線器的作用就是對信號進行再生放大,從而擴大了網絡的傳輸距離。從功能就可以看出,集線器是工作在物理層的。而且從下圖中可以看出,使用集線器的網絡是總線型網絡,那么當一台計算機發送消息時,所有的計算機都會收到消息。而且有一個問題就是有可能多台主機同時發送消息,那么這些信號在總線上相遇就會發生沖突,所以就需要使用"載波監聽多點接入/碰撞檢測(CSMA/CD)"。

使用集線器的網絡叫做共享式網絡,該網絡的所有主機都屬於同一個沖突域,即一台計算機發送消息,其它的計算機都能夠收到。而且同一時刻只能夠有一台計算機發送消息(為了防止沖突)。

雖然說在共享式網絡中其它計算機也能夠收到不是發給自己的信息,但是計算機會識別該信息是不是發送給自己的,如果不是那么就會丟棄。

 

交換機(Switch)  —— 工作在數據鏈路層

前言——交換機轉發的消息叫做幀。

集線器的信道利用率太低了,所以就出現了交換機。交換機很很多個端口,每個端口都能夠連接一台計算機,當計算機A向計算機B發送信息時,會在內部建立起一條臨時性的數據傳輸通道,如果有多台計算機同時通信,那么就會維護多條通道。那么可以看出交換機的每個端口就是一個沖突域,如果該端口只連接了一台計算機,那么就相當於沒有沖突。

 

每台計算機都有一個網卡適配器,每個網卡適配器都有一個MAC地址,該地址是全球唯一的。

當計算機A向計算B發送幀時,就會根據幀首部包含的目的主機MAC地址,將幀從合適的端口轉發出去。那么交換機怎么知道從哪個端口把幀轉發出去呢?

交換機會在內部維護一個MAC地址表,其中包含了每個端口對應的主機的MAC地址。交換機在轉發幀時,就會查找該MAC地址表,然后將幀從合適的端口轉發出去。

那么交換機是如何得到這個MAC地址表的呢?

靜態MAC地址表:當把一台計算機連接上交換機時,由管理員填寫該表,從而形成MAC地址表。

動態MAC地址表:當把一台計算機B連接上交換機時,什么事都不用做,當有計算機A向計算機B發送幀時,如果交換機不能夠在MAC地址表中找到幀首部的目的MAC地址對應的是哪個端口,那么就會向所有的端口(除了發送幀的那個端口除外)發送該消息,然后只要計算機B回應了幀,交換機就知道哪個端口連接了計算機B,那么交換機就會在MAC地址表中記錄下來。

 

路由器(Router)  —— 工作在網絡層

前言——路由器轉發的消息叫做IP數據報。

交換機是工作在數據鏈路層的,也即交換機只能轉發局域網內的幀。如果網絡A的主機想要發消息給網絡B的主機就需要路由器了。

如果網絡A的主機1想要想網絡B的主機2發送消息,那么主機1必須在IP數據報的首部加上源IP地址和目標IP地址,那么路由器A會根據目標IP地址將IP數據報轉發到路由器B。路由器B接收到該IP數據報后,會將該IP數據報封裝成幀,然后在幀的首部加上主機B的MAC地址作為目的地址,然后把該消息轉發給主機B,或者轉發給交換機,由交換機轉發給主機B。

那么路由器A怎么知道把IP數據包從哪個端口送出去呢?路由器內部維護了一張路由表,它知道把IP數據報從哪個端口發出去。這個就不詳細說了,太復雜了。

那么路由器B怎么知道某個IP地址對應了哪個主機,且該主機的MAC地址是什么呢?

路由器內部維護了一張arp表,即地址解析協議表,它知道哪個IP地址對應了哪個MAC地址。

①如果arp表中存在該IP地址所對應的表項,那么根據該表項,直接將IP數據包加上相應的首部封裝成幀。

②如果arp表中不存在該IP地址所對應的表項,那么路由器發送一個廣播幀,將幀首部的目的MAC地址設為FFFFFFFFFFFF,交換機收到該幀后,發現其目的MAC地址是FFFFFFFFFFFF,就會將該幀從所有的端口(除了發送該幀的端口除外)轉發出去,當計算機收到該幀后,就會把自己的IP地址和MAC地址都發送給路由器,這樣路由器就生成了arp表了。然后再根據該表轉發IP數據報。

注:計算機接收的幀只有兩種,①幀首部的目的MAC地址和自己的MAC地址一致;②幀首部的目的MAC地址是廣播地址FFFFFFFFFFFF。(這里不考慮組播的情況)

 

該文章在我的個人博客地址是:http://www.alphaway.org/post-456.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM