當前位置:首頁 » 網路連接 » 計算機網路重難點知識筆記
擴展閱讀
網路異常10022是什麼意思 2024-11-24 07:10:43
智學網路未連接怎麼回事 2024-11-24 07:09:58

計算機網路重難點知識筆記

發布時間: 2024-10-27 21:55:48

『壹』 計算機網路總結:計算機網路重點知識總結

《計算機網路》課程總結

目錄

一、 對老師的印象

二、 對計算機網路的認識

三、 計算機網路實踐課程的學習歷程與收獲

四、灶悉叢 計算機網路筆記整理

五、 總結

對老師的印象

一、 整體印象

對於老師的印象應該追溯到上個學期,上個學期選了短學期的課《數據結構課程設計》,當時選擇這門課的時候並沒有考慮自己是否對它了解

只是為了單純的湊學分。但是通過第一節課的了解,感覺天都塌了下來。這個課的基礎是C 語言和《數據結構》,這兩門課我其實都沒有學過,我感覺老師說的真的很對,沒有學過這些就可以退掉這門課,我們果斷退掉了這門課。當時對老師的印象就是很嚴格,要求很高,後來我們想想其實是對課程本身的一種恐懼感。

二、二次印象

老師真是太敬業啦,其實從老師進教室的那一刻就看出老師挺著肚子,有了寶寶。當時就想,老師都這樣了為什麼還要來上課,很是佩服老師的敬業精神。而且以前陸大嚴格的影響全都被老師的講課的內容所掩蓋,我沒有上過老師的課,但第一次上老師的就感覺老師教的很好,其實大學里好多老師的學歷很高,但有些老師真的不會講課,至少讓大部分同學感覺他講的不好。但是我感覺老師在講課方面很有自己的想法。

三、對同學的態度

在《計算機網路課程設計》的實驗課上,老師給我們操作演示,為每一個學生悉心指導,我覺得老師真的很親民,對於網路的搭建,老師給我們演示了web 服務的構建,DNS 伺服器和FTP 的設置,以及最終的客戶端設置,很少有老師這樣耐心指導。最後老師收作業的方式也是很好,避免了有的同學投機,我覺得很不錯。

對計算機網路的認識

一、定義

計算機網路,是指將地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網路操作系統,網路管理軟體及網路通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。

二、發展歷程

1. 第一代計算機網路

其實計算機的發展速度遠超過人們的想像,在20世紀50年代,人們利用通信線路,將多台終端設備連接到一台計算機上,構成「主機-終端」系統,這里的終端不能夠單獨進行數據處理,僅能完成簡單的輸入輸出,所有數據處理和通信處理任務均由計算機主機完成。現在的終端指的就是一台獨立的計算機,不僅可以輸入輸出,還可以處理數據。其實這個時期並不算是真正的計算機網路,應該稱為偽計算機網路。

2. 第二代計算機網路

到了上個世紀60年代,獨立的終端有了處理數據的能力,例如美國的

ARPAnet 網路。第二代計算機網路主要用於傳輸和交換信息,因為沒有成熟的操作系統,資源共享不高。

3. 第三代計算機網路

70年代,出現了許多協議,比如TCP/IP協議。其主要特徵就是所有的計算機遵守同一種網路協議,突出資源共享(硬體、軟體和數據)。

4. 第四代計算機網路

90年代開始,微電子技術、大規模集成電路技術、光通技術和計算機技術不斷發展,為計算機網路技術的發展提供了有力的支持。信息綜合化和傳輸高速化是第四代計算機網路的特點。

三、網路傳輸媒體

網路傳輸媒體也稱,傳輸介質或傳輸媒介。就好像一條條水管,所有的自來水從自來水廠到家裡,都要經過水管,水管相當於一種媒介。分為有線傳輸和無線傳輸。在傳輸過程中要盡可能保證信號的真實性,所以對於有線傳輸的材質等要求比較高。

四、網路拓撲

