日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门

發布時間:2025/3/8 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、前言


即時通訊網整理了大量的網絡編程類基礎文章和資料,包括《TCP/IP協議 卷1》、《[通俗易懂]深入理解TCP協議》系列、《網絡編程懶人入門》系列、《不為人知的網絡編程》系列、《P2P技術詳解》系列、《高性能網絡編程》系列、甚至還有圖文并貌+實戰代碼的《NIO框架入門》等,目的是幫助即時通訊類應用的開發者,至少要掌握網絡編程最基本的原理,所謂知其然更要知其所以然。尤其現在移動網絡大行其道的時代,在網絡環境如此復雜的情況下,能寫好一套技術精湛、用戶體驗等俱佳的IM或消息推送系統,顯然不是隨便用用Netty、MINA、AFNetwoking、okhttp等服務端和客戶端框架就能搞定的事。總之,即時通訊技術歸根結底還是網絡編程技術的應用,只有更深入地了解了網絡編程及其相關知識,才能更好地寫出優質的應用。

實際上計算機網絡編程或者網絡通信技術最基本的物理載體,就是集線器、交換機、路由器這些基本設備,了解這些基本設備的工作原理,對于程序員來說是基本素養,總不能什么事都甩鍋給網管,何況中小公司根本就沒有條件配備專職網管,還是得程序員親自動手。但技多不壓身,何況這些設備和技術總比那些毫無技術含量的插刪改查代碼擼起來有意思。話不多說,回歸正題吧。

本文旨在簡單地說明集線器、交換機與路由器的區別,因而忽略了很多細節,三者實際的發展過程和工作原理并非文中所寫的這么簡單。如果你看完本文能大概了解到三者的異同,本文的目的就達到了。至于更具體的技術問題,歡迎在留言中探討。

另外,如果您正打算從零開發移動端IM,則建議您從《新手入門一篇就夠:從零開發移動端IM》一文開始,此文按照IM開發所需的知識和技能要求,擬定了詳盡的學習提綱和建議等。

2、系列文章


本文是系列文章中的第6篇,本系列文章的大綱如下:

  • 《網絡編程懶人入門(二):快速理解網絡通信協議(下篇)》
  • 《網絡編程懶人入門(三):快速理解TCP協議一篇就夠》

3、帝國時代


我相信我們都玩過一款特別火的游戲:帝國時代。小時候想要玩帝國時代,需要到軟件城購買盜版光盤安裝,大概3塊錢一張左右的樣子,當時已經覺得很便宜了,誰想到現在有了網絡之后是免費。

小A是一個帝國時代大神,他打通了游戲的所有關卡,可以一個人單挑8個瘋狂的電腦玩家。漸漸地他覺得無聊了,想要找小伙伴一起PK。

但是兩個電腦需要互聯才行,如何實現兩臺設備的互聯呢?

小A很聰明,他發明了一個類似于USB口一樣的可以傳輸數據的端口,他將其命名為網口。小A通過一根網線將自己的電腦與小B的網口相連,實現了兩臺電腦間的互連(如下圖)。

?

4、集線器(Hub)


兩個小伙伴很開心,聯機玩了起來,這時被路過的小C看見了,小C也要加入進來。

但是我們知道,每臺電腦只有一個網口,無法實現三臺電腦的相互連接,那要要怎么辦呢?

這時候小B出了一個主意:咱們再找一臺計算機,給他多設計幾個網口,我們每個人都連到這臺計算機的網口上,不也實現咱們哥幾個之間的互連了嗎。

說干就干,于是他們設計出了一款微型計算機,他本身具備多個網口,專門實現多臺計算機的互聯作用,這個微型計算機就是集線器(HUB)。

顧名思義,集線器起到了一個將網線集結起來的作用,實現最初級的網絡互通。

集線器是通過網線直接傳送數據的,我們說他工作在物理層(如下圖所示)。

5、交換機


