主頁 > 軟體設計 > 超詳細的計算機網路基礎知識總結 第四章:網路層

超詳細的計算機網路基礎知識總結 第四章:網路層

2021-12-09 07:54:20 軟體設計

本文基于:王道計算機考研-計算機網路

?其他文章:
超詳細的計算機網路基礎知識 第一章:概述
超詳細的計算機網路基礎知識 第二章:物理層
超詳細的計算機網路基礎知識 第三章:資料鏈路層

你的支持就是博主繼續更新的動力!計算機網路將會持續更新?

相見即是有緣,如果對你有幫助,給博主一個免費的點贊以示鼓勵把QAQ?

在這里插入圖片描述

1 網路層概述

網路層的主要任務是把分組從源端傳到目的端,為分組交換網上的不同主機提供通信服務,網路層傳輸單位是資料報

> **網路層在OSI參考模型中的體系結構**

在這里插入圖片描述

資料報和分組的關系

  • 資料報是比較長的資料,分組是將資料報進行切割劃分出來的一個片段

功能:

  • 路由選擇與分組轉發:找出路由最佳路徑
  • 異構網路互聯:讓不同的網路之間實作通信
  • 擁塞控制
    • 開環控制(靜)在網路開始作業之前,先把能想到的產生擁塞的因素控制到
    • 倍訓控制(動)在網路運行起來的時候,自動的調整,實作擁塞的控制

2 資料交換方式

在這里插入圖片描述

2.1 三種資料交換方式

2.1.1 電路交換

在這里插入圖片描述

2.1.2 報文交換

在這里插入圖片描述

2.1.3 分組交換

在這里插入圖片描述

2.2 報文交換與分組交換對比

我們假設鏈路傳輸速率為1000bps,報文長度為10000bit,分組后為10bit

報文交換:

10000bit/1000bps = 10s

一共是三段,所以加起來是30s

在這里插入圖片描述
分組交換:

分為兩段,第一段是第一組報文發送到最后一個報文發送,第二段是最后一個報文到達目的地
  • 第一段時間=10000bit/1000bps=10s
  • 第二段時間=經過兩個交換設備的時間=0.01x2=0.02s

相加=分組交換的時間=10.02s

在這里插入圖片描述

2.3 三種資料交換方式比較總結

在這里插入圖片描述

2.4 分組交換的兩組傳輸方式:資料報-虛電路

在這里插入圖片描述

2.4.1 幾種傳輸單元名詞辨析

OSI參考模型基本單元
應用層報文
傳輸層報文段
網路層IP資料報,分組
資料鏈路層
物理層位元流

2.4.2 資料報

在這里插入圖片描述

2.4.3 虛電路

在這里插入圖片描述
在這里插入圖片描述

3 IP資料報格式

在這里插入圖片描述

名稱解釋長度
版本ipv4或者ipv64
首部長度單位是4B,最小為5,IP資料報固定長度為20位元組,首部長度x4位資料報真實長度,5x4=204
區分服務指示期望獲得哪種型別的服務,很少用8
總長度首部的長度+資料的長度,單位是1B16
標識同一資料報的分片使用同一標識16
標志標識是否禁止分片以及分片是否結束3(只有2位有意義)
片偏移指出較長分組分片后,謀篇在原分組中的相對位置,以8B為單位13
生存時間TTL,IP分組的保質期,經過一個路由器-1,變成0則丟棄8
協議用來標記協議名的欄位,欄位值見下表8
首部檢驗和檢驗首部的欄位15
源地址發送方ip地址32
目的地址接收方ip地址32
可選長度用來支持排錯、測量以及安全等措施長度可變,為0-40之間
填充全0,把首部補成4B的整數倍未知,根據可選欄位來定

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

3.1 IP資料報分片例題

用第一個起始的位元組/8就可以得出偏移量

在這里插入圖片描述
在這里插入圖片描述

4 IP

全世界唯一的32位/4位元組識別符號,標識路由器主機的介面

IP地址::={<網路號>,<主機號>}

4.1 IPv4地址

唯一的標識一個主機或路由器等設備的介面

4.1.1 分類的ip地址

在這里插入圖片描述

4.1.2 特殊的ip地址

在這里插入圖片描述

環回地址:永遠不會進入到網路中

A類ip地址:

8位最大為126因為,A類地址以0開頭前8位最大為0111111112^7-1=127,而127是特殊地址,故最大為前八位
為126

B類ip地址:

8最大為191,因為10xxxxxx最大為10111111,為191,最小為10000000128,無特殊地址

C類ip地址:

8最大為223,因為110xxxxx最大為11011111,為223,最小為11000000,為192,無特殊地址

4.1.3 私有ip地址

在這里插入圖片描述

4.1.4 分類的ip地址

在這里插入圖片描述

4.2 網路地址轉換(NAT)

在這里插入圖片描述

5 子網劃分與子網掩碼

分類的IP地址的弱點

  • IP地址空間的利用率有時很低,
  • 兩級IP地址不夠靈活

在這里插入圖片描述

子網號能否全01要看情況
主機號不能全01(全0指本網路,全1指廣播分組,都不能指派)

在這里插入圖片描述
在這里插入圖片描述

5.1 子網掩碼

子網掩碼由一系列連續的1和一系列連續的0構成,其中1取決于網路號的位數,主機位的位數全部是0

子網掩碼與IP地址逐位進行與運算,就得到子網網路地址,因為子網掩碼處均為1,故與運算中只有IP地址為1的位置才會將1保留

在這里插入圖片描述

5.1.1 子網掩碼習題1

在這里插入圖片描述
第一問:

我們只需要關注72192相與的結果

01001000

11000000

結果為:01000000=64

故網路地址為141.14.64.0

第二問:

01001000

11100000

結果為:01000000

故網路地址為141.14.64.0

子網掩碼不同,能劃分的子網數目也不同:

對于255.255.192.0而言,兩個255,共有161,192共有21,總長度為32位,故主機位剩余32-16-2=14位

對于255.255.244.0而言,兩個255,共有161,244共有31,總長度為32位,故主機位剩余32-16-3=13

5.1.2 子網掩碼習題2

在這里插入圖片描述

注意廣播分組要求目的地址為廣播地址,要求主機號為全1

255.255.252.0中含有221,總地址數為32,故剩余10位主機位

我們可以得知主機位會從77某處開始,由此可以計算

77=01001101

252=11111100

進行與運算結果為01001100,則子網ip地址所在網路為180.80.76.0,則B可能為目的地址

6 無分類編制CIDR

在這里插入圖片描述
例題:求192.199.170.82/27的最小地址和最大地址

最長地址為32位,故主機位=32-27=5,主機位會出現在82中,我們對82進行分析

82 = 01010010
前面有24位,所以主機位從82的第三位開始10110010)

則最大位數使主機號全為1

最小位數使主機號全為0

最小地址:192.199.170.64

最大地址:192.199.170.95

6.1 構成超網

將多個子網聚合城一個較大的子網,叫做構成超網,或路由聚合,他所用的方法是:將網路前綴縮短

網路1:206.1.0.0/17

網路2:206.1.128.0/1716位相同,則看第17位,將他們兩個總體向前挪一位,則聚合之后地址為

206.1.0.0/16

在這里插入圖片描述
但是聚合之后轉發表就將有多個匹配結果,我們使用最長前綴匹配

試題1

在這里插入圖片描述

此題應在R1與R2之間選擇,當最長前綴計算后,符合同一子網,則選擇前綴最長的

故這題選B

試題2
在這里插入圖片描述

最長地址為32位,前24位為網路號,32-24得出主機位+子網位為8,則192.168.5.0,主機位+子網位為后8位,則最
大子網個數需要看子網掩碼,子網掩碼后8位為248,二進制為11111000,則子網號為11111,最大子網個數為32,
最大可分配地址個數為6(主機位不能全0或全1

故答案選B

7 ARP協議

ARP高速快取中存的是IP地址MAC地址的映射

ARP協議就是完成主機或路由器IP地址到MAC地址的映射,解決下一條走哪的問題

在這里插入圖片描述

8 DHCP協議

DHCP協議用于動態分配IP地址

在這里插入圖片描述

9 ICMP協議

在這里插入圖片描述

9.1 ICMP差錯報文(5種)

其中源點抑制已經廢棄
在這里插入圖片描述

9.2 ICMP差錯報告報文資料欄位

在這里插入圖片描述

9.3 不應發送ICMP差錯報文的情況

在這里插入圖片描述

9.4 ICMP詢問報文

掩碼地址請求和回答報文,路由器詢問和通告報文已經廢棄不再使用

在這里插入圖片描述

9.5 ICMP的應用

  • ping
    • 測驗兩個主機之間的連通性,使用了ICMP回送請求和回答報文
  • Traceroute
    • 跟蹤一個分組從源點到終點的路徑,使用了ICMP時間超過差錯報告報文

在這里插入圖片描述

10 IPv6

為什么會有IPv6?

因為ipv4快用完了,急需擴充地址數量,使用IPv6可以根本上解決地址耗盡問題
在這里插入圖片描述

10.1 IPv6資料報格式

名稱解釋位數
版本指明了協議版本,總是6,區分資料報的類別和優先級4
優先級用來區分資料報的型別8
流標簽標記是否屬于同一個流19
有效載荷長度擴展首部+資料的大小16
下一個首部標識下一個擴展首部或上層協議首部8
跳數限制相當于IPv4的TTL7
源地址發送方ipv6地址128
目的地址接收方ipv6地址128

在這里插入圖片描述

10.2 IPv6和IPv4區別

在這里插入圖片描述

10.3 IPv6地址表示形式

在這里插入圖片描述

10.4 IPv4與IPv6之間過渡的策略

在這里插入圖片描述

11 路由演算法

11.1 路由演算法的分類

在這里插入圖片描述

11.2 分層次的路由選擇協議

在這里插入圖片描述
在這里插入圖片描述

11.3 RIP協議及距離向量演算法

11.3.1 RIP協議概述

距離

  • 從源埠到目的埠所經過的路由器個數

在這里插入圖片描述

11.3.2 距離向量演算法

在這里插入圖片描述
在這里插入圖片描述

距離向量演算法練習題1

在這里插入圖片描述

先對R4發來的路由更新中的距離做+1操作

源路由表無Net1資訊,則直接填入

目的網路Net2的下一條路由器地址相同,則直接更新

目的網路Net3的的下一條路由與源路由不同,取路徑最小的,更新路由表

11.3.3 RIP協議的報文格式

在這里插入圖片描述

12 OSPF協議

在這里插入圖片描述

12.1 鏈路狀態路由演算法

了解即可
在這里插入圖片描述

12.2 OSPF的區域

在這里插入圖片描述

12.3 OSPF分組

在這里插入圖片描述

IP資料報的三種傳輸方式

名稱解釋
單播單播用于發送資料包到單個目的地,且沒發送一份單播報文都是用一個單播IP地址作為目的地址,是一種點對點傳輸方式
廣播廣播是指發送資料包到同一廣播域或子網內的所有設備的一種資料傳輸方式,是一種點對多點傳輸方式
組播當網路中的某些用戶需要特定資料時,組播資料發送者僅發送一次資料,借助組播路由協議為組播資料報簡歷組播分發樹,被傳遞的資料到達距離用戶端盡可能近的節點后才開始復制和分發

組播只會對全部中的一部分起作用

  • 單播在發送者和每一接受者之間需要單獨的資料信道
  • 組播提高了資料傳送效率,減少了主干網出現擁塞的可能性,組播組中的主機可以是在同一個物理網路,也可以來自不同的物理網路(如果有組播路由器的支持)

13.1 IP組播地址

IP組播地址讓源設備能夠將分組發送給一組設備,屬于多播組的設備將被分配一個組播組IP地址(一群共同需求主機的相同標識)

在這里插入圖片描述

13.2 硬體組播

組播地址以十六進制值01-00-5E為頭部,發給那些主機需要看剩下的6個十六進制位,余下的6個十六進制位是根據IP組播地址的最后23位轉換到的

在這里插入圖片描述

13.3 IGMP協議與組播路由選擇協議

13.3.1 IGMP協議

IGMP協議讓路由器知道本局域網上是否有主機(的行程)參加或退出了某個組播組

IGMP協議并不知道組播組中成員個數,也不知道這些成員都在哪些網路上面

在這里插入圖片描述

13.3.2 組播路由選擇協議

在這里插入圖片描述
在這里插入圖片描述

14 移動IP

移動IP讓用戶即使處于不同的地地域,也可以使用同一內網

14.1 移動IP相關術語

在這里插入圖片描述

14.2 移動IP通信程序

在這里插入圖片描述
在這里插入圖片描述

15 網路層設備

15.1 路由器

路由器的任務是轉發分組

在這里插入圖片描述

15.1.1 路由器中輸入輸出埠的處理

在這里插入圖片描述
在這里插入圖片描述

15.2 三層設備的區別

在這里插入圖片描述

16 本章思維導圖

在這里插入圖片描述
?其他文章:
超詳細的計算機網路基礎知識 第一章:概述
超詳細的計算機網路基礎知識 第二章:物理層
超詳細的計算機網路基礎知識 第三章:資料鏈路層

你的支持就是博主繼續更新的動力!計算機網路將會持續更新?

相見即是有緣,如果對你有幫助,給博主一個免費的點贊以示鼓勵把QAQ?

在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/377024.html

標籤:其他

上一篇:企業落地專案 --- 中鐵局一體化平臺SSL CFCA證書環境搭建

下一篇:Dockerfile(Dockerfile的詳細使用、通過Dockerfile構建apache鏡像)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more