由於在大二時沒有學《網路技術基礎》,所以這個學期同時學《網路技術基礎》和《計算機網路》,前一門課是後一門課的基礎,在學習網路拓撲機構的時候,了解到其實總體分為,星型和匯流排型,對於這個為了更好的理解拓撲結構,我們搭建了一個小型的網路。可以實現三個實驗室,每個實驗室中的計算機可以相互通信,不同實驗室中計算機不可以通信,其實可以形成了樹型結構。以下是我利用思科的一個軟體做的一個網路拓撲結構:

計算機網路課程設計的學習過程與收隱櫻獲

一、小組的建立

1. 一開5個人,對於實驗任務一直不太理解,只知道要配置三個伺服器,分別是DNS 伺服器配置、FTP 配置、WEB 伺服器配置,一個客戶端的配置。在還有一周的時間就要叫作業的時候,我們重新組隊,進行認真分析。

2. 實驗內容對於實驗的能容,每個配置都講了很多,比較詳細。但最讓人不能理解的就是必須在Windows server 2003系統下進行操作,這就帶來了一個問題,只能在實驗室做,其實我們的能力有限,在實驗室的兩節課根本不夠。我們通過學習老師的操作過程,大致了解了配置方法,但是並沒有真正理解最後的內在關系。我們在周一晚課時,去實驗室進行實驗。在操作的過程中,我們不斷遇到各種問題,我們通過網路查資料,翻看老師的課件和實驗例子,不斷的改進,後來我突然明白了他們的內在聯系。

3. 具體的原理:首先要配置web 和ftp ,在設置IP 地址時要選擇自身計算機的IP 地址,web 需要建立一個網站首頁,其實就是一個簡單的html 文件。ftp 可以傳輸文件,所以要在設置ftp 的電腦上新建一個路徑,按照老師的要求將小組作業存放在這個路徑下。此時可以通過訪問web 和ftp 的IP 進行網頁的瀏覽和作業的檢查。但是IP 地址不方便記憶,所以要通過DNS 伺服器為每個IP



置域名。DNS 設置域名是從後往前設置的,依次是新建域,新建區域,新建主機,例如 ,這樣就可以通過域名進行訪問。最後就是客戶端,其實這個是最簡單的,只需要將首選DNS 伺服器的IP 地址改成配置DNS 伺服器的那台計算機的IP 地址就可以啦,這樣就可以在任何一台電腦上訪問web 和ftp 。

4. 收獲:最大的收獲就是一定要去做,親自動手去做才能發現問題。實踐去做才能有所收獲,在最後成功的那一刻,會有一種成就感。這種成就感是無法被任何其他事情所代替,困難問題是有,但這不是一個奮斗的年紀嗎?

計算機網路筆記整理

總結

一、認識

對於計算機的認識是在小學開始,但從小學到大學基本上沒有什麼深刻的認識改變。只是特別淺層次的認識,比如可以用計算機打字,可以上網查資料,可以玩游戲,可以看視頻,可以聽歌等等。隨著計算機的快速發展,網路的搭建使計算機的價值得到了最大的體現。計算機網路到底怎麼連接計算機的,到底是什麼組成了那個看不見的網路。

二、收獲

1. 首先我知道計算機網路的分類組成,知道區域網,城域網,廣域網是什麼意思。知道學校其實就是一個區域網,我們每天都會用到的172.18.20.5無線網其實就是區域網。

2. 知道計算機之間是通過傳輸媒體完成傳輸,有形媒介和無形媒介,知道雙絞線是什麼,我們宿舍里用的網線就是雙絞線,裡面有八根線,每兩根在一起。

3. 計算機的數據在傳輸過程中其實要經過一個復雜的程序,從一個用戶到另一個用戶,數據分別要經過應用層,表示層,會話層,傳輸層,網路層,數據鏈路層,最終的物理層。

4. 所有的資源共享得益於遵照相同的協議,例如TCP/IP協議,不同的層次之間也會有一個標準的協議進行傳輸。

5.了解IP 地址的組成,網路號,主機號,A 類、B 類、C 類。路由器IP 地址的配置,網路傳輸過程中的加密等問題。

