1、互聯網的組成(教材版)
![150-互聯網的組成-拓撲結構.png?x-oss-process=style/watermark](http://static.javashuo.com/static/loading.gif)
互聯網的拓撲結構很是複雜 ,而且在地理位置上覆蓋了全球,從工做方式上看,能夠劃分爲兩大塊:android
- 邊緣部分:這部分由全部鏈接在互聯網上的主機組成。這部分是用戶直接使用的,用來進行通訊和資源共享。
- 核心部分:由大量網絡和鏈接這些網絡的路由器組成。這部分用來爲邊緣部分提供服務。
注意:上述分類過於正規,有興趣深刻的同窗能夠看大學計算機網絡的教材,請看咱們下述的科普版本。web
2、互聯網的組成(科普版)
說到互聯網你們都不陌生,利用互聯網打開電腦或手機看新聞、寫郵件、逛淘寶、聊微信、看抖音。現代人離開了手機離開了互聯網就好像和全世界斷了聯繫,好像已經做爲咱們身體的一部分了。數據庫
區塊鏈號稱是是下一代互聯網。那麼,到底什麼是互聯網?瀏覽器
做爲一個技術老兵,見證互聯網的發展,如下是我的對什麼是互聯網的理解:談互聯網主要就是談互聯網的組成,也就是說明互聯網的基礎設施的組成。緩存
互聯網的基礎設施很是龐大,包含硬件、軟件兩部分。下面咱們先來看下當你打開瀏覽器,輸入一個網址好比 <www.taobao.com> ,幾秒鐘就看到淘寶首頁。這個一個簡單的動做,整個互聯網到底發送了什麼?其實這是一個很是很是複雜的事情。下面是一個簡化的過程描述:服務器
- 瀏覽器檢查是否有緩存過域名對應IP地址
- 若是沒有緩存的域名對應的IP,請求域名服務器解析成對應的IP地址(這個過程也非複雜,暫省了)
- 瀏覽器創建Socket鏈接,根據http協議組裝get 類型的http header,經過tcp/ip協議發送報文。
- tcp/ip協議會經過網絡層網卡(wifi或網線)發射信號到家庭裏面的路由器,家裏的路由器發送信號到電訊廠商的交換機(中間可能會通過不少次的路由)找到目標服務器,服務器也許託管在IDC機房,也許在阿里雲VPS,也許在國外。
- 機房裏面會有大型交換機、機櫃、專業的精密空調,你要訪問的那臺IP的服務器就在其中某個機櫃中。
- 在服務器接收到信號後,會根據tcp/ip協議解出http協議頭。根據get的請求決定須要返回的數據
- 在服務器端實際上根據業務還有很複雜的邏輯;服務器後面還有許多臺服務器,到底指定那臺服務器來處理請求,須要負載均衡設備來完成
- 要返回的數據是在緩存裏面、仍是在靜態文件中、仍是在數據庫(如MySQL,Oracle)中
- 瀏覽器根據返回的數據,發現有一些靜態資源(如CSS,JS,圖片等)時有從新發起新的http請求,而這些靜態資源文件可能在CDN網絡中,請求靜態資源的整個過程需須要從第一步從新再走一遍,而且極可能中間通過的交換機,路由過程是不同的。
![150-互聯網和互聯網的組成-架構圖.png?x-oss-process=style/watermark](http://static.javashuo.com/static/loading.gif)
上面的過程是否是比你想象中的複雜呢?其實這只是很是很是簡化的過程。在上面的過程當中,也許你已經發現了一些名詞,好比網卡,路由器,交換機,又好比tcp/ip,域名,http。這些其實就是互聯網設施中的一部分,有些也許你據說過,有些也許沒有聽過。爲了方便理解,筆者把互聯網的組成分紅硬件、軟件兩類總結以下。微信
2.1 互聯網的硬件組成
硬件組成主要包括終端設備,主要是聯網的我的設備;組成家庭(企業)局域網、城域網、主幹網的網絡設備;提供內容服務的服務主機設備等。網絡
- 終端設備:電腦(pc,筆記本),移動設備(手機,pad),智能電視,智能家居
- 網絡設備:網卡,網線,水晶頭,路由器,家用交換機,防火牆設備,中繼器,橋接器
- 主機設備:IDC機房,機櫃,精密空調,負載均衡器,服務器,工做站,小型機、大型機
注意:應該沒有列全,想到後再補充架構
2.2 互聯網的軟件組成
互聯網的軟件很是多,不太好分類,大體分紅網絡協議類,操做系統類,平臺中間件類,應用類。
- 網絡協議類,好比互聯網的基礎協議tcp/ip協議
- 操做系統類,好比window,linux,macOS,android,iOS
- 平臺中間件類:好比webServer,Nginx,Apache,Tomcat,MySQL等
- 應用類:好比瀏覽器,微信,郵箱,遊戲等等。
注意:上述四種分類,上三種都是基於協議開發的應用程序,也就說做爲開發的咱們要想開發上三種應用程序,則必須得了解互聯網的基礎協議。
![150-互聯網與互聯網的組成-經常使用協議.jpg?x-oss-process=style/watermark](http://static.javashuo.com/static/loading.gif)