本系統教程參考自:
教程:https://blog.csdn.net/weixin_42146136/category_10581354.html
視頻:https://www.bilibili.com/video/BV19E411D78Q
感謝!
1、計算機網絡概述
1.1、概念、組成、功能和分類
1)計算機網絡概念
-
計算機網絡
是一個將分散的、具有獨立功能的計算機系統,通過通信設備與線路連接起來,由功能完善軟件實現資源共享和信息傳遞的系統。
- 計算機網絡的概念:計算機網絡是互連的、自治的計算機集合
- 互連-互聯互通 通信鏈路
- 自治-無主從關系
2)計算機網絡的功能
- 數據通信:計算機網絡最基本最重要功能
- 資源共享:硬件 軟件 數據
- 分布式處理 :多台計算機各自承擔同一工作任務的不同部分,例如Hadoop平台
- 提高可靠性:如果A主機宕機,可以通過替代機通信
- 負載均衡:各計算機之間互相配合
3)計算機網絡的組成
a)組成部分
- 硬件、軟件、協議(網絡協議是網絡軟件系統中最重要、最核心的部分)
b)工作方式
- 邊緣部分:用戶直接使用 C/S方式 P2P方式
- 核心部分:為邊緣部分服務
c)功能組成
- 通信子網:實現數據通信
- 資源子網:實現資源共享/數據處理
4)計算機網絡的分類
a)按分布范圍分
- 廣域網WAN(交換技術)
- 城域網MAN
- 局域網LAN(廣播技術)
- 個人區域網PAN
b)按使用者分
- 公用網(中國電信等)
- 專用網(軍隊內部網)
c)按交換技術分
- 電路交換
- 報文交換
- 分組交換
d)按拓撲結構分
e)按傳輸技術分
- 廣播式網絡(共享公共通信信道)
- 點對點網絡(使用分組存儲轉發和路由選擇機制)
5)總結
1.2、標准化工作及相關組織
1)標准化工作
2)相關組織
-
國際標准化組織ISO
OSI參考模型、HDLC協議
-
國際電信聯盟ITU
制定通信規則
-
國際電氣電子工程師協會IEEE
學術機構、IEEE802 系列標准、5G
-
Internet_工程任務組IETF
負責因特網相關標准的制定RFC XXXX
3)總結
1.3、速率相關的性能指標
1)速率
2)帶寬
a)帶寬原本指某個信號具有的頻帶寬度,即最高頻率與最低頻率之差,單位是赫茲(Hz) 。
b)計算機網絡中,帶寬用來表示網絡的通信線路傳送數據的能力,通常是指單位時間內從網絡中的某一點到另一點所能通過的“最高數據率”。單位是:比特每秒,b/s, kb/s, Mb/s, Gb/s
帶寬就是網絡設備所支持的最高速度
理解:帶寬可以理解為路的寬度,帶寬2Mb/s的就是雙車道,帶寬1Mb/s的就是單車道
3)吞吐量
-
表示在單位時間內通過某個網絡(或信道、接口)的數據量
單位b/s, kb/s, Mb/s 等
吞吐量受網絡的帶寬或網絡的額定速率的限制
-
理解
- 帶寬 可以理解為鏈路的理論傳輸速率上限
- 吞吐量 是某時間內鏈路實際的數據量
1.4、時延、時延帶寬積、RTT和利用率
1)時延
- 指數據(報文/分組/比特流)從網絡(或鏈路)的一端傳送到另一端所需的時間。也叫延遲或遲延。單位是 s
理解:
- 排隊時延:排隊等待安檢所需的時間
- 處理時延:安檢所需的時間
- 發送時延(傳輸時延):把數據從主機放到信道上所需的時間,比如0101001從1到0全部發送出去所需的時間。
- 傳播時延:數據以電磁波為載體傳輸,在信道上傳輸所需的時間。其中電磁波傳播速度只與介質有關。
2)時延帶寬積
3)往返時延RTT
- 從發送方發送數據開始,到發送方收到接收方的確認(接收方收到數據后立即發送確認),總共經歷的時延
- 終端輸入ping命令,再加ip地址或者域名即可查看RTT
- RTT越大,在收到確認之前,可以發送的數據越多。因為RTT越大則等的越久,等的越久則數據越多
- RTT包括:往返傳播時延 = 傳播時延*2 + 末端處理時間(不包括發送時延,只管傳播時延 )
4)利用率
5)總結
2、分層結構、協議、接口、服務
協議:網絡軟件系統最重要核心
2.1、分層結構
1)為什么要分層?
發送文件前要完成的工作:
(1) 發起通信的計算機必須將數據通信的通路進行激活。
(2) 要告訴網絡如何識別目的主機。
(3) 發起通信的計算機要查明目的主機是否開機,並且與網絡連接正常。
(4) 發起通信的計算機要弄清楚,對方計算機中文件管理程序是否已經做好准備工作。
(5) 確保差錯和意外可以解決。
為什么分層?
以上問題比較多,要把大問題分成一系列的小問題進行解決。
2)怎么分層?
分層的基本原則
- 各層之間相互獨立,每層只實現一種相對獨立的功能
- 每層之間界面自然清晰,易於理解,相互交流盡可能少
- 結構上可分割開。每層都采用最合適的技術來實現
- 保持下層對上層的獨立性,上層單向使用下層提供的服務
- 酒桌中下級向上級敬酒,上級只接受直接下級的敬酒
- 整個分層結構應該能促進標准化工作
3)認識分層結構
-
實體:第n層中的活動元素稱為n層實體。同一層的實體叫對等實體
-
協議:為進行網絡中的對等實體數據交換而建立的規則、標准或約定稱為網絡協議。[水平方向]
網絡協議屬於計算機網絡軟件系統,是網絡軟件系統中最重要、最核心的部分
- 語法:規定傳輸數據的格式
- 語義:規定所要完成的功能
- 同步:規定各種操作的條件、時序關系等,即事件實現順序的詳細說明
-
接口(訪問服務點SAP) :上層 使用 下層 服務的入口。[垂直方向]
-
服務:下層為相鄰上層 提供的功能調用。[垂直方向]
區別 | 特性 | 功能 |
---|---|---|
實體 | n 層實體;對等實體 | - |
協議 | 同一層 水平方向 | 對等實體數據交換 |
接口 | 垂直方向;單向,上到下(所有下層) | 上層 使用 下層 服務的入口 |
服務 | 垂直方向;單向,下到上(相鄰上層) | 下層為相鄰上層 提供的功能調用 |
將第3、4、5層抽出進行分析:
-
PCI + SDU = PDU
-
SDU 服務數據單元
為完成用戶所要求的功能而應傳送的數據
-
PCI 協議控制信息
控制協議操作的信息
-
PDU 協議數據單元
對等層次之間傳送的數據單位
PDU作為下一層的SDU
4)概念總結
- 網絡體系結構是從功能上描述計算機網絡結構。(而不是從物理上的硬件來描述)
- 計算機網絡體系結構簡稱網絡體系結構是分層結構
- 每層遵循某個/些網絡協議以完成本層功能
- 計算機網絡體系結構是計算機網絡的各層及其協議的集合
- 第n層在向n+1層提供服務時,此服務不僅包含第n層本身的功能,還包含由下層服務提供的功能
- 僅僅在相鄰層間有接口,且所提供服務的具體實現細節對上一層完全屏蔽
- 體系結構是抽象的,而實現是指能運行的一些軟件和硬件
5)總結
2.2、OSI參考模型(1)
1)ISO/OSI 模型由來
是為了解決計算機網絡復雜的大問題-->分層結構(按功能)
- 目的:支持異構網絡系統的互聯互通
- 國際標准化組織(ISO) 於1984年提出 開放系統互連(OSI) 參考模型
- 但是!理論成功,市場失敗。不過還是有學習價值的。
2)ISO/OSI 通信過程
2.3、OSI參考模型(2)
1)應用層 7
2)表示層 6
3)會話層 5
建立一個會話不會影響其他窗口的內容,因為會話之間彼此獨立互不影響
功能二理解:斷點續傳
上傳小說時,可能在上傳到第四章的時候網絡中斷,當網絡恢復時,可以從第四章繼續恢復上傳,而不需要整個小說重新上傳
4)傳輸層 4
a)可靠傳輸、不可靠傳輸
- 可靠傳輸
- 發送端 在文件很大時就需要 切分 成報文段進行發送,接收端接收后會反饋確認信息給發送端,發送端收到 確認信息 后才能繼續發送報文段
- 這是一個 基於確認機制 的過程
- 不可靠傳輸
- 不需要使用確認機制,直接發報文段就行了。比如發消息就是采用不可靠傳輸
b)差錯控制
對於發生的差錯進行控制,比如傳輸報文段順序錯誤,丟失等
傳輸層就負責糾正這些錯誤
c)流量控制
如果接收端接收能力有限,就需要發送方慢點發送,於是發送方減緩發送速率
d)復用和分用
復用:多個應用層進程可同時使用下面傳輸層的服務
分用:傳輸層把收到的信息分別交付給上面應用層中相應的進程每個應用層進程(比如QQ、微信)都會有一個端口號,多個進程可以同時發送(復用),應用層發送端傳輸報文段后,接收端根據端口號精准發送給對應的進程(分用,比如QQ的消息就發給QQ)
5)網絡層 3
主要任務是 把分組從 源端 傳到 目的端,為分組交換網上的不同主機提供通信服務
網絡層傳輸單位是 數據報
數據報 與 分組是 整體 與 部分 的關系
當數據報過長時就可以對數據報進行切割,切割成一個一個小的分組
a)路由選擇
選擇合適的路由,具體選擇哪種方式要看網絡情況,選擇最佳路徑
b)流量控制
協調 發送端 和 接收端 的速率問題(與傳輸層感覺重復了)
c)差錯控制
通信兩節點之間約定的規則
d)擁塞控制
若所有節點都來不及接受分組,而要丟棄大量分組的話,網絡就處於擁塞狀態
因此要采取一定措施,緩解這種擁塞
6)數據鏈接層 2
主要任務是把網絡層傳下來的數據報組裝成幀
數據鏈路層/鏈路層的傳輸單位是 幀
a)成幀
定義幀的開始和結束: ....1000011101010101.....
數據報組裝成幀后會形成一個比較長的比特流序列,對於這樣一個比特流需要定義一下 哪是幀的開始,哪是幀的結束。只有這樣定義好,我們才可以在接收端收到幀的時候,提取出數據的部分進而提交給網絡層。
b)差錯控制
幀錯 + 位錯
如果發現有差錯,數據鏈路層可能丟棄出現差錯的幀,因為差錯的幀繼續在網絡上傳輸會浪費資源
如果要糾錯,可以通過可靠的傳輸協議糾正出現的差錯
c)流量控制
協調 發送端 和 接收端 的速率問題,如果接收端的緩存不夠用,發送端發過來的數據全都會丟棄掉,就會告訴發送端慢點發,等緩存有空間了再加快速度
功能四:
d)訪問(接入)控制
控制對信道的訪問
比如在廣播式網絡中,同一時間只能有一個人在發送信息。所以數據鏈路層就可以控制大家對於共享信道的訪問,專門由它的特殊子層介質訪問子層來專門處理控制這個問題。
7)物理層 1
主要任務是在 物理媒體 上實現 比特流 的 透明傳輸
物理層傳輸單位是 比特
-
透明傳輸
- 指不管所傳數據是什么樣的比特組合,都應當能夠在鏈路上傳送
-
物理層稱為傻瓜層
- 因為只需要把 比特流 轉換成 電信號 的形式,然后放到鏈路上進行傳輸就OK了,不需要對數據進行改動和切割
a)定義接口特性
比如連接電纜的插頭應該有多少引腳,每個引腳如何連接
b)定義傳輸模式
單工、半雙工、雙工
- 單工:只可以單方向,比如兩個人進行通信,同一時間段只可以一個人在發送,且整個時間段不能變成接收端,另一個人只能接收且不能變成發送端
- 半雙工:兩個人都可以發送或者接收,但是同一時間只能一個人發送另一個人接收(但發送方可以成為接收方,類似對講機)
- 雙工: 兩個人可以同發送和接收(類似打電話)
c)定義傳輸速率
定義發送端的發送速率和傳輸速率
d)比特同步
發送端發送一個1,接收端就能接收一個1,保證比特的同步
e)比特編碼
規定一下用什么樣的電壓表示1和0
8)總結
2.4、TCP/IP、五層參考模型
1)OSI 與 TCP/IP 參考模型
OSI參考模型先是理論,沒有實踐。而TCP/IP是由TCP/IP協議棧的實踐發展為TCP/IP參考模型理論的
TCP/IP協議棧不是只有TCP和IP,只不過TCP和IP占大頭
2)OSI 與 TCP/IP 相同點
- 都分層
- 基於獨立的協議棧的概念
- 可以實現異構網絡互聯
3)OSI 與 TCP/IP 不同點
- OSI定義三點:服務、協議、接口
- OSI先出現,參考模型先於協議發明,不偏向特定協議
- TCP/IP設計之初就考慮到異構網互聯問題,將IP作為重要層次
- 面向連接分為三個階段,第一是建立連接,在此階段,發出一個建立連接的請求。只有在連接成功建立之后,才能開始數據傳輸,這是第二階段。接着,當數據傳輸完畢,必須釋放連接。而面向無連接沒有這么多階段,它直接進行數據傳輸
4)五層參考模型
5)五層模型的數據封裝與解封裝
3、總結