『貳』 計算機網路筆記——數據鏈路層(停等協議、GBN、SR)

流量控制:防止發送端發送和接收端接收速度不匹配造成傳輸錯誤

傳輸層和數據鏈路層均有流量控制,但是控制手法不一樣

傳輸層:端到端,接收端向發送端發送一個窗口公告。告訴發送端目前我能接收多少
數據鏈路層:點到點,接收端接收不下的就不回復確認(ack),讓發送端自己重傳

涉及協議較多分批寫

優點 :最簡單的控制協議
缺點 :但是性能較弱,信道利用率低

控制方法
發送方:發送一個幀
接收方:接收到幀後返回改幀的ack
發送方:接收到ack後發送下一個幀

差錯控制

注意

滑動窗口協議是基於停止等待協議的優化版本
停止等待協議性能是因為需要等待ack之後才能發送下一個幀,在傳送的很長時間內信道一直在等待狀態
滑動窗口則利用緩沖思想,允許連續發送(未收到ack之前)多個幀,以加強信道利用

窗口 :其實就是緩沖幀的一個容器,將處理好的幀發送到緩沖到窗口,可以發送時就可以直接發送,藉此優化性能。一個幀對應一個窗口。

GBN是滑動窗口中的一種,其中 發送窗口 > 1 , 接收窗口=1 因發送錯誤後需要退回到最後正確連續幀位置開始重發,故而得名。

控制方法
發送端:在將發送窗口內的數據連續發送
接收端:收到一個之後向接收端發送累計確認的ack
發送端:收到ack後窗口後移發送後面的數據

累計確認 :累計確認允許接收端一段時間內發送一次ack而不是每一個幀都需要發送ack。該確認方式確認代表其前面的幀都以正確接收到
eg:發送端發送了編號 0,1,2,3,4,5 的幀,等待一段時間後(超過3的超時計時器)累計收到的ack對應 0,2 幀,則證明已經成功 0,1,2 均已經成功接收, 3 傳輸錯誤。並且哪怕 4,5 兩個幀接收成功後也不會返回 4,5 的ack會一直等待從 3 開始重傳

差錯控制

發送幀丟失、ack丟失、ack遲到 等處理方法基本和停等協議相同,不同的是採用累計確認恢復的方式,當前面的幀出錯之後後面幀無論是否發送成功都要重傳

優點:信道利用率高(利用窗口有增加發送端佔用,並且減少ack回復次數)
缺點:累計確認使得該方法只接收正確順序的幀,而不接受亂序的幀,錯誤重傳浪費嚴重

發送窗口大小問題
窗口理論上是越多性能越好,但是窗口不能無限大,n比特編碼最大隻能2^(n-1)個窗口,否則會造成幀無法區分(本質就是留了一個比特區分兩組幀)

SR協議可以說是GBN的plus版本,在GBN的基礎上改回每一個幀都要確認的機制,解決了累計確認只接收順序幀的弊端只需要重發錯誤幀。
其中 發送窗口 > 1 , 接收窗口 > 1 , 接收窗口 > 發送窗口 (建議接 收窗口 = 發送窗口 接收窗口少了溢出多了浪費).

控制方法
發送端:將窗口內的數據連續發送
接收端:收到一個幀就將該幀緩存到窗口中並回復一個ack
接收端:接收到順序幀後將數據提交給上層並接收窗口後移(若接收到的幀不是連續的順序幀時接收窗口不移動)
發送端:接收到順序幀的ack後發送窗口後移(同理發送窗口接收到的ack不連續也不移動)

差錯控制

發送幀丟失、ack丟失、ack遲到 三類處理方式仍然和停等協議相同,不同的是SR向上層提交的是多個連續幀,停等只提交一個幀(不連續的幀要等接收或重傳完成後才會提交)

發送窗口大小問題
同GBN一樣,發送窗口和接收窗口都不能無限多,且不說緩存容量問題,當兩組幀同時發送時會造成無法區分,大小上限仍然是2^(n-1)個窗口(本質就是留了一個比特寫組號)

