什么是因特网?
Hello,我是 Alex 007,一個熱愛計算機編程和硬件設計的小白,為啥是007呢?因為叫 Alex 的人太多了,再加上每天007的生活,Alex 007就誕生了。
這篇文章給出因特網的兩種描述方法:一種是根據它的硬件和軟件組件來描述,另一種是根據基礎設施向分布式應用程序提供的服務來描述。
什么是因特網?
什么是因特網?
可以說因特網無疑是有史以來由人類創造、精心設計的最大系統,系統中擁有數有億計的計算機、平板電腦和智能手機,如此巨大并且擁有眾多用戶的因特網,到底是個什么東西?
回答這個問題,要從兩個方面進行,其一,描述因特網的基本硬件和軟件組成;其二,描述因特網中為分布式應用提供服務的聯網基礎設施。
我們來看一張圖:
可能你不知道什么是ISP,所謂的ISP其實就是因特網服務提供商(Internet Service Provider, ISP),向廣大用戶綜合提供互聯網接入業務、信息業務、和增值業務的運營商。
說到這里你可能已經猜到了,我國有十大ISP服務商:
| 電信 | 中國電信(CHINANET),撥號上網、ADSL、1X、CDMA1X,EVDO rev.A、FTTx |
| 網通 | 中國網通公用互聯網(CNCNET,包括金橋網CHINAGBN) |
| 移動 | 中國移動(CMNET),GPRS及EDGE無線上網、TD-SCDMA無線上網,一少部分FTTx |
| 聯通 | 中國聯通(UNINET),GPRS,W-CDMA無線上網、 撥號上網、ADSL、FTTx |
| 鐵通 | 中國鐵通互聯網(CRCNET) |
| 衛星 | 中國衛星集團互聯網(CSNET) |
| 科技 | 中國科技網(CSTNET) |
| 教育 | 中國教育和科研計算機網(CERNET) |
| 貿易 | 中國國際經濟貿易互聯網(CIETNET) |
| 長城 | 中國長城互聯網(CGWNET) |
我們把電腦、平板、手機這些能夠連接因特網的設備統稱為端系統(End System),端系統通過ISP接入因特網,因特網可以將端系統彼此互聯,所以為端系統提供接入的ISP也必須互聯,較低層的ISP通過國家或國際級別的ISP互聯起來,較高層的ISP通過高速光纖鏈路互聯。
每個ISP自身就是一個由多臺分組交換機和多段通信鏈路組成的網絡,你可能又懵了,什么是分組交換機?什么是通信鏈路?
我們舉一個承載運輸任務的車輛網絡為例:一個工廠需要將大量貨物搬運到數千公里以外的目的地倉庫,在工廠中,貨物要分開并裝上卡車車隊,然后每輛卡車獨立地通過公路、高速和立交橋組成的網絡向倉庫運送貨物,到達目的地倉庫后,卸下這些貨物,并且與一起裝載的同一批貨物堆放在一起。
在這個過程中,分組類似于卡車,通信鏈路類似于公路、高速和立交橋,分組交換機類似于交叉路口,而端系統呢,就類似于工廠和倉庫這種建筑物。一個分組所經歷的一系列通信鏈路和分組交換機稱為通過該網絡的路徑(path)。
端系統通過通信鏈路(communication link)和分組交換機(packet switch)鏈接到一起,當一臺端系統要向另一臺端系統發送數據時,發送端系統將數據分段,并為每段加上首部字節,由此形成的信息包用計算機網絡的術語來說稱為分組(packet),這些分組通過網絡發送到目的端系統后被裝配成初始數據。
分組交換機從它的一條入通信鏈路接收到達的分組,從它的一條出通信鏈路轉發該分組,市面上流行著各種類型、各具特色的分組交換機,但在當今的因特網中,兩種最著名的類型就是路由器(router)和鏈路層交換機(link-layer switch),路由器通常用于網絡核心中,鏈路層交換機通常用于接入網中。
因特網應用包括電子郵件、Web沖浪、移動智能手機和平板電腦應用程序,這些應用程序涉及多個相互交換數據的端系統,我們稱之為分布式應用程序(distributed application)。
接下來我們深入探討一下為應用程序提供服務的基礎設施的含義。
假設你有一個激動人心的新想法,它可能大大地造福于人類,或者它可能直接使你名利雙收,為此你需要開發一套應用程序,那么你將如何把這種想法轉換成一種實際的因特網應用呢?
應用程序要運行在端系統上,所以你需要編寫運行在端系統上的一些軟件,例如,你可能用Java、C或Python編寫軟件,此時,因為你在研發一種分布式因特網應用程序,運行在不同端系統上的軟件需要互相發送數據。
我們將因特網描述為應用程序的平臺,運行在一個端系統上的應用程序怎樣才能通過因特網向運行在另一個端系統上的軟件發送數據呢?
這時候就要用到一個套接字接口(socket interface)的東西,這是一套信息發送程序必須遵守的規則集合,它規定了運行在一個端系統上的程序請求向另一個端系統上的特定目標程序交付數據的方式。
我們再做一個類比:假設Alex要給Mike寫一封信,按照郵政服務的要求,這封信要裝到信封里,信封要寫上Mike的全名、地址和郵政編碼,右上角還要貼郵票,然后把信封放進郵箱里。
這些寫收件人信息、貼郵票和放信箱的操作就是郵政服務的一套規則,或者說這就是“郵政服務接口”,如果Alex想要寄出這封信并且保證Mike能夠收到這封信,那么就必須按照接口要求做。
同理,因特網也有一個程序發送數據必須遵循的套接字接口,它就是我們說的分布式應用程序提供服務。
好了,我們現在已經給出了因特網的兩種描述方法:一種是根據它的硬件和軟件組件來描述,另一種是根據基礎設施向分布式應用程序提供的服務來描述。
但是,你也許還是對什么是因特網感到困惑。
- 什么是分組交換和TCP/IP?
- 什么是路由器?
- 什么是分布式應用?
- 家里的智能音箱是如何與因特網相連的?
如果你現在還對這些心存疑慮,不要擔心,我將在后續章節中解釋這些重要的術語和問題。
總結
- 上一篇: 1014. Best Sightseei
- 下一篇: 125. Valid Palindrom