故事就從一個車轱轆說起吧。先來看一個車轱轆,。
輻條從車轱轆邊緣,,一直匯聚到 中心的軸,這個軸在英文里叫hub,。
而我們今天要講到的集線器,,英文里也叫hub。
都叫hub,,多少有點關系,,看下這面這個圖大概能明白,其實兩者有點像,。
hub的由來
大概想表達的意思是,,它是匯聚網(wǎng)線的中心,因此就叫集線器,。
所以可以理解,,大家常逛的 Github,Docker Hub, 還有P**hub ,,都是為了表達它們是某類資源的中心了吧,。
那么集線器是什么呢?那就要從電腦是怎么互聯(lián)的這個話題說起,。
小學的時候,,有一種網(wǎng)吧,它其實是不能上外網(wǎng)的,。也就是不能打開度娘,,不能搜索資料。
不能上網(wǎng)的網(wǎng)吧還能叫網(wǎng)吧,?
能,。雖然不能上外網(wǎng),但網(wǎng)吧老板可以把很多臺機子連起來,,實現(xiàn)網(wǎng)吧內(nèi)互聯(lián),,形成一個局域網(wǎng)(Local Area Network,,簡稱LAN)。
網(wǎng)吧內(nèi)互聯(lián)之后,,就可以放上各種游戲,,比如CS,實現(xiàn)網(wǎng)吧內(nèi)對線,。
這種網(wǎng)吧有種好處,,沒有那么多鍵盤俠。
畢竟你不知道什么時候鍵著鍵著,,對方就順著網(wǎng)線找過來了,。
對戰(zhàn)直接從線上轉(zhuǎn)移到線下了。
因此大家打游戲都很和諧,,客氣,,場面十分感人就是了。
那么網(wǎng)吧內(nèi)的電腦是怎么互聯(lián)呢,?
一根網(wǎng)線互聯(lián)電腦
從最簡單的場景說起,,假設網(wǎng)吧內(nèi)只有兩臺電腦
兩臺電腦互聯(lián)
隨便連根網(wǎng)線就能實現(xiàn)互聯(lián)嗎?
當然不是,。
還記得網(wǎng)絡分層嗎?
數(shù)據(jù)如果要進行傳輸,,會從A電腦經(jīng)過這些網(wǎng)絡分層把消息組裝好,再到B電腦層層解包,。
網(wǎng)線,,只是代替了上面的灰色部分,實現(xiàn)物理層上互聯(lián),。
如果想要兩臺電腦互聯(lián)成功,,還需要確保每一層所需要的步驟都要做到位,這樣數(shù)據(jù)才能確保正確投送并返回,。
我們自頂向下,,從細節(jié)開始說一下實現(xiàn)互聯(lián)需要做什么。
應用層
該層的網(wǎng)絡功能由應用本身保證,。
假設兩臺電腦是打算用游戲進行聯(lián)網(wǎng),,那么該應用層的功能由游戲程序保證。
傳輸層
絕大部分游戲用的傳輸層協(xié)議都是TCP,,我們可以看下TCP報頭,。
這里面我們需要關注的是源和目的端口,這個可以定位到這臺電腦上哪個進程在收發(fā)數(shù)據(jù),。
這兩個端口信息一般是游戲內(nèi)部已經(jīng)填好,。
AB兩臺電腦,其中一臺作為服務端啟動,,比如A,,起了個服務器進程,。
服務器會開放一個固定的端口,比如27015,。這就是目的端口,。
這時候A和B都可以搜索到這個服務器。啟動一個客戶端進程,,連接進入A的服務器進程,。
而源端口,則由A和B自己生成,。
網(wǎng)絡層
上圖除了端口,,我們還看到一個192.168.0.105,這個就是A的IP地址,。
我們看一下IP層的報文頭。
這里面需要關注是源和目的IP地址,。
如果兩臺電腦想通過一根網(wǎng)線進行消息通信,,那么他們需要在一個局域網(wǎng)內(nèi)。
這意味著,,他們的子網(wǎng)掩碼需要一致,。局域網(wǎng)內(nèi),假設子網(wǎng)掩碼是 225.225.225.0,,會認為 192.168.0.x 這些IP都屬于一個局域網(wǎng),。所以當A的IP地址是192.168.0.105 時,那么B的IP地址可以配成192.168.0.106 ,。
關于IP這一塊是啥,,后面會細講,大家如果沒明白我說的是啥,,不要急,。
組裝好網(wǎng)絡層報頭后,數(shù)據(jù)包傳入到數(shù)據(jù)鏈路據(jù)層,。
數(shù)據(jù)鏈路層
以上解決了網(wǎng)絡層的互聯(lián),,而在數(shù)據(jù)鏈路層,數(shù)據(jù)包里需要拼接上MAC報頭,。先看下MAC報頭長什么樣子,。
其中需要關心的是標紅的源和目的MAC地址。MAC地址可以粗略理解是這臺電腦網(wǎng)卡的唯一標識,。大概長這樣
28:f9:d3:62:7d:31
源和目的地址,,在發(fā)送消息的時候就會被填上。
但是A只知道自己的MAC地址,,怎么才能知道B的MAC地址呢,?
這時候需要ARP協(xié)議,。
ARP(Address Resolution Protocal),即地址解析協(xié)議,。用于將IP地址解析為以太網(wǎng)的MAC地址的協(xié)議,。
在局域網(wǎng)中,當主機A有數(shù)據(jù)要發(fā)送給主機B時,,A必須知道B的IP地址,。
但是僅僅有IP地址還是不夠的,因為IP數(shù)據(jù)報文還需要在數(shù)據(jù)鏈路層封裝成幀才能通過物理網(wǎng)絡發(fā)送,。因為發(fā)送端還必須有接收端的MAC地址,,所以需要一個從IP地址到MAC地址的映射。ARP就是干這事情的協(xié)議,。
A查本地ARP表發(fā)現(xiàn)B的IP和MAC映射關系不存在
A通過ARP廣播的形式向局域網(wǎng)發(fā)出消息,,詢問某IP對應的MAC地址是多少。比如A此時知道B的IP,,但并不知道B的MAC地址是多少,,就會嘗試在局域網(wǎng)內(nèi)發(fā)起ARP廣播,詢問局域網(wǎng)下所有機器,,哪個機器的IP與B的IP一致,。
B收到這個ARP消息,發(fā)現(xiàn)A要問的IP與自己的IP一致,,就會把自己的MAC地址作為應答返回給A,。
此時A就知道了B的MAC地址,順便把消息記錄到本地ARP表里,,下次直接用表里的關系就行,,不需要每次都去問。
物理層
從數(shù)據(jù)鏈路層到物理層,,數(shù)據(jù)會被轉(zhuǎn)為01比特流,。
此時需要把比特流傳到另一臺電腦。
通過一根網(wǎng)線,,兩段水晶頭插入網(wǎng)口,,把兩臺電腦連起來。
但對網(wǎng)線有一些要求,。
這根網(wǎng)線兩端的水晶頭需要采用交叉互聯(lián)法,。
水晶頭里有8根線,注意上圖里的顏色,,是有順序的,。第1、2根線起著收信號的作用,而第3,、6腳發(fā)信號的作用,。將一端的1號和3號線、2號和6號線互換一下位置,,就能夠在物理層實現(xiàn)一端發(fā)送的信號,,另一端能收到。
當然,,現(xiàn)在有些網(wǎng)卡有自適應的功能,,就算是直連互聯(lián)法的線,也能有交叉互聯(lián)法的效果,。如果你用的是這種網(wǎng)卡,,就當我物理層這塊什么都沒說吧。
互聯(lián)
此時,,在確保關閉防火墻的前提下,,可以嘗試從A電腦中ping一下B,再從B電腦中ping一下A,。如無意外,,都能ping通。
A給B發(fā)個消息,,從應用層到數(shù)據(jù)鏈路層,會分別加上A和B的各種''身份信息",。比如在傳輸層會加上A和B的應用端口號,,在網(wǎng)絡層加上源和目的IP,在數(shù)據(jù)鏈路層會加上源和目的網(wǎng)卡的MAC頭部信息,。
B收到消息后逐層解包,,驗證,最后順利到達應用層,。實現(xiàn)AB兩臺機器消息互通,。
至此游戲就能正常聯(lián)機對線,兩臺電腦互聯(lián)成功,!
什么是集線器
兩個人打cs,,總會覺得無聊,但是每臺電腦又只有一個網(wǎng)線口,。
想要邀請更多的人一起玩,,怎么辦?
那就要回到文章開頭提到的集線器(hub)了,。
這是個工作在物理層的設備,。
有多個網(wǎng)口,很好的解決了電腦上只有一個網(wǎng)口的問題,,可以做到多臺電腦的網(wǎng)線都插入到集線器上,。
同時工作原理也非常簡單,,會把某個端口收到的數(shù)據(jù),輸入到中繼電路,。
中繼電路的基本功能是將輸入的信號廣播到集線器的所有端口上,。
簡單來說就是無腦復制N份到其余N個端口上。
數(shù)據(jù)復制到N個端口后,。對應轉(zhuǎn)發(fā)到N臺機器里,。
集線器內(nèi)部結構
說到這里,已經(jīng)對集線器有個大概認識了,。
接下來,,我們看下集線器的內(nèi)部結構。
從A網(wǎng)口進入集線器的消息,,此時還是電信號,。這里經(jīng)過一個PHY模塊。
要理解PHY模塊的作用,,首先要先了解每個網(wǎng)口,,都可能接著網(wǎng)線(廢話),而每根網(wǎng)線的傳輸?shù)母袷蕉际怯锌赡懿煌?。而PHY的作用,,就是把這些格式轉(zhuǎn)化為一個通用的格式。
舉個例子,。PHY就好比一個翻譯器,,有的人說英文,有的人說日文,。但是PHY,,會把它統(tǒng)一轉(zhuǎn)為普通話,給內(nèi)部電路處理,。內(nèi)部電路處理完之后,,再經(jīng)過PHY模塊,轉(zhuǎn)為英語,,或日文從對應網(wǎng)口里輸出,。
經(jīng)過PHY的處理后,以電信號的形式輸入到中繼電路,,被無腦廣播,,再次經(jīng)過PHY模塊后變成BCD網(wǎng)口的格式輸出。
這里面的電信號,,是會受噪聲干擾,,導致信號形變出錯的。
但就算是錯了,也還是會原封不動的廣播出去,,這就是上面提到無腦的精髓所在,。
那信號如果出錯了怎么辦?
只能讓接收方收到消息后進行校驗,。
還記得上文里提到的數(shù)據(jù)鏈路層的MAC報頭里最末尾有個FCS嗎,?
FCS里存放的是發(fā)送方通過循環(huán)冗余校驗CRC計算得到的值。
接收方用收到的數(shù)據(jù)算一次CRC,,與FCS里的值進行對比,。
如果一致,那證明數(shù)據(jù)沒問題,。如果出錯,,則直接丟棄。
當然,,丟棄包并不會影響數(shù)據(jù)的傳輸,, 因為丟棄的包不會觸發(fā)確認響應。因此協(xié)議棧的 TCP 模塊會檢測到丟包,, 并對該包進行重傳,。
如果消息沒出錯,但是因為無腦廣播,,C也能收到A發(fā)給B的數(shù)據(jù)包,。
此時 C 會在接受到數(shù)據(jù)包后一層層的"剝開"。
正常情況下,,在數(shù)據(jù)鏈路層時,,識別到目的 MAC 地址跟 C 的不一致時,也會把數(shù)據(jù)丟棄,。
什么是交換機
目前只有 ABC 三臺機器,,每次都是廣播發(fā)消息倒還好,。
如果機器越來越多,,每臺機器發(fā)一條消息,都會被廣播,,就有點頂不住了,。
舉個例子。
假設N臺機器,,其中兩臺機器A和B,,A發(fā)到B和B發(fā)給A,共兩條消息,。
如果這N臺機器,,用的是集線器。還是AB之間互發(fā)消息,每條消息都是廣播的話,,就是(N-1)+(N-1)條消息,,差距有些大,對網(wǎng)絡資源浪費就有些嚴重了,。
那么,,有沒有可能做到,A發(fā)給B的消息,,就不要轉(zhuǎn)發(fā)給C呢,?
可以的,把集線器換成交換機,。
交換機,,又叫switch,跟集線器長得很像,。
但是功能更強一些,,從網(wǎng)絡分層上來說,屬于數(shù)據(jù)鏈路層,,比集線器所在的物理層還要高一層,。
所有發(fā)到交換機的數(shù)據(jù),都會先進入交換機的緩存區(qū),。接著消息再被轉(zhuǎn)發(fā)到對應機器上,。
注意這里用的是轉(zhuǎn)發(fā),而不是集線器的廣播,,交換機是怎么做到轉(zhuǎn)發(fā)的呢,?
MAC地址表
交換機內(nèi)部維護了一張MAC地址表。
記錄了 端口號和MAC地址的對應關系,。
這個表的數(shù)據(jù)是交換機不斷學習的結果,。
當A發(fā)消息到交換機時,交換機發(fā)現(xiàn)消息是從1號端口進來的,,則會在MAC地址表上,,記錄A的MAC地址對應1號端口。
如果A沒有很長時間沒發(fā)消息到這個1號端口,,那這條記錄就會過期并被刪除,。
那么,當時間足夠長,,ABC 都發(fā)過消息給交換機后,,地址表就會有完整的關系信息。
A準備發(fā)送消息給B,,此時A會把B的MAC地址,,放入要發(fā)送的數(shù)據(jù)里,。數(shù)據(jù)順著網(wǎng)線發(fā)出。
交換機從端口收到數(shù)據(jù),,會把數(shù)據(jù)里的源和目的MAC地址提出來,,跟MAC地址表進行對比。
發(fā)現(xiàn)B的MAC地址正好在2號端口,,那么就把數(shù)據(jù)轉(zhuǎn)發(fā)給2號端口,。
此時B電腦從網(wǎng)線收到來自交換機2號端口的數(shù)據(jù)。
兩種特殊情況
正常流程很清楚了,,看兩個特殊情況:
交換機查詢地址表時,,發(fā)現(xiàn)目的 MAC 地址的目標端口和這個包的源端口,是同一個端口,,怎么辦,?
先說結論,會直接丟棄這個包,。
我們看下,,假設它不丟棄,會發(fā)生什么情況,。
A發(fā)了個消息給B,,中間經(jīng)過一個集線器,此時消息會被廣播到B和交換機,。
此時B收到第一條A發(fā)給它的消息
交換機從1號端口收到A的消息后,,解包,獲得目的MAC地址是BB-BB-BB-BB-BB-BB,。查MAC地址表,,發(fā)現(xiàn)要發(fā)到1號端口。此時,,源和目的端口都是同一個,,如果交換機不丟棄這個消息,B會收到第二條A發(fā)給它的消息,。
A只發(fā)了一次消息,,B卻收到兩條消息,明顯不對,。
因此,,當交換機查詢地址表時,,發(fā)現(xiàn)目標端口和源端口,,是同一個端口時,會丟棄這個包,。
MAC地址表里找不到對應的MAC地址,,怎么辦,?
這可能是因為具有該地址的設備,還沒有向交換機發(fā)送過包,,或者這個設備一段時間沒有工作,,導致地址被從地址表中刪除了。
這種情況下,,交換機無法判斷應該把包轉(zhuǎn)發(fā)到哪個端口,,只能將包轉(zhuǎn)發(fā)到除了源端口之外的所有端口上,無論該設備連接在哪個端口上,,都能收到這個包,。
此時,交換機就會跟集線器一樣進行廣播,。
發(fā)送了包之后目標設備會作出響應,,只要返回了響應包,交換機就可以將它的地址寫入地址表,,下次也就不需要把包 發(fā)到所有端口了,。
交換機內(nèi)部結構
再看下交換機內(nèi)部結構。
其實對比可以發(fā)現(xiàn),,交換機和集線器內(nèi)部結構很像,。
重點需要提到的是MAC模塊。消息以電信號的形式從網(wǎng)口進入,,到了PHY會被轉(zhuǎn)成通用格式的電信號,。而MAC模塊的作用是把這個電信號轉(zhuǎn)為數(shù)字信號,這樣就能提取出MAC包頭,,并通過MAC數(shù)據(jù)幀末尾的FCS校驗這個包有沒有問題,,如果沒問題,則把數(shù)據(jù)放到內(nèi)存緩沖區(qū)里,,否則直接丟棄,。
另外,這個MAC模塊,,雖然這么叫,。但其實交換機MAC模塊不具有 MAC 地址。因此交換機的端口不核對接收方 MAC 地址,,而是直接接收所有的包并存放到緩沖區(qū)中,。
放入到內(nèi)存緩沖區(qū)后,還會把MAC地址和端口號記錄到MAC地址表中,。同時檢查目的MAC地址在不在MAC地址表中,,在的話則會轉(zhuǎn)發(fā)到對應端口。否則廣播,。
交換機與網(wǎng)橋的區(qū)別
網(wǎng)橋,,本質(zhì)上可以理解為兩個網(wǎng)線口的交換機,,正好可以把兩臺電腦給連起來,也叫橋接,。而交換機,,則是多網(wǎng)線口的網(wǎng)橋,可以把多臺電腦給連(橋接)起來,。
其他功能方面,,大差不差,不必太過糾結,。
交換機和二層交換機和三層交換機有什么區(qū)別
這一部分提到的交換機,,其實就是二層交換機,也就是工作在第二層(數(shù)據(jù)鏈路層)的交換機,,二者沒區(qū)別,。
而三層交換機,是工作在第三層(網(wǎng)絡層)的交換機,,其實就是接下來要提到的路由器,。
什么是路由器
有了交換機之后,小網(wǎng)吧里的電腦就都可以被連起來了,。交換機網(wǎng)口不夠,?那就再接個交換機。
但世界上電腦這么多,,交換機里的MAC地址表難道全都要記住嗎?
顯然做不到,。為了解決這個問題。
于是就有了路由器,,工作在網(wǎng)絡層,,比數(shù)據(jù)鏈路層更高一層。
網(wǎng)絡層引入了IP的概念,。
什么是IP
比如前面提到的 192.168.0.105 就是一個IP,,同一個局域網(wǎng)內(nèi)還可能會有一個IP是192.168.0.106。有沒有發(fā)現(xiàn),,它們都是192.168.0.xxx,。
像極了 上海市.黃浦區(qū).南京東路.105號,這樣的地址?,F(xiàn)實生活中,,我們可以通過一個地址定位到要去哪。到了 上海市.黃浦區(qū).南京東路.105號樓里,,我們就可以再去找某個叫身份證為xiaobaixxxxx的人,。
那互聯(lián)網(wǎng)世界里,我們也就可以通過IP地址,,定位到某個廣域網(wǎng)段,,再通過廣域網(wǎng)內(nèi)部的局域網(wǎng)的MAC地址定位到具體某個電腦。
上海市.黃浦區(qū).南京東路.105號可以幫助我們定位到在南京東路上的第105號樓的位置,。但還有些路,,比如南京西路,可能不止105號,,可能要到257號,。
實際上一個IP由網(wǎng)絡號和主機號組成,共32位組成,。如果拿了前面24位做網(wǎng)絡號,,那主機號就剩8位了,2的8次方=256,,最多表示表示256號樓,。因此為了多表示幾個樓,可以向網(wǎng)絡號多挪幾位過來作為主機號,。
那么具體多少位作為網(wǎng)絡號呢,?可以在IP后面加一個數(shù)字,用來表明這一點,。
于是就有了 192.168.0.105/24這種表示方法,,表明前24位192.168.0.0是網(wǎng)絡號,105是主機號,。
有了網(wǎng)段,,就可以一次性表示一大批地址。就不需要像交換機那樣苦哈哈的一條一條MAC地址記錄在表里,。
路由表
路由器的作用,,可以幫助我們在互聯(lián)網(wǎng)世界里轉(zhuǎn)發(fā)消息到對應的IP。
對比一下,。
交換機,,是通過 MAC 頭部中,接收方 MAC 地址,,來判斷轉(zhuǎn)發(fā)目標的,。
路由器,則是根據(jù) IP 頭部中,, IP 地址來判斷的,。
由于使用的地址不同,記錄轉(zhuǎn)發(fā)信息的表也會不同,。
類似交換機的MAC地址表,,路由器也維護了一張路由表。
而路由表,,是用于告訴路由器,,什么樣的消息該轉(zhuǎn)發(fā)到什么端口,。
假設A要發(fā)消息到D。也就是192.168.0.105/24要發(fā)消息到192.168.1.11/24,。
那么A會把消息經(jīng)過交換機發(fā)到路由器,。
路由器通過192.168.0.105/24獲得其網(wǎng)絡號是 192.168.0.0 ,而目的地的網(wǎng)絡號是192.168.1.0,,二者網(wǎng)絡號不同,,處于不同局域網(wǎng)。
查路由表,,發(fā)現(xiàn)192.168.1.0,在e2端口,,那么就會把消息從e2端口發(fā)出,到達交換機,,交換機發(fā)現(xiàn)MAC地址是它局域網(wǎng)下的D機器,,就把消息打過去。
當然,,如果路由表里找不到,,那就打到默認網(wǎng)關吧,也就是從e1口發(fā)出,,發(fā)到IP192.0.2.1,。這個路由器的路由表不知道該去哪,說不定其他路由器知道,。
路由器的內(nèi)部結構
路由器內(nèi)部,,分為控制平面和數(shù)據(jù)平面,說白了就是對應軟件部分和硬件部分,。
硬件部分跟交換機很像,。數(shù)據(jù)從A網(wǎng)口進入,此時數(shù)據(jù)還是網(wǎng)線上格式的電信號,,會被PHY模塊轉(zhuǎn)為通用信號格式,,再被MAC模塊轉(zhuǎn)為數(shù)字信號,通過FCS進行錯誤校驗,,同時校驗MAC地址是否是自己,,通過校驗則進入內(nèi)存緩沖區(qū),否則丟棄,。
再進入軟件部分,,由路由選擇處理器,通過一定規(guī)則(軟件邏輯),,查詢路由表判斷轉(zhuǎn)發(fā)目標和對應轉(zhuǎn)發(fā)口,,再經(jīng)由硬件部分的交換結構轉(zhuǎn)發(fā)出去。
如果路由表中無法找到匹配記錄,路由器會丟棄這個包,,并通過ICMP消息告知發(fā)送方,。
路由器和交換機的主要區(qū)別
MAC模塊的區(qū)別
路由器和交換機不同點在于,它的每個網(wǎng)口下,,都有一個MAC地址和IP地址,。
正因為路由器具有 MAC 地址,因此它能夠成為數(shù)據(jù)鏈路層的的發(fā)送方和接收方,。
怎么理解這句話,?
前面提到交換機,,是不具備MAC地址的,,而MAC報頭是需要填上目的MAC地址的。因此交換機從來都不是數(shù)據(jù)的目的地,,它只簡單轉(zhuǎn)發(fā)數(shù)據(jù)幀到目的地,。
但路由器,是有MAC地址的,,因此MAC報頭就可以寫上,,下一站目的地就是xx路由。
到了路由器后,,路由器可以再次組裝下一站的目的MAC地址是再下一個路由,,通過這一點,讓數(shù)據(jù)在路由和路由之間傳輸,。
而同時因為交換機不具有MAC地址,,因此也不會校驗收到的數(shù)據(jù)幀的MAC地址是不是自己的,全部收下做轉(zhuǎn)發(fā),。而路由器則會校驗數(shù)據(jù)幀的MAC報頭里的目的MAC地址是不是自己,,是的話才會收入內(nèi)存緩沖區(qū),否則丟棄,。
找不到轉(zhuǎn)發(fā)目的地時的處理方式有區(qū)別
如果在路由表中無法找到匹配的記錄,,路由器會丟棄這個包,并通過 ICMP消息告知發(fā)送方,。
而交換機在MAC地址表里找不到轉(zhuǎn)發(fā)端口時會選擇廣播,。
這里的處理方式兩者是不同的,原因在于網(wǎng)絡規(guī)模的大小,。
交換機連接的網(wǎng)絡最多也就是幾千臺設備的規(guī)模,,這個規(guī)模并 不大。如果只有幾千臺設備,,遇到不知道應該轉(zhuǎn)發(fā)到哪里的包,,交換機可以將包發(fā)送到所有的端口上,雖然這個方法很簡單粗暴,但不會引發(fā)什么 問題,。
但路由器工作的網(wǎng)絡環(huán)境就是互聯(lián)網(wǎng),,全世界所有的設備都連接在互聯(lián)網(wǎng)上,規(guī)模非常大,,并且這個規(guī)模還在持續(xù)擴大中,。如果此時它的操作跟交換機一樣,將不知道應該轉(zhuǎn)發(fā)到哪里的包發(fā)送到整個網(wǎng)絡上,,那就會產(chǎn)生大量的網(wǎng)絡包,,造成網(wǎng)絡擁塞。因此,,路由器遇到不知道該轉(zhuǎn)發(fā)到哪里的包,, 就會直接丟棄。
路由器和光貓有什么區(qū)別
不管是交換機還是路由器,,前面都是提到網(wǎng)口輸入的是電信號,。但現(xiàn)在流行的是光纖傳輸,傳輸?shù)氖枪庑盘枴?/p>
而光貓(modem),,是一種調(diào)制解調(diào)器,,其實就是用于光電信號轉(zhuǎn)換的設備。
接收數(shù)據(jù)時,,可以將光纖里的光信號轉(zhuǎn)化為電信號,,發(fā)給路由器,路由器內(nèi)部再轉(zhuǎn)成數(shù)字信號,,并在此基礎上做各種處理,。
相反,也會把路由器傳來的電信號轉(zhuǎn)為光信號,,發(fā)到光纖,,并進入互聯(lián)網(wǎng)。
總結
兩臺電腦可以通過一根網(wǎng)線直接連接,,進行通信,。
機器一多,可以把網(wǎng)線都接到集線器(物理層)上,,但是集線器會不管三七二十一進行廣播,。
不想廣播,可以用(二層)交換機(數(shù)據(jù)鏈路層),,又叫多端口網(wǎng)橋,,它比較聰明,會自我學習生產(chǎn)MAC地址表,,知道消息發(fā)到哪,,那就不需要廣播啦
互聯(lián)網(wǎng)電腦這么多,交換機MAC地址表總不能全放下吧。改用路由器(網(wǎng)絡層),,也叫三層交換機,,通過網(wǎng)段的方式定位要把消息轉(zhuǎn)發(fā)到哪,就不需要像交換機那樣苦哈哈一條條記錄MAC地址啦,。
路由器和光貓之間是好搭檔,,光貓負責把光纖里的光信號轉(zhuǎn)換成電信號給路由器。
現(xiàn)在一般情況下,,家里已經(jīng)不用集線器和交換機了,,大部分路由器也支持交換機的功能。所以可以看到,,家里的臺式機電腦一般就連到一個路由器,,再連個光貓就夠能快樂上網(wǎng)了。
最后
以前整個班的同學家里都不見得有一臺電腦,,都喜歡偷偷跑去網(wǎng)吧玩電腦,。改革開放的春風,,把電腦吹進了每家每戶,,也把網(wǎng)吧給吹成了網(wǎng)咖。
從前的我晚上偷偷上網(wǎng),,現(xiàn)在的我,,接到報警,也能在大半夜爬起來網(wǎng)上沖浪,。
沒想到我以這種方式保持了當初最純粹的質(zhì)樸,。
更多信息可以來這里獲取==>>電子技術應用-AET<<
電子技術應用專欄作家 一口linux
原文鏈接:https://mp.weixin.qq.com/s/t7vomHGTMJ179XTmuJjDqQ