窗口大小這里留一張截圖,方便理解
假設窗口大小都為3(圖中編號到了3是借4窗口的圖,正常應編號到2,但是不妨礙理解)
左邊是錯誤重發,第一組的0幀ack丟失了
右邊是正常收發

三種協議對比:
停等協議:單線程的傻子,簡單不易出錯,但是效率極其低下
GBN:假的多線程(接收端太坑啦),接收端是情種,只等待自己哪一個幀,丟棄了後來的幀
SR:多線程,接收端有收藏癖,等待集齊一套召喚神龍(提交給上層這只神龍……)

『叄』 計算機網路第4章(網路層)

計算機網路微課堂 的筆記整理
筆記也放到了 我的github 和 我的gitee 上

一種觀點:讓網路負責可靠交付

發送方 發送給 接收方 的所有分組都沿著同一條虛電路傳送

另一種觀點:網路提供數據報服務

發送方 發送給 接收方 的分組可能沿著不同路徑傳送

A類地址

B類地址

C類地址

練習

IP 地址的指派范圍

一般不使用的特殊的 IP 地址

IP 地址的一些重要特點

(1) IP 地址是一種分等級的地址結構 。分兩個等級的好處是:

(2) 實際上 IP 地址是標志一個主機(或路由器)和一條鏈路的介面

(3) 用轉發器或網橋連接起來的若干個區域網仍為一個網路 ,因此這些區域網都具有同樣的網路號 net-id。

(4) 所有分配到網路號 net-id 的網路,無論是范圍很小的區域網,還是可能覆蓋很大地理范圍的廣域網,都是平等的。

在 ARPANET 的早期,IP 地址的設計確實不夠合理:

如果想要將原來的網路劃分成三個獨立的網路

所以是否可以從主機號部分借用一部分作為子網號

基本思路

劃分為三個子網後對外仍是一個網路

舉例

例子1

例子2

默認子網掩碼

無分類域間路由選擇 CIDR (Classless Inter-Domain Routing)。

舉例

給定一個IPv4地址快,如何將其劃分成幾個更小的地址塊,並將這些地址塊分配給互聯網中不同網路,進而可以給各網路中的主機和路由器介面分配IPv4地址

劃分子網的IPv4就是定長的子網掩碼

舉例

無分類編址的IPv4就是變長的子網掩碼

舉例

舉例

源主機如何知道目的主機是否與自己在同一個網路中,是直接交付,還是間接交付?

主機C如何知道路由器R的存在?

路由器收到IP數據報後如何轉發?

假設IP數據報首部沒有出錯,路由器取出IP數據報首部各地址欄位的值

接下來路由器對該IP數據報進行查表轉發

路由器是隔離廣播域的

靜態路由配置

舉例

默認路由

舉例

默認路由可以被所有網路匹配,但路由匹配有優先順序,默認路由是優先順序最低的

特定主機路由

舉例

有時候,我們可以給路由器添加針對某個主機的特定主機路由條目

一般用於網路管理人員對網路的管理和測試

靜態路由配置錯誤導致路由環路

舉例

假設將R2的路由表中第三條目錄配置錯了下一跳

這導致R2和R3之間產生了路由環路

聚合了不存在的網路而導致路由環路

舉例

正常情況

錯誤情況

解決方法

網路故障而導致路由環路

舉例

解決方法

添加故障的網路為黑洞路由

『肆』 計算機網路自學筆記:選路演算法

網路層必須確定從發送方到接收方分組所經過的路徑。選路就是在網路中的路由器里的給某個數據報確定好路徑(即路由)。

一 台主機通常直接與一台路由器相連接,該路由器即為該主機的默認路由器,又稱為該主機的默認網關。 每當某主機向外部網路發送一個分組時,該分組都被傳送給它的默認網關。

如果將源主機的默認網關稱為源路由器,把目的主機的默認網關稱為目的路由器。為一個分組從源主機到目的主機選路的問題於 是可歸結為從源路由器到目的路由器的選路問題。

選路演算法的目標很簡單:給定一組路由器以及連接路由器的鏈路,選路演算法要找到一條從源路由器到目的路由器的最好路徑,通常一條好路徑是指具有最低費用的路徑。

