關(guān)于集線器,交換機(jī),路由器工作層次區(qū)別的相關(guān)介紹
瀏覽次數(shù):發(fā)布時(shí)間:2019-09-09
集線器(Hub)、
交換機(jī)(Switch)與路由器(Router)號(hào)稱是網(wǎng)絡(luò)硬件三劍客,一直以來(lái)都是網(wǎng)絡(luò)界的活躍分子,但讓非常多初入網(wǎng)絡(luò)之門的菜鳥惱火的是,它們?nèi)卟粌H外觀相似,并且常常呆在一起。可是這三者的使用卻不盡相同,今天
飛暢科技的小編就來(lái)為大家介紹下集線器,交換機(jī),路由器工作層次的區(qū)別。
集線器(Hub) —— 工作在物理層
信號(hào)在線路中傳播會(huì)進(jìn)行衰減,集線器的作用就是對(duì)信號(hào)進(jìn)行再生放大,從而擴(kuò)大了網(wǎng)絡(luò)的傳輸距離。從功能就可以看出,集線器是工作在物理層的。而且從下圖中可以看出,使用集線器的網(wǎng)絡(luò)是總線型網(wǎng)絡(luò),那么當(dāng)一臺(tái)計(jì)算機(jī)發(fā)送消息時(shí),所有的計(jì)算機(jī)都會(huì)收到消息。而且有一個(gè)問(wèn)題就是有可能多臺(tái)主機(jī)同時(shí)發(fā)送消息,那么這些信號(hào)在總線上相遇就會(huì)發(fā)生沖突,所以就需要使用"載波監(jiān)聽(tīng)多點(diǎn)接入/碰撞檢測(cè)(CSMA/CD)"。
使用集線器的網(wǎng)絡(luò)叫做共享式網(wǎng)絡(luò),該網(wǎng)絡(luò)的所有主機(jī)都屬于同一個(gè)沖突域,即一臺(tái)計(jì)算機(jī)發(fā)送消息,其它的計(jì)算機(jī)都能夠收到。而且同一時(shí)刻只能夠有一臺(tái)計(jì)算機(jī)發(fā)送消息(為了防止沖突)。
雖然說(shuō)在共享式網(wǎng)絡(luò)中其它計(jì)算機(jī)也能夠收到不是發(fā)給自己的信息,但是計(jì)算機(jī)會(huì)識(shí)別該信息是不是發(fā)送給自己的,如果不是那么就會(huì)丟棄。
交換機(jī)(Switch) —— 工作在數(shù)據(jù)鏈路層
前言——交換機(jī)轉(zhuǎn)發(fā)的消息叫做幀。
集線器的信道利用率太低了,所以就出現(xiàn)了交換機(jī)。交換機(jī)很很多個(gè)端口,每個(gè)端口都能夠連接一臺(tái)計(jì)算機(jī),當(dāng)計(jì)算機(jī)A向計(jì)算機(jī)B發(fā)送信息時(shí),會(huì)在內(nèi)部建立起一條臨時(shí)性的數(shù)據(jù)傳輸通道,如果有多臺(tái)計(jì)算機(jī)同時(shí)通信,那么就會(huì)維護(hù)多條通道。那么可以看出交換機(jī)的每個(gè)端口就是一個(gè)沖突域,如果該端口只連接了一臺(tái)計(jì)算機(jī),那么就相當(dāng)于沒(méi)有沖突。
每臺(tái)計(jì)算機(jī)都有一個(gè)網(wǎng)卡適配器,每個(gè)網(wǎng)卡適配器都有一個(gè)MAC地址,該地址是全球唯一的。
當(dāng)計(jì)算機(jī)A向計(jì)算B發(fā)送幀時(shí),就會(huì)根據(jù)幀首部包含的目的主機(jī)MAC地址,將幀從合適的端口轉(zhuǎn)發(fā)出去。那么交換機(jī)怎么知道從哪個(gè)端口把幀轉(zhuǎn)發(fā)出去呢?
交換機(jī)會(huì)在內(nèi)部維護(hù)一個(gè)MAC地址表,其中包含了每個(gè)端口對(duì)應(yīng)的主機(jī)的MAC地址。交換機(jī)在轉(zhuǎn)發(fā)幀時(shí),就會(huì)查找該MAC地址表,然后將幀從合適的端口轉(zhuǎn)發(fā)出去。
那么交換機(jī)是如何得到這個(gè)MAC地址表的呢?
靜態(tài)MAC地址表:當(dāng)把一臺(tái)計(jì)算機(jī)連接上交換機(jī)時(shí),由管理員填寫該表,從而形成MAC地址表。
動(dòng)態(tài)MAC地址表:當(dāng)把一臺(tái)計(jì)算機(jī)B連接上交換機(jī)時(shí),什么事都不用做,當(dāng)有計(jì)算機(jī)A向計(jì)算機(jī)B發(fā)送幀時(shí),如果交換機(jī)不能夠在MAC地址表中找到幀首部的目的MAC地址對(duì)應(yīng)的是哪個(gè)端口,那么就會(huì)向所有的端口(除了發(fā)送幀的那個(gè)端口除外)發(fā)送該消息,然后只要計(jì)算機(jī)B回應(yīng)了幀,交換機(jī)就知道哪個(gè)端口連接了計(jì)算機(jī)B,那么交換機(jī)就會(huì)在MAC地址表中記錄下來(lái)。
路由器(Router) —— 工作在網(wǎng)絡(luò)層
前言——路由器轉(zhuǎn)發(fā)的消息叫做IP數(shù)據(jù)報(bào)。
交換機(jī)是工作在數(shù)據(jù)鏈路層的,也即交換機(jī)只能轉(zhuǎn)發(fā)局域網(wǎng)內(nèi)的幀。如果網(wǎng)絡(luò)A的主機(jī)想要發(fā)消息給網(wǎng)絡(luò)B的主機(jī)就需要路由器了。
如果網(wǎng)絡(luò)A的主機(jī)1想要想網(wǎng)絡(luò)B的主機(jī)2發(fā)送消息,那么主機(jī)1必須在IP數(shù)據(jù)報(bào)的首部加上源IP地址和目標(biāo)IP地址,那么路由器A會(huì)根據(jù)目標(biāo)IP地址將IP數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到路由器B。路由器B接收到該IP數(shù)據(jù)報(bào)后,會(huì)將該IP數(shù)據(jù)報(bào)封裝成幀,然后在幀的首部加上主機(jī)B的MAC地址作為目的地址,然后把該消息轉(zhuǎn)發(fā)給主機(jī)B,或者轉(zhuǎn)發(fā)給交換機(jī),由交換機(jī)轉(zhuǎn)發(fā)給主機(jī)B。
那么路由器A怎么知道把IP數(shù)據(jù)包從哪個(gè)端口送出去呢?路由器內(nèi)部維護(hù)了一張路由表,它知道把IP數(shù)據(jù)報(bào)從哪個(gè)端口發(fā)出去。這個(gè)就不詳細(xì)說(shuō)了,太復(fù)雜了。
那么路由器B怎么知道某個(gè)IP地址對(duì)應(yīng)了哪個(gè)主機(jī),且該主機(jī)的MAC地址是什么呢?
路由器內(nèi)部維護(hù)了一張arp表,即地址解析協(xié)議表,它知道哪個(gè)IP地址對(duì)應(yīng)了哪個(gè)MAC地址。
①如果arp表中存在該IP地址所對(duì)應(yīng)的表項(xiàng),那么根據(jù)該表項(xiàng),直接將IP數(shù)據(jù)包加上相應(yīng)的首部封裝成幀。
②如果arp表中不存在該IP地址所對(duì)應(yīng)的表項(xiàng),那么路由器發(fā)送一個(gè)廣播幀,將幀首部的目的MAC地址設(shè)為FFFFFFFFFFFF,交換機(jī)收到該幀后,發(fā)現(xiàn)其目的MAC地址是FFFFFFFFFFFF,就會(huì)將該幀從所有的端口(除了發(fā)送該幀的端口除外)轉(zhuǎn)發(fā)出去,當(dāng)計(jì)算機(jī)收到該幀后,就會(huì)把自己的IP地址和MAC地址都發(fā)送給路由器,這樣路由器就生成了arp表了。然后再根據(jù)該表轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào)。
注:計(jì)算機(jī)接收的幀只有兩種,①幀首部的目的MAC地址和自己的MAC地址一致;②幀首部的目的MAC地址是廣播地址FFFFFFFFFFFF。(這里不考慮組播的情況)。