前言
- 這是關於計算機網絡的一系列專題,後續會不斷更新。
- 由於是前端開發,因此個人重心是放在應用層,重中之重是應用層下面的HTTP協議。
- 學習資料來源於 《計算機網絡》(第七版) 和《圖解HTTP》。
- 本篇主要分享互聯網概述,計算機網絡體系結構等知識。
互連網與互聯網的區別
互連網
- 與網絡相連的計算機稱爲主機。智能手機也能夠稱爲主機。
- 結點能夠是計算機,集成器,交換機,路由器等。
- 計算機網絡(簡稱網絡)由若干結點和鏈接這些結點的鏈路組成。
- 互連網:網絡之間能夠經過路由器互連起來,這就構成一個覆蓋範圍更大的計算機網絡。
- 互連網是「網絡的網絡」,泛指由多個計算機網絡互連而成的計算機網絡。網絡把許多計算機鏈接在一塊兒。而互連網把許多網絡經過路由器鏈接在一塊兒。
互聯網
- 也叫作因特網,不過如今不用了。
- 互聯網(專有名詞):指當前全球最大的,開放的,由衆多網絡相互鏈接而成的特定互連網。
- 這也是爲何1994年中國接入互聯網叫作接入,而不是其餘動詞。
- 採用TCP/IP協議族做爲通訊的規則,前身是
ARPANET
。
總結
- 計算機,交換機,路由器等 = 結點
- 結點 + 鏈路 = 網絡
- 網絡 + 網絡 = 互連網
- 互聯網 = 全球最大的互連網
互聯網發展的幾個階段
- 第一階段:1969美國國防部建立的第一個分組交換網
ARPANET
。(並非一個互連的網絡)全部要鏈接在ARPANET
上的主機都直接與最近的結點交換機相連。
- 第二階段:20世紀70年代中期,開始研究多種網絡互連的技術,致使互連網絡的出現。互聯網的雛形。
- 第三階段:1983年,
TCP/IP
協議成爲ARPANET
上的標準協議,使全部使用TCP/IP
協議的計算機都能利用互聯網相互通訊。互聯網誕生。
- 第四階段:1985年。建成了三級結構的互聯網
NSFNET
。分爲主幹網,地區網,校園網。基本覆蓋了全美國主要的大學和研究所。
- 第五階段:世界上許多公司紛紛接入到互聯網,網絡通訊急劇增大,知足不了需求。美國政府決定交給私人公司來經營,開始收費。因而,逐漸造成多層次ISP結構的互聯網。1993年開始,三級結構的互聯網
NSFNET
逐漸被若干個商用的互聯網主幹網替代。
ISP(互聯網服務提供商)
- 中國電信,中國聯通,中國移動等公司是中國最有名的ISP。
- ISP能夠從互聯網管理機構申請到不少IP地址。主機必須有IP地址才能上網,同時還有通訊線路,路由器等聯網設備。繳納費用就能能獲取所需IP地址的使用權。
- 所謂上網就是經過ISP得到的IP地址接入互聯網。
- ISP分爲主幹ISP,地區ISP,本地ISP。
- 主幹ISP由專門的公司建立和維持,服務面積最大(通常能覆蓋國家範圍)
- 地區ISP是一些較小的ISP。
- 本地ISP給用戶提供直接的服務。本地ISP能夠是一個僅僅提供互聯網服務的公司,也能夠是一個擁有網絡並向本身僱員提供服務的企業,或者是大學。
- 主機A和主機B通訊的過程。主機A --> 本地ISP --> 地區ISP --> 主幹ISP --> 地區ISP --> 本地ISP --> 主機B
- 上面這種通訊要通過層層阻攔,是否能繞過主幹ISP,地區ISP直接和地區ISP直接通訊呢?能夠的。互聯網交換點IXP的主要做用是容許兩個網絡直接相連並交換分組,而不須要再經過第三個網絡來轉發分組。 主機A --> 本地ISP --> 地區ISP --> 地區ISP --> 本地ISP --> 主機B
互聯網的組成
- 從工做方式能夠分爲兩大塊:邊緣部分 + 核心部分。
- 邊緣部分:由全部鏈接在互聯網上的主機組成,用戶直接使用。
- 核心部分:由大量網絡和鏈接這些網絡的路由器組成。
- 邊緣部分的通訊方式
- 客戶-服務器方式(C/S)。客戶是服務請求方,服務器是服務提供方。
- 對等鏈接方式(P2P)。兩臺主機通訊並不區分哪個是服務請求方哪個是提供方。只要兩臺主機都運行了對等鏈接軟件就能夠通訊,相互下載對方硬盤裏面的文檔。
- 核心部分
- 路由器。它是一種專用計算機。路由器是實現分組交換的關鍵構件,其任務是轉發收到的分組。
何爲分組交換
- 電路交換: 創建鏈接(佔用通訊資源) -> 通話(一直佔用通訊資源) -> 釋放鏈接(歸還通訊資源)。在通話的所有時間裏,通話的兩個用戶始終佔用端到端的通訊資源。
- 分組交換:採用存儲轉發技術。要發送整塊數據,這塊數據被稱爲一個報文。在發送以前,把報文分紅一個個更小的等長數據段,並在頭部加上包頭。
- (首部 + 數據 = 分組)X (不少個) = 報文
- 路由器的做用就是用來轉發這些分組的。路由器收到一個分組,先暫存一下,檢查頭部,查找轉發表,交給下一個路由器,一步一步以存儲轉發的方式給目的主機。分組交換在傳輸數據以前沒必要佔用一條端到端的通訊資源,而且省去了創建鏈接和釋放鏈接的開銷,傳輸數據效率更高。
爲了理解分組,我仍是更願意稱之爲小報文,更方便記憶。由於稱之爲分組我感受太拗口了。前端
- 總結
- 電路交換。整個報文連續從源點到終點,好像在一個管道中傳送。適合大量數據傳輸。
- 報文交換。整個報文先到達相鄰結點,所有儲存下來查找轉發表,轉發到下一個結點。
- 分組交換。單個分組(整個報文的一小部分)傳送給相鄰結點,存儲下來後查找轉發表,轉發到下一個結點。(原理採用報文交換)靈活。
七層協議和四層協議的由來
先看一個很簡單的例子:鏈接在網絡上的兩臺計算機要互相傳送文件。 要實現這種功能須要作什麼呢?
- 二者之間要有傳輸數據的通路。
- 要保證通道的正確發送和接收。
- 要告訴網絡如何識別接收數據的計算機。
- 必須檢查對方是否開機,而且聯網了。
- 發起通訊的計算機的軟件必須搞清楚在對方的軟件是否作好接收文件和存儲文件的準備。
- 若計算機文件格式不兼容,則至少其中一臺計算機應完成格式轉換功能。
- 對於出現的各類差錯意外,如數據傳輸錯誤,重複,丟失,是否有可靠的措施保障對方能接受到正確的文件。
以上在種種,代表相互通訊的兩個計算機系統必須高度協調工做才行,爲了協調,提出了分層的方法。用分層把問題分而治之。服務器
協議與劃分層次
在計算機網絡要作到有條不紊的交換數據,就必須遵照實現約好的規則。這些爲進行網絡中的數據交換而創建的規則,標準,約定稱之爲網絡協議,也可簡稱爲協議。協議有三要素。網絡
- 語法。數據與控制信息的結構或格式。
- 語義。即須要發出何種控制信息,完成何種動做以及作出何種響應。
- 同步。事件實現順序的詳細說明。
咱們想鏈接在網絡上的另一臺計算機作點什麼事,都須要有協議。框架
立賢不立長
- 1974年,美國IBM公司宣佈了
系統網絡體系結構SNA
。這個網絡標準是按照分層的方法制定的。不久其餘一些公司也相繼推出本身公司的體系結構。
- 不一樣的網絡體系結構出現後,使得同一個公司生產的各類設備都能很容易地互連成網。但因爲網絡體系結構的不一樣,不一樣公司的設備很難互相連通。
- 爲了使得不一樣網絡體系結構的用戶迫切要求可以互相交換信息,國際化標準組織ISO在1977成立專門機構研究該問題。他們提出一個試圖使各類計算機在世界範圍內互連成網的標準框架,即OSI/RM,簡稱OSI。只要遵循OSI標準,一個系統就能夠和世界上任何地方的,也遵照這一標準的其餘任何系統進行通訊。
- 1983年,OSI提出了七層協議。
- 可是,到了90年代初期,儘管整套的OSI國際標準已經制定出來,但基於TCP/IP的四層協議的互聯網已搶先在全球至關大的範圍成功運行。OSI失敗了。
- 獲得最普遍應用的不是法律上的標準OSI,而是非國際標準TCP/IP。TCP/IP被當作事實的國際標準。
- 如今人們提到的TCP/IP並不必定單指TCP和IP兩個具體的協議,而是每每表示互聯網所使用的整個TCP/IP協議族。
- 網絡協議的一個重要的特定是必須把全部不利的條件事先估計到,不能假設一切都是正常的和很是理想的。
四層協議
- 應用層。 是體系結構的最高層。任務是經過應用進程間的交互來完成特定網絡應用。應用層定義的是應用進程間通訊和交互的規則。在互聯網的應用層協議不少,如
域名系統NDS,支持萬維網應用的HTTP協議,支持電子郵件的SMTP協議。
咱們把應用層交互的數據單元稱爲報文。
- 運輸層。 負責兩臺主機中進程之間的通訊提供通用的數據傳輸服務。主要使用兩種協議。
傳輸控制協議TCP
。數據傳輸的單位是報文段。
用戶數據報協議UDP
。提供無鏈接的,盡最大努力的數據傳輸服務(不保證數據傳輸的可靠性),數據傳輸的單位是用戶數據報。
- 網絡層。 負責爲分組交換網上的不一樣主機提供通訊服務。在發送數據時,網絡層把運輸層產生的報文段或用戶數據封裝成分組(小報文)或包進行傳送。 網絡層的另一個任務就是要選擇合適的路由,使源主機運輸層所傳下來的分組(小報文)可以經過路由器找到目的的主機。
IP協議
。
- 數據鏈路層(鏈路層)。 兩臺主機之間的數據傳輸,老是在一段一段的鏈路上傳送的,這就須要專門的鏈路層協議。
在兩個相鄰結點之間傳送數據時,數據鏈路層把網絡層交下來的IP數據報組裝成幀,在兩個相鄰結點的鏈路上傳送幀,每一幀包括數據和必要的控制信息(如同步信息,地址信息,差錯控制)
在接收數據時,接收到一個幀,抽出數據部分,提交給網絡層。
捋一捋兩個主機之間通訊的全過程
主機A向主機B傳輸數據。學習
- 主機A把數據給應用層,應用層加上必要的控制信息。
- 應用層的數據再給運輸層,運輸層再加上控制信息。
- 運輸層的數據給網絡層,網絡層再加上控制信息。
- 網絡層的數據給鏈路層,鏈路層給數據加上首部和尾部。
- 鏈路層再把數據給物理層,物理層傳輸單位是比特,不加控制信息。
- 接着數據到達路由器,路由器分析控制信息。
- 路由器的分組(小報文)傳給物理層。
- 物理層再傳給鏈路層,鏈路層分析控制信息並剝去,找到上層的網絡層。
- 網絡層接收到數據,分析控制信息並剝去,找到上層的運輸層。
- 運輸層接收到信息,分析並剝去控制信息,找到應用層。
- 應用層剝去控制信息,把數據給主機B。
用一個簡單的例子描述:
一封信從最高層向下傳,每通過一層就包上一個新的信封,寫上必要的地址信息。到達最底層時,向上傳,每通過一層就剝去一層信封,到達最高層的時候,去取出發信人的信交給收信人就能夠了。計算機網絡
下一篇文章講應用層的各類協議,HTTP除外,HTTP是重點應該單拎起來說。 若是對你有幫助,麻煩點贊加關注哦!