有了集線器后,越來越多的小伙伴加入到游戲中,小D、小E等人都慕名而來。

然而集線器有一個問題,由于和每臺設備相連,他不能分辨出具體信息是發送給誰的,只能廣泛地廣播出去。

例如小A本來想問小C:你吃了嗎?結果小B,小D和小E等所有連接在集線器上的用戶都收到了這一信息。?

由于處于同一網絡,小A說話時其他人不能發言,否則信息間會產生碰撞,引發錯誤,對這種情況,我們稱為各設備處于同一沖突域內。

這樣的設備用戶體驗極差,于是小伙伴們一起討論改進措施。

這時聰明的小D發話了:我們給這臺設備加入一個指令,讓他可以根據網口名稱自動尋址傳輸數據。

比如我把小A的網口命名為macA,將小C的命名為macC,這時如果小A想要將數據傳給小C,則設備會根據網口名稱macA和macC自動將資料從A的電腦傳送到C的電腦中,而不讓小B、小D和小E收到。

補充說明:?這里的macA, macB指的就是MAC地址,相當于一個人的身份證,獨一無二。

也就是說,這臺設備解決了沖突的問題,實現了任意兩臺電腦間的互聯,大大地提升了網絡間的傳輸速度,我們把它叫做交換機

由于交換機是根據網口地址傳送信息,比網線直接傳送多了一個步驟,我們也說交換機工作在數據鏈路層(如下圖)。

這回小伙伴們高興了,他們愉快地玩耍起來。

6、路由器


漸漸地,他們在當地有了名氣,吸引了越來越多的小伙伴加入到他們的隊伍中。有一天,一個外村的小伙突然找上門來,希望能和他們一起互聯,實現跨村間的網絡對戰。

小A說可以呀,于是他們找了一根超長的網線將兩個村落的交換機連在了一起。結果發現一件奇怪的事:兩個村落間竟然不能相互通信。

怎么回事?原來那邊的電腦和他們用的不是一套操作系統,這導致信息間的傳送形式的不匹配。在這期間,還有其他村落的人也來找過小A,可是小A發現,每個村子之間用的操作系統都不一樣。

這可咋辦吶?難道以后只能各自村子玩各自的了嗎?為了解決這一問題,各村的小伙伴們坐在一起組織了一場會議,最終得出了一套解決方案:采用同樣的信息傳送形式(像不像秦始皇統一度量衡?)。

那如何實現呢?小伙伴們規定,不同的村子間先在各自的操作系統上加上一套相同的協議。不同村落通信時,信息經協議加工成統一形式,再經由一個特殊的設備傳送出去。這個設備就叫做路由器。

在這套協議中,每個機器都被賦予了一個IP地址,相當于一個門牌號一樣。路由器通過IP地址尋址,我們說它工作在計算機的網絡層。

這樣,經由如此的一系列改裝,小A終于帶領村民們實現了整個鄉鎮的通信。隨著越來越多的城里人也加入小A的協議,小A帶領村民逐步實現了全市、全國乃至全世界的通信。這一套協議便是TCP/IP協議簇,互聯網也便這樣形成了(關于TCP/IP改變世界的故事,詳見《技術往事:改變世界的TCP/IP協議(珍貴多圖、手機慎點)》

然而,即便如今全網絡已遍布了全世界,在小A和村里的小伙伴對戰帝國時代的時候,也仍然用著交換機。只有和外面更大的世界交流的時候才用到路由器。

其實上圖只是為了幫助您更好地理解路由器,一個真實的網絡拓撲中,路由器、交換機、集線器是一起分工合作的,正如下圖所示:

(如上圖所示:Router即路由器、Switch即交換機、Hub即集線器)

網易云信,你身邊的即時通訊和音視頻技術專家,了解我們,請戳網易云信官網

想要行業洞察和技術干貨,請關注網易云信博客

本文轉載自52im,作者:JackJiang

?

總結

以上是生活随笔為你收集整理的网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。