圖 G=(N,E)是一個 N 個節點和 E 條邊的集合,其中每條邊是來自 N 的一對節點。在網 絡選路的環境中,節點表示路由器,這是做出分組轉發決定的節點,連接節點的邊表示路由 器之間的物理鏈路。

一條邊有一個值表示它的費用。通常一條邊的費用可反映出對應鏈路的物理長度、鏈路速度或與該鏈路相關的費用。

對於 E 中的任一條邊(xy)可以用 c(xy )表示節點 x 和 y 間邊的費用。一般考慮的都是無向 圖,因此邊(xy)與邊(y x)是相同的並且開銷相等。節點 y 也被稱為節點 x 的鄰居。

在圖中為各條邊指派了費用後,選路演算法的目標自然是找出從源到目的間的最低費用路徑。圖 G=(N,E)中的一條路徑(Path)是一個節點的序列,使得每一對以(x1,x2), (x2,x3),…,是 E 中的邊。路徑的費用是沿著路徑所有邊費用的總和。

從廣義上來說,我們對 選路演算法分類的一種方法就是根據該演算法是全局性還是分布式來區分的。

.全局選路演算法: 用完整的、全局性的網路信息來計算從源到目的之間的最低費用路徑。

實際上, 具有全局狀態信息的演算法常被稱作鏈路狀態 LS 演算法, 因為該演算法必須知道網路中每條鏈路的費用。

.分布式選路演算法: 以迭代的、分布式的方式計算出最低費用路徑。通過迭代計算並與相鄰節點交換信息,逐漸計算出到達某目的節點或一組目的節點的最低費用路徑。

DV 演算法是分布式選路演算法, 因為每個節點維護到網路中的所有其他節點的費用(距離)估計的矢量。

選路演算法的第二種廣義分類方法是根據演算法是靜態的還是動態的來分類。

一: 鏈路狀態選路演算法 LS

在鏈路狀態演算法中,通過讓每個節點向所有其他路由器廣播鏈路狀態分組, 每個鏈路狀態分組包含它所連接的鏈路的特徵和費用, 從而網路中每個節點都建立了關於整個網路的拓撲。

Dijkstra 演算法計算從源節點到網路中所有其他節點的最低費用路徑.

Dijkstra 演算法是迭代演算法,經演算法的第 k 次迭代後,可知道到 k 個目的節點的最低費用路徑。

定義下列記號:

D(V)隨著演算法進行本次迭代,從源節點到目的節點的最低費用路徑的費用。

P(v)從源節點到目的節點 v 沿著當前最低費用路徑的前一節點(,的鄰居)。

N`節點子集;如果從源節點到目的節點 v 的最低費用路徑已找到,那麼 v 在 N`中。

Dijkstra 全局選路演算法由一個初始化步驟和循環組成。循環執行的次數與網路中的節點個數相同。在結束時,演算法會計算出從源節點 u 到網路中每個其他節點的最短路徑。

考慮圖中的網路,計算從 u 到所有可能目的地的最低費用路徑。

.在初始化階段 ,從 u 到與其直接相連的鄰居 v、x、w 的當前已知最低費用路徑分別初始化為 2,1 和 5。到 y 與 z 的費用被設為無窮大,因為它們不直接與 u 連接。

.在第一次迭代時, 需要檢查那些還未加到集合 N`中的節點,找出在前一次迭代結束時具有最低費用的節點。那個節點是 x 其費用是 1,因此 x 被加到集合 N`中。然後更新所有節點的 D(v),產生下表中第 2 行(步驟)所示的結果。到 v 的路徑費用未變。經過節點 x 到 w 的 路徑的費用被確定為 4。因此沿從 u 開始的最短路徑到 w 的前一個節點被設為 x。類似地, 到 y 經過 x 的費用被計算為 2,且該表項也被更新。

.在第二次迭代時 ,節點 v 與 y 被發現具有最低費用路徑 2。任意選擇將 y 加到集合 N` 中,使得 N』中含有 u、x 和 y。通過更新,產生如表中第 3 行所示的結果。

.以此類推…

當 LS 演算法結束時,對於每個節點都得到從源節點沿著它的最低費用路徑的前繼節點, 對於每個前繼節點,又有它的前繼節點,按照此方式可以構建從源節點到所有目的節點的完 整路徑。

根據從 u 出發的最短路徑,可以構建一個節點(如節點 u)的轉發表。

二 距離矢量選路演算法 DV

LS 演算法是一種使用全局信息的演算法,而距離矢量演算法是一種迭代的、非同步的和分布式的演算法。

Bellman-Ford 方程:

設 dx(y)是從節點 x 到節點 y 的最低費用路徑的費用,則有  dx(y) = min {c(x,v) + dv(y) }

PS: 方程中的 min,是指取遍 x 的所有鄰居。

Bellman-Ford 方程含義相當直觀,意思是從 x 節點出發到 y 的最低費用路徑肯定經過 x 的某個鄰居,而且 x 到這個鄰居的費用加上這個鄰居到達目的節點 y 費用之和在所有路徑 中其總費用是最小的。 實際上,從 x 到 v 遍歷之後,如果取從 v 到 y 的最低費用路徑,該路 徑費用將是 c(x,v)+ dv(y)。因此必須從遍歷某些鄰居 v 開始,從 x 到 y 的最低費用是對所有鄰 居的 c(x,v)+dv(y)的最小值。

在該 DV 演算法中,當節點 x 看到它的直接相連的鏈路費用變化,或從某個鄰居接收到一 個距離矢量的更新時,就根據 Bellman-Ford 方程更新其距離矢量表。

三 LS 與 DV 選路演算法的比較

DV 和 LS 演算法採用不同的方法來解決計算選路問題。

在 DV 演算法中,每個節點僅與它的直接相連鄰居交換信息,但它為它的鄰居提供了從其 自己到網路中(它所知道的)所有其他節點的最低費用估計。

在 LS 演算法中,每個節點(經廣播)與所有其他節點交換信息,但它僅告訴它們與它直接 相連鏈路的費用。

·報文復雜性:

LS 演算法要求每個節點都知道網路中每條鏈路的費用,需要發送 O(nE)個消息。

DV 演算法要求在每次迭代時,在兩個直接相連鄰居之間交換報文,演算法收斂所需的時間 依賴於許多因素。當鏈路費用改變時,DV 演算法僅當在會導致該節點的最低費用路徑發生改 變時,才傳播已改變的鏈路費用。

·收效速度:

DV演算法收斂較慢,且在收斂時會遇到選路環路。DV演算法還會遭受到計數到無窮的問題。

•健壯性:  在 LS 演算法中,如果一台路由器發生故障、或受到破壞,路由器會向其連接的鏈路廣播 不正確費用,導致整個網路的錯誤。

在 Dv 演算法下, 每次迭代時,其中一個節點的計算結果會傳遞給它的鄰居,然後在下次迭代時再間接地傳遞給鄰居的鄰居。在這種情況下,DV 演算法中一個不正確的計算結果也會擴散到整個網路。

四.層次選路

兩個原因導致層次的選路策略:

•規模: 隨著路由器數目增長,選路信息的計算、存儲及通信的開銷逐漸增高。

•管理自治: 一般來說,一個單位都會要求按自己的意願運行路由器(如運行其選擇的某 種選路演算法),或對外部隱藏其內部網路的細節。

層次的選路策略是通過將路由器劃分成自治系統 AS 來實施的。

每個 AS 由一組通常在相同管理控制下的路由器組成(例如由相同的 ISP 運營或屬於相同 的公司網路)。在相同的 AS 內的路由器都全部運行同樣的選路演算法。

在一個自治系統內運行的選路演算法叫做自治系統內部選路協議。 在一個 AS 邊緣的一台 或多台路由器,來負責向本 AS 之外的目的地轉發分組,這些路由器被稱為網關路由器

在各 AS 之間,AS 運行相同的自治系統間選路協議。