![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN2XjlGcjAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL3tGRNRTRU9EMRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwIGO4EmN1IGM5cjNkJjN5EGO4QjN4Y2MwcjNhVjM0I2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
系列文章目錄
文章目錄
- 系列文章目錄
- 前言
- 一、計算機網絡的發展過程
-
-
- 1.獨立模式
- 2.網絡互聯模式
- 3.區域網路LAN
- 4.廣域網WAN
-
- 二、認識計算機網絡協定
-
-
- 1.協定的概念
- 2.什麼是網絡協定
- 3.網絡協定簇
- 4.體系結構
- 5.OSI七層模型
- 6.TCP/IP五層(或四層)模型
- 7.網絡傳輸基本流程
- 8.資料包的封裝
- 9.資料包的分用
- 10.資料的封裝和分用
- 11.各層間通信(一)
- 12.各層間通信(二)
- 13.認識IP位址
- 14.認識MAC位址
-
- 總結
前言
一、計算機網絡的發展過程
1.獨立模式
獨立模式: 計算機之間互相獨立。
2.網絡互聯模式
網絡互聯: 多台計算機連接配接在一起, 完成資料共享。
3.區域網路LAN
區域網路LAN: 計算機數量更多了, 通過交換機和路由器連接配接在一起。
4.廣域網WAN
廣域網WAN: 将遠隔千裡的計算機都連在一起
所謂 “區域網路” 和 “廣域網” 隻是一個相對的概念.。像中國的廣域網也可以看作一個比較大的區域網路。
二、認識計算機網絡協定
1.協定的概念
協定是雙方約定同一種語言,進行溝通,計算機之間的傳輸媒介是光信号和電信号. 通過 “頻率” 和 “強弱” 來表示 0 和 1 這樣的資訊. 要想傳遞各種不同的信
息, 就需要約定好雙方的資料格式。
2.什麼是網絡協定
- 協定總是指某一層的協定。準确地說,它是在同等層之間的實體通信時,有關通信規則和約定的集合就是該層協定,例如實體層協定、傳輸層協定、應用層協定。網絡協定是通信雙方,約定通信時使用的資料格式,進行網絡通信。
- 計算機生産廠商有很多。
- 計算機作業系統, 也有很多。
- 計算機網絡硬體裝置, 還是有很多。
- 如何讓這些不同廠商之間生産的計算機能夠互相順暢的通信? 就需要有人站出來, 約定一個共同的标準,大家都來遵守, 這就是 網絡協定。
3.網絡協定簇
指的是由很多網絡協定組成的,稱之為協定簇。
4.體系結構
體系結構規定了網絡的分層,以及每一個分層需要完成的功能,以及每一個分層擁有的協定,還規定了每一個分層與自己上下層的關系。
5.OSI七層模型
- OSI(Open System Interconnection,開放系統互連)七層網絡模型稱為開放式系統互聯參考模型,是一個邏輯上的定義和規範。
- 把網絡從邏輯上分為了7層. 每一層都有相關、相對應的實體裝置,比如路由器,交換機。
- OSI 七層模型是一種架構性的設計方法,其最主要的功能使就是幫助不同類型的主機實作資料傳輸。
- 它的最大優點是将服務、接口和協定這三個概念明确地區分開來,概念清楚,理論也比較完整. 通過七個階層化的結構模型使不同的系統不同的網絡之間實作可靠的通訊。
- 它的最大優點是将服務、接口和協定這三個概念明确地區分開來,概念清楚,理論也比較完整. 通過七個階層化的結構模型使不同的系統不同的網絡之間實作可靠的通訊。
- 但是, 它既複雜又不實用; 是以我們按照TCP/IP四層模型來講解。
6.TCP/IP五層(或四層)模型
- TCP/IP是一組協定的代名詞,它還包括許多協定,組成了TCP/IP協定簇。TCP/IP通訊協定采用了5層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求。
- 實體層: 負責光/電信号的傳遞方式. 比如現在以太網通用的網線(雙絞 線)、早期以太網采用的的同軸電纜(現在主要用于有線電視)、光纖, 現在的wifi無線網使用電磁波等都屬于實體層的概念。實體層的能力決定了最大傳輸速率、傳輸距離、抗幹擾性等. 集線器(Hub)工作在實體層。
- 資料鍊路層: 負責裝置之間的資料幀的傳送和識别. 例如網卡裝置的驅動、幀同步(就是說從網線上檢測到什麼信号算作新幀的開始)、沖突檢測(如果檢測到沖突就自動重發)、資料差錯校驗等工作. 有以太網、令牌環網, 無線LAN等标準. 交換機(Switch)工作在資料鍊路層。
- 網絡層: 負責位址管理和路由選擇. 例如在IP協定中, 通過IP位址來辨別一台主機, 并通過路由表的方式規劃出兩台主機之間的資料傳輸的線路(路由). 路由器(Router)工作在網路層。
- 應用層: 負責應用程式間溝通,如簡單電子郵件傳輸(SMTP)、檔案傳輸協定(FTP)、網絡遠端通路協定(Telnet)等. 我們的網絡程式設計主要就是針對應用層。
7.網絡傳輸基本流程
網絡資料的轉發需要先經曆自己的網絡協定棧,進而通過網絡将資料轉化為光電信号,傳輸到對端機器,對端機器收到資料之後,需要經曆自己的機器網絡協定棧的層層向上送出,一直将資料送出到應用層的應用程式當中。
- 【問題】微信是否是應用程式?微信産生的資料是不是應用層資料?
- 答:微信是應用程式,因為微信是工作在應用層的,微信産生的資料是應用層資料。
8.資料包的封裝
- 不同的協定層對資料包有不同的稱謂,在傳輸層叫做段(segment),在網絡層叫做資料報 (datagram),在鍊路層叫做幀(frame)。
- 應用層資料通過協定棧發到網絡上時,每層協定都要加上一個資料首部(header),稱為封裝(Encapsulation)。
- 首部資訊中包含了一些類似于首部有多長, 載荷(payload)有多長, 上層協定是什麼等資訊。
- 資料封裝成幀後發到傳輸媒體上,到達目的主機後每層協定再剝掉相應的首部, 根據首部中的 “上層協定字段” 将資料交給對應的上層協定處理。
在計算機網絡中層次的劃分很細緻,每一層實作的功能也很複雜。為了能夠更明确地說明此過程,将兩台主機通信為執行個體進行分析講解,如下圖所示:
9.資料包的分用
資料被封裝完畢後通過網絡傳輸到接收方後,将進入資料的解封裝過程,這将是封裝的一個逆過程,如下圖所示:
10.資料的封裝和分用
11.各層間通信(一)
- 發送方與接收方各層之間必須采用相同的協定才能建立連接配接,實作正常的通信。
- 應用層之間必須采用相同的編碼解碼規則,才能保證使用者資訊傳輸的正确性。
- 傳輸層之間必須采用相同的端口号與協定關系,才能保證上層應用程序間的通信。
- 網絡層之間必須采用相同的邏輯尋址過程才能保證資料不會傳輸到錯誤的目的地。
- 資料鍊路層之間如果協定不同,接收方無法“了解”資料的内容。
- 實體層之間必須硬體接口規格相同,否則接收不到信号。
【Linux從青銅到王者】第十四篇:Linux網絡基礎第一篇系列文章目錄前言一、計算機網絡的發展過程二、認識計算機網絡協定總結
12.各層間通信(二)
在實際的網絡環境中,發送方和接受方之間會有很多的硬體裝置起到中轉的作用,在下圖中假設了一種通信結構,在兩台計算機之間增加了兩台交換機和路由器,發送主機的資料會通過以下中間裝置到達接受主機。
- 分析步驟:
- 發送主機按照前面講解的内容進行資料封裝。
- 從發送主機實體網卡發出的電信号通過網線到達交換機,交換機将電信号轉換成二進制資料送往交換機的資料鍊路層。交換機根據資料幀頭部的MAC位址将資料智能轉發到對應的路由器裝置,在轉發前要重新将二進制資料轉換成實體的電信号。
- 路由器接受到資料後,會拆掉資料鍊路層的MAC頭部資訊,将資料包送往網絡層,路由器将檢測資料標頭部的目标IP位址資訊,并根據該資訊進行路由轉發,将資料封包轉發到下一路由器上,在轉發前要重新封裝新的MAC頭部資訊,并将資料轉換成二進制。
- 之後的過程與前面大同小異。簡單來說就是路由器接受電信号,将電信号轉換成二進制資料發往網絡層,然後根據MAC位址和IP位址進行重新封裝轉換為電信号進行轉發,然後對應的交換機接受電信号,然後根據MAC位址傳送到接收主機的網卡中。
13.認識IP位址
- IP協定有兩個版本, IPv4和IPv6. 整個的課程, 凡是提到IP協定, 沒有特殊說明的, 預設都是指IPv4。
- IP位址是在IP協定中, 用來辨別網絡中不同主機的位址。
- 對于IPv4來說, IP位址是一個4位元組, 32位的整數。
- 我們通常也使用 “點分十進制” 的字元串表示IP位址, 例如 192.168.0.1 ; 用點分割的每一個數字表示一個位元組, 範圍是 0 - 255。
- IP位址的作用:可以在網絡當中唯一辨別一台主機,一個公網IP位址隻能被一台機器所占有,一個機器可以擁有多個IP位址。
14.認識MAC位址
- MAC位址用來識别資料鍊路層中相連的節點。
- 長度為48位, 及6個位元組. 一般用16進制數字加上冒号的形式來表示(例如: 08:00:27:03:fb:19)。
- 長度為48位, 及6個位元組. 一般用16進制數字加上冒号的形式來表示(例如: 08:00:27:03:fb:19)。
- 【問題】對于接收方而言,所有的網絡資料都是需要經曆網絡協定棧的,但是,怎麼區分網絡資料到底屬于哪一個應用程式的。
- 通過端口進行區分。
總結
以上就是今天要講的内容,本文詳細介紹了網絡等基礎知識的使用,網絡提供了大量的方法供我們使用,非常的便捷,我們務必掌握。希望大家多多支援!另外如果上述有任何問題,請懂哥指教,不過沒關系,主要是自己能堅持,更希望有一起學習的同學可以幫我指正,但是如果可以請溫柔一點跟我講,愛與和平是永遠的主題,愛各位了。加油啊!