㈠ 計算機專業考研必考知識點
【導讀】相信提起計算機專業,大家都不陌生,近幾年發展迅猛,並且如果你是研究生,月入過萬不是問題,當然他們也比我們一般人要辛苦,每年都會有很多人報考計算機專業考研,以期在未來能有更好的發展,今天給大家帶來的是計算機專業考研必考知識點,21年考研的考生一定要學習起來。
㈡ 《2021年王道計算機網路考研》pdf下載在線閱讀全文,求百度網盤雲資源
《2021年王道計算機網路考研》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1sLrFY0aBQZvMsuofcTuZVg
㈢ 計算機網路第四章(網路層)
4.1、網路層概述
簡介
網路層的主要任務是 實現網路互連 ,進而 實現數據包在各網路之間的傳輸
這些異構型網路N1~N7如果只是需要各自內部通信,他們只要實現各自的物理層和數據鏈路層即可
但是如果要將這些異構型網路互連起來,形成一個更大的互聯網,就需要實現網路層設備路由器
有時為了簡單起見,可以不用畫出這些網路,圖中N1~N7,而將他們看做是一條鏈路即可
要實現網路層任務,需要解決一下主要問題:
網路層向運輸層提供怎樣的服務(「可靠傳輸」還是「不可靠傳輸」)
在數據鏈路層那課講過的可靠傳輸,詳情可以看那邊的筆記:網路層對以下的 分組丟失 、 分組失序 、 分組重復 的傳輸錯誤採取措施,使得接收方能正確接受發送方發送的數據,就是 可靠傳輸 ,反之,如果什麼措施也不採取,則是 不可靠傳輸
網路層定址問題
路由選擇問題
路由器收到數據後,是依據什麼來決定將數據包從自己的哪個介面轉發出去?
依據數據包的目的地址和路由器中的路由表
但在實際當中,路由器是怎樣知道這些路由記錄?
由用戶或網路管理員進行人工配置,這種方法只適用於規模較小且網路拓撲不改變的小型互聯網
另一種是實現各種路由選擇協議,由路由器執行路由選擇協議中所規定的路由選擇演算法,而自動得出路由表中的路有記錄,這種方法更適合規模較大且網路拓撲經常改變的大型互聯網
補充 網路層(網際層) 除了 IP協議 外,還有之前介紹過的 地址解析協議ARP ,還有 網際控制報文協議ICMP , 網際組管理協議IGMP
總結
4.2、網路層提供的兩種服務
在計算機網路領域,網路層應該向運輸層提供怎樣的服務(「 面向連接 」還是「 無連接 」)曾引起了長期的爭論。
爭論焦點的實質就是: 在計算機通信中,可靠交付應當由誰來負責 ?是 網路 還是 端系統 ?
面向連接的虛電路服務
一種觀點:讓網路負責可靠交付
這種觀點認為,應藉助於電信網的成功經驗,讓網路負責可靠交付,計算機網路應模仿電信網路,使用 面向連接 的通信方式。
通信之前先建立 虛電路 (Virtual Circuit),以保證雙方通信所需的一切網路資源。
如果再使用可靠傳輸的網路協議,就可使所發送的分組無差錯按序到達終點,不丟失、不重復。
發送方 發送給 接收方 的所有分組都沿著同一條虛電路傳送
虛電路表示這只是一條邏輯上的連接,分組都沿著這條邏輯連接按照存儲轉發方式傳送,而並不是真正建立了一條物理連接。
請注意,電路交換的電話通信是先建立了一條真正的連接。
因此分組交換的虛連接和電路交換的連接只是類似,但並不完全一樣
無連接的數據報服務
另一種觀點:網路提供數據報服務
互聯網的先驅者提出了一種嶄新的網路設計思路。
網路層向上只提供簡單靈活的、 無連接的 、 盡最大努力交付 的 數據報服務 。
網路在發送分組時不需要先建立連接。每一個分組(即 IP 數據報)獨立發送,與其前後的分組無關(不進行編號)。
網路層不提供服務質量的承諾 。即所傳送的分組可能出錯、丟失、重復和失序(不按序到達終點),當然也不保證分組傳送的時限。
發送方 發送給 接收方 的分組可能沿著不同路徑傳送
盡最大努力交付
如果主機(即端系統)中的進程之間的通信需要是可靠的,那麼就由網路的 主機中的運輸層負責可靠交付(包括差錯處理、流量控制等) 。
採用這種設計思路的好處是 :網路的造價大大降低,運行方式靈活,能夠適應多種應用。
互連網能夠發展到今日的規模,充分證明了當初採用這種設計思路的正確性。
虛電路服務與數據報服務的對比
對比的方面 虛電路服務 數據報服務
思路 可靠通信應當由網路來保證 可靠通信應當由用戶主機來保證
連接的建立 必須有 不需要
終點地址 僅在連接建立階段使用,每個分組使用短的虛電路號 每個分組都有終點的完整地址
分組的轉發 屬於同一條虛電路的分組均按照同一路由進行轉發 每個分組獨立選擇路由進行轉發
當結點出故障時 所有通過出故障的結點的虛電路均不能工作 出故障的結點可能會丟失分組,一些路由可能會發生變化
分組的順序 總是按發送順序到達終點 到達終點時不一定按發送順序
端到端的差錯處理和流量控制 可以由網路負責,也可以由用戶主機負責 由用戶主機負責
4.3、IPv4
概述
分類編制的IPv4地址
簡介
每一類地址都由兩個固定長度的欄位組成,其中一個欄位是 網路號 net-id ,它標志主機(或路由器)所連接到的網路,而另一個欄位則是 主機號 host-id ,它標志該主機(或路由器)。
主機號在它前面的網路號所指明的網路范圍內必須是唯一的。
由此可見, 一個 IP 地址在整個互聯網范圍內是唯一的 。
A類地址
B類地址
C類地址
練習
總結
IP 地址的指派范圍
一般不使用的特殊的 IP 地址
IP 地址的一些重要特點
(1) IP 地址是一種分等級的地址結構 。分兩個等級的好處是:
第一 ,IP 地址管理機構在分配 IP 地址時只分配網路號,而剩下的主機號則由得到該網路號的單位自行分配。這樣就方便了 IP 地址的管理。
第二 ,路由器僅根據目的主機所連接的網路號來轉發分組(而不考慮目的主機號),這樣就可以使路由表中的項目數大幅度減少,從而減小了路由表所佔的存儲空間。
(2) 實際上 IP 地址是標志一個主機(或路由器)和一條鏈路的介面 。
當一個主機同時連接到兩個網路上時,該主機就必須同時具有兩個相應的 IP 地址,其網路號 net-id 必須是不同的。這種主機稱為 多歸屬主機 (multihomed host)。
由於一個路由器至少應當連接到兩個網路(這樣它才能將 IP 數據報從一個網路轉發到另一個網路),因此 一個路由器至少應當有兩個不同的 IP 地址 。
(3) 用轉發器或網橋連接起來的若干個區域網仍為一個網路 ,因此這些區域網都具有同樣的網路號 net-id。
(4) 所有分配到網路號 net-id 的網路,無論是范圍很小的區域網,還是可能覆蓋很大地理范圍的廣域網,都是平等的。
劃分子網的IPv4地址
為什麼要劃分子網
在 ARPANET 的早期,IP 地址的設計確實不夠合理:
IP 地址空間的利用率有時很低。
給每一個物理網路分配一個網路號會使路由表變得太大因而使網路性能變壞。
兩級的 IP 地址不夠靈活。
如果想要將原來的網路劃分成三個獨立的網路
所以是否可以從主機號部分借用一部分作為子網號
但是如果未在圖中標記子網號部分,那麼我們和計算機又如何知道分類地址中主機號有多少比特被用作子網號了呢?
所以就有了劃分子網的工具: 子網掩碼
從 1985 年起在 IP 地址中又增加了一個「 子網號欄位 」,使兩級的 IP 地址變成為 三級的 IP 地址 。
這種做法叫做 劃分子網 (subnetting) 。
劃分子網已成為互聯網的正式標准協議。
如何劃分子網
基本思路
劃分子網純屬一個 單位內部的事情 。單位對外仍然表現為沒有劃分子網的網路。
從主機號 借用 若干個位作為 子網號 subnet-id,而主機號 host-id 也就相應減少了若干個位。
凡是從其他網路發送給本單位某個主機的 IP 數據報,仍然是根據 IP 數據報的 目的網路號 net-id,先找到連接在本單位網路上的路由器。
然後 此路由器 在收到 IP 數據報後,再按 目的網路號 net-id 和 子網號 subnet-id 找到目的子網。
最後就將 IP 數據報直接交付目的主機。
劃分為三個子網後對外仍是一個網路
優點
1. 減少了 IP 地址的浪費 2. 使網路的組織更加靈活 3. 更便於維護和管理
劃分子網純屬一個單位內部的事情,對外部網路透明 ,對外仍然表現為沒有劃分子網的一個網路。
子網掩碼
(IP 地址) AND (子網掩碼) = 網路地址 重要,下面很多相關知識都會用到
舉例
例子1
例子2
默認子網掩碼
總結
子網掩碼是一個網路或一個子網的重要屬性。
路由器在和相鄰路由器交換路由信息時,必須把自己所在網路(或子網)的子網掩碼告訴相鄰路由器。
路由器的路由表中的每一個項目,除了要給出目的網路地址外,還必須同時給出該網路的子網掩碼。
若一個路由器連接在兩個子網上,就擁有兩個網路地址和兩個子網掩碼。
無分類編址的IPv4地址
為什麼使用無分類編址
無分類域間路由選擇 CIDR (Classless Inter-Domain Routing)。
CIDR 最主要的特點
CIDR使用各種長度的「 網路前綴 」(network-prefix)來代替分類地址中的網路號和子網號。
IP 地址從三級編址(使用子網掩碼)又回到了兩級編址 。
如何使用無分類編址
舉例
路由聚合(構造超網)
總結
IPv4地址的應用規劃
給定一個IPv4地址快,如何將其劃分成幾個更小的地址塊,並將這些地址塊分配給互聯網中不同網路,進而可以給各網路中的主機和路由器介面分配IPv4地址
定長的子網掩碼FLSM(Fixed Length Subnet Mask)
劃分子網的IPv4就是定長的子網掩碼
舉例
通過上面步驟分析,就可以從子網1 ~ 8中任選5個分配給左圖中的N1 ~ N5
採用定長的子網掩碼劃分,只能劃分出2^n個子網,其中n是從主機號部分借用的用來作為子網號的比特數量,每個子網所分配的IP地址數量相同
但是也因為每個子網所分配的IP地址數量相同,不夠靈活,容易造成IP地址的浪費
變長的子網掩碼VLSM(Variable Length Subnet Mask)
無分類編址的IPv4就是變長的子網掩碼
舉例
4.4、IP數據報的發送和轉發過程
舉例
源主機如何知道目的主機是否與自己在同一個網路中,是直接交付,還是間接交付?
可以通過 目的地址IP 和 源地址的子網掩碼 進行 邏輯與運算 得到 目的網路地址
如果 目的網路地址 和 源網路地址 相同 ,就是 在同一個網路 中,屬於 直接交付
如果 目的網路地址 和 源網路地址 不相同 ,就 不在同一個網路 中,屬於 間接交付 ,傳輸給主機所在網路的 默認網關 (路由器——下圖會講解),由默認網關幫忙轉發
主機C如何知道路由器R的存在?
用戶為了讓本網路中的主機能和其他網路中的主機進行通信,就必須給其指定本網路的一個路由器的介面,由該路由器幫忙進行轉發,所指定的路由器,也被稱為 默認網關
例如。路由器的介面0的IP地址192.168.0.128做為左邊網路的默認網關
主機A會將該IP數據報傳輸給自己的默認網關,也就是圖中所示的路由器介面0
路由器收到IP數據報後如何轉發?
檢查IP數據報首部是否出錯:
若出錯,則直接丟棄該IP數據報並通告源主機
若沒有出錯,則進行轉發
根據IP數據報的目的地址在路由表中查找匹配的條目:
若找到匹配的條目,則轉發給條目中指示的嚇一跳
若找不到,則丟棄該數據報並通告源主機
假設IP數據報首部沒有出錯,路由器取出IP數據報首部各地址欄位的值
接下來路由器對該IP數據報進行查表轉發
逐條檢查路由條目,將目的地址與路由條目中的地址掩碼進行邏輯與運算得到目的網路地址,然後與路由條目中的目的網路進行比較,如果相同,則這條路由條目就是匹配的路由條目,按照它的下一條指示,圖中所示的也就是介面1轉發該IP數據報
路由器是隔離廣播域的
4.5、靜態路由配置及其可能產生的路由環路問題
概念
多種情況舉例
靜態路由配置
舉例
默認路由
舉例
默認路由可以被所有網路匹配,但路由匹配有優先順序,默認路由是優先順序最低的
特定主機路由
舉例
有時候,我們可以給路由器添加針對某個主機的特定主機路由條目
一般用於網路管理人員對網路的管理和測試
多條路由可選,匹配路由最具體的
靜態路由配置錯誤導致路由環路
舉例
假設將R2的路由表中第三條目錄配置錯了下一跳
這導致R2和R3之間產生了路由環路
聚合了不存在的網路而導致路由環路
舉例
正常情況
錯誤情況
解決方法
黑洞路由的下一跳為null0,這是路由器內部的虛擬介面,IP數據報進入它後就被丟棄
網路故障而導致路由環路
舉例
解決方法
添加故障的網路為黑洞路由
假設。一段時間後故障網路恢復了
R1又自動地得出了其介面0的直連網路的路由條目
針對該網路的黑洞網路會自動失效
如果又故障
則生效該網路的黑洞網路
總結
4.6、路由選擇協議
概述
網際網路所採用的路由選擇協議的主要特點
網際網路採用分層次的路由選擇協議
自治系統 AS :在單一的技術管理下的一組路由器,而這些路由器使用一種 AS 內部的路由選擇協議和共同的度量以確定分組在該 AS 內的路由,同時還使用一種 AS 之間的路由選擇協議用以確定分組在 AS之間的路由。
自治系統之間的路由選擇簡稱為域間路由選擇,自治系統內部的路由選擇簡稱為域內路由選擇
域間路由選擇使用外部網關協議EGP這個類別的路由選擇協議
域內路由選擇使用內部網關協議IGP這個類別的路由選擇協議
網關協議 的名稱可稱為 路由協議
常見的路由選擇協議
㈣ 計算機網路(三)——網路層
網路層的 目的 是實現在任意結點間進行數據報傳輸,它的目的與鏈路層、物理層不是一樣的嗎?但是通過它數據可以在更大的網路中傳輸。
為了能使數據更好地在更大的網路中傳輸,網路層主要實現三個功能: 異構網路互聯 、 路由與轉發 和 擁塞控制 。
我們知道,在物理層、鏈路層,可以使用不同的傳輸介質和拓撲結構將幾台、十幾台主機連接在一起形成一個小型的區域網,把這些組成結構不完全相同的區域網稱為異構網,因此將它們連接擴大成更大的網路,需要一個類似轉接頭的設備——路由器,路由器不僅僅可以連接異構網,還能隔離沖突域和廣播域,依照IP地址轉發。
下圖對集線器、網橋、交換機和路由器能否隔離沖突域和廣播域進行比較:
路由器作為連接多個網路的結點,不僅需要完成對數據的分組轉發,還要選擇傳輸路徑,因此路由器主要由 路由選擇 和 分組轉發 組成。
網路層最重要的功能是 路由與轉發 功能。路由也就是選擇一條合適的路,轉發則是在這條路上遵守協議。這有點像從某個多個國家的交界城市自駕,選其中一條路,那麼就遵守這個國家的交通協議。
數據通過一個又一個路由器到達目的地址,路由器怎麼知道數據應該從哪個埠出發才能到達目的地呢?這就需要構造路由表。
路由表有兩種構造方式: 靜態 和 動態 。
一個個小網路可以構成一個區域,足夠多的區域互連成一個網路,多個網路又形成巨大的互聯網。要想讓數據高效在網路中傳輸,採用「分而治之」的理念。
將互聯網分為許多較小的自治系統,系統有權決定自己內部採用什麼路由協議,這便是層次路由。通過層次路由便可以採用靈活的協議傳輸數據。數據在自治系統內傳輸採用 內部網關協議 而自治系統之間則採用 外部網關協議 。
內部網關協議有兩種協議: 路由信息協議(RIP) 和 開放最短路徑優先協議(OSPF)
外部網關協議則是邊界網關協議(BGP)。內部網關協議服務某個自治系統,范圍較小,所以盡可能有效地從源站送到目的站,也就是找到一條最佳路徑。而外部網關協議需要面對更大的網路范圍和網路環境,因此更關注的找到比較好的路徑,也就是不能兜圈子。
BGP工作原理:
將三種路由協議進行比較:
構建大規模、異構網路的互聯網除了硬體的支持外,還需要建立協議以實現數據報傳輸服務——IP協議。
目前IP協議有兩個版本:IPv4和IPv6。
現在主流的IP協議版本還是IPv4。
IP數據報主要由首部和數據部分組成,由TCP報文段封裝到數據部分,再在前端加上一些描述信息的首部,其格式如下圖:
IP協議使用分組轉發,當報文過大時需要分片。分片的思路如下:
如果把IP數據報看作是信,那麼首部中的源地址與目的地址則分別是發信地址和郵件地址。為了方便路由計算這些地址,並且使IP地址足夠使用,因此將IP地址進行分類。
IP地址的格式 : {<網路號>,<主機號>},網路號標志主機所連接的網路,主機號標志該主機,每個IP地址都是唯一的。
IP地址分類 如下:
通過分類,可以計算每個網路中最大的主機數:
網路地址轉換(NAT)是一種轉換機制,將專用網路地址轉換為公用地址,目的是為了對外隱藏內部管理的IP地址,這樣不僅可以保證網路安全,還可以解決IP地址不足問題。
當路由器接收到的目的地址是私有地址則一律不進行轉發,而如果是公用地址,則是用NAT轉換表將源IP及埠號映射成全球IP號,然後從WAN埠發送到網際網路上。
IP地址有A、B、C類網路號,如果把A類網路號分給一個廣播域,那麼這個廣播域可以接入16,777,212台主機,然而一個廣播域不可能融入這么多台主機,因為這樣會導致廣播域過飽和而癱瘓,而只給其分配一定數量的網路號,則會浪費大量的IP地址。因此在IP地址中增加一個「子網號欄位」,將IP地址劃分為三級,即IP地址={<網路號>,<子網號>,<主機號>},也就是從主機號中借用幾個比特號作為子網號,這個子網號是對內劃分的,對外仍舊表現為二級IP地址。
主機或路由器如何判斷一個網路是否進行子網劃分了呢?——利用子網掩碼。
CIDR是 無分類 域間路由器選擇,目的是消除A、B、C類網路劃分,這樣可以大幅度提高IP地址空間利用率。相比較子網掩碼劃分,它更加靈活。
上圖中,如果R1收到前綴為206.1的IP地址,它只需要轉發給R2,具體發往網路1還是網路2,則由R2計算得出。
通過IP地址,可以將數據從某個網路傳輸到目的網路,但是把信息發送給哪台主機呢?由於路由器的隔離,IP網路沒辦法使用廣播方式查找MAC地址,只有通過鏈路層的MAC地址以廣播方式定址。
因此,IP協議還包括三個協議—— ARP、DHCP和ICMP ,共同配合完成數據轉發。
IPv6是解決IP地址耗盡的根本手段。它與IPv4的報文形式差別如下圖:
IPv6與IPv4地址通信示意圖:
在通信過程中,如果分組過量而導致網路性能下降,會產生擁塞。
擁塞的控制方式: