計算機網絡(四):網絡層


1、網絡層提供的服務

1.1 網絡層的作用

負責在不同的網絡之間(基於數據包的IP地址)盡力轉發數據包,不負責丟包重傳和接收順序。類似送快遞,一個人往另一個地方寄快遞,每個快遞走不同的路線,可能后發的先到了,也可能丟件了。但是網絡層不管這些,只管寄快遞。

在這里插入圖片描述

數據包在Internet中傳輸,Internet既有局域網,又有廣域網,既有光纖,又有銅線,無線,還有不同的協議,這是Internet復雜所在。 路由器是三層設備:能根據網絡層的IP地址來選擇路徑。

在這里插入圖片描述

1.2 互聯網絡與虛擬互聯網絡

(1)互聯網互聯的設備

中間設備又稱為中間系統或中繼(relay)系統。

  • 物理層中繼系統:轉發器(repeater),有點像集線器。
  • 數據鏈路層中繼系統:網橋或橋接器(bridge)。
  • 網絡層中繼系統:路由器(router)。
  • 傳輸層/應用層中繼系統:網關(gateway)器(網關就是路由器接口的地址,一般是本網段第一個地址)。

(2)網絡需要解決的問題

在這里插入圖片描述

(3)虛擬網絡把復雜的Internet看成一個網絡,簡化問題。虛擬互聯網絡就是邏輯互聯網絡,它的意思就是互連起來的各種物理網路的異構性本來就是客觀存在的,但是我們利用IP協議就可以使這些性能各異的網絡從用戶看起來好像是一個統一的網絡,而不用考慮具體的網絡異構細節。

在這里插入圖片描述

2、網絡設備和OSI參考模型的關系

2.1 舉例:PC4向PC3傳輸數據

在這里插入圖片描述

(PC:計算機;Hub:集線器;Switch:交換機;Router:路由)

發送端(封裝):

(1)應用層准備要傳輸的數據;

(2)傳輸層把文件進行分段並編號;(數據段)

(3)網絡層把傳輸層的每一個數據包增加原IP地址和目標IP地址;(數據包)

(4)數據鏈路層把每個數據加上MAC地址;兩種情況:(數據幀)使用自己的子網掩碼,判斷自己和目標地址分別在哪個網段,若在同一個網段(不過路由器),通過ARP協議廣播的方式得到目標IP地址的MAC地址,然后就能封裝出一個數據幀;如果子網掩碼不是一個網段(用與運算),通過ARP協議廣播的方式得到路由器(網關)的MAC地址,然后把數據通過交換機發送到路由器M2,因為M2和M3是點對點通信,沒有別的主機,所以它們之間的MAC地址就是FF。

(5)物理層把數據幀變成數字信號(bit流)。

接收端(解封):

(1)交換機Hub0接收bit流,能對數據進行存儲轉發。它根據數據幀的MAC地址,確定數據是從哪來的,要去哪。

(2)路由器M2獲取交換機的數據包,識別其中的IP地址,根據路由表選擇出口,它無法識別數據段內容。

(3)路由器M2到M3是點對點通信,遵守PPP協議。

(4)PC3收到bit流后,數據鏈路層發現MAC地址是自己的,去掉MAC地址給它的網絡層,網絡層去掉IP地址給傳輸層,傳輸層把數據給應用層,應用層把各個數據拼接起來。

2.2 路由器 / 交換機 / 集線器會不會中病毒

答案是:不會,路由器不能識別數據內容。它只負責信息的傳遞。但是病毒會影響網絡設備。因為病毒會占用網絡流量。

3、ARP協議

3.1 TCP / IP協議層次關系

在這里插入圖片描述

HTTP / FTP / DNS都為應用層協議,TCP / UDP為運輸層協議,IP協議為網絡層協議。

IP協議:把數據包從一個網段轉到另一個網段,就是用來選擇路徑用的。

ARP(地址解析協議)為IP服務,IP為ICMP / IGMP服務。

3.2 ARP協議的作用

將IP地址通過廣播(本網段,不通過路由器),目標MAC地址是FF-FF-FF-FF-FF-FF,解析目標IP地址的MAC地址。ARP是解決同一個局域網上的主機或路由器的IP地址和MAC地址的映射關系。如果所找的主機和原主機不在同一個局域網上,那么就要通過ARP找一個位於本局域網上的某個路由器的MAC地址,然后把分組發送給這個路由器,讓這個路由器把分組轉發給下一個網絡。剩下的工作就由下一個網絡來做。從IP地址到MAC地址的解析是自動進行的,主機的用戶對這種地址解析過程是不知情的。只要主機或路由器要和本網絡上的另一個已知IP地址的主機或路由器進行通信,ARP協議就會自動地將該IP地址解析為鏈路層所需要的MAC地址。

3.3 使用ARP的四種典型情況

(1)發送方是主機,要把IP數據報發送到本網絡的另一個主機,此時用ARP找到目標主機的MAC地址;

(2)發送方是主機,要把IP數據報發送到另一個網絡的另一個主機,此時用ARP找到本網絡上一個路由器的MAC地址,剩下的工作由路由器進行;

(3)發送方是路由器,要把IP數據報發送到本網絡的另一個主機,此時用ARP找到目標主機的MAC地址;

(4)發送方是路由器,要把IP數據報發送到另一個網絡的另一個主機,此時用ARP找到本網絡上一個路由器的MAC地址,剩下的工作由路由器進行;

3.4 RARP

RARP是逆地址解析協議的英文縮寫,通過該協議,在只知道自己MAC地址的情況下,就能獲得符合ARP解析規則的IP地址。

3.5 ARP欺騙

參考:[https://baike.baidu.com/item/ARP%E6%AC%BA%E9%AA%97]:

4、網際控制報文協議ICMP

4.1 ICMP

ICMP:在IP之上,用來測試網絡層有沒有故障。使用最多的命令是ping。

為了提高IP數據報交付成功的機會,在網絡層使用了ICMP(Internet Control Message Protocol)。

ICMP允許主機或路由器報告差錯情況和提供有關異常情況的報告;

ICMP不是高層協議,而是IP層協議;

ICMP報文件為IP層數據報的數據加上數據報的首部,組成IP數據報發送出去。

4.2 ping命令(Packet Internet Group)診斷網絡故障

PING是網絡層命令。TTL是數據報的生存時間每過一個路由器就會減1,作用是防止數據報在網絡中循環。TTL默認初始值如下:Linux 64;Windows 128;Unix 256可以根據TTL值粗略判定對方是什么系統。

(1)PING,因特網包套所起,用於測試網絡連接量的程序。ping發送一餓ICMP回聲請求消息給目的地並報告是否收到所希望的ICMP回聲應答。

(2)ping指端對端聯通,通常用作可用性檢測,但是某些病毒會強行大量遠程執行ping命令搶占你的網絡資源,導致系統網速變慢。嚴禁ping入侵作為大多數防火牆的一個基本功能提供給用戶進行選擇。

(3)如果打開IE瀏覽器訪問網站失敗,可以通過ping命令測試到Internet的網絡連通,可以為你排除網絡故障提供線索。

4.3 ping和pathping命令

QQ能登上,網頁打不開是為什么? 網絡層沒有問題,域名解析有問題。pathping 能跟蹤數據包路徑,發現出問題

的位置。Windows上跟蹤數據包路徑的命令:tracert 10.7.1.53。路由器上跟蹤數據包路徑的命令:traceroute 12.0.0.3。

5、IGMP協議和多播組播

5.1 點到點通信

廣播:目標MAC地址全是F,目標IP地址全是255,也就是全1。全網廣播不能跨越路由器。

組播 = 多播:分組廣播。

5.2 訪問多播視頻節目

使用多播一般用於直播,網絡會議,能夠節省帶寬。IGMP協議的作用就是周期性掃描本網段內有沒有主機在訪問多播數據包。

6、IP數據包的結構

注意:ARP數據包不是這個格式。

首部:第一部分是固定長度,20字節,是所有IP數據包必須具有的。后一部分是可選字段,長度可變。

在這里插入圖片描述

每一行32bit相當於4個字節,一共5行,共20字節。

在這里插入圖片描述

(1)版本:用來表示TCP/IP是哪個版本,ipv4還是ipv6。

(2)區分服務:確定更高的傳輸優先級。

(3)總長度:確定數據部分長度。一共是16位,最多有 2^16 - 1 = 65535 字節。

注意:網絡層,數據包最大65535字節;而數據鏈路層數據最大是1500字節,是不一樣的。所以說,一旦超過數據鏈路層的最大要求時(網絡層數據部分超過1480字節),數據包會分片。最大傳輸單元MTU。

在這里插入圖片描述

數據包分片:把數據分割,分別添加IP地址,通過網絡發給目標MAC地址。目標在通過網絡層拼接。傳送過程中可能會丟包,或者后發的先到(淚滴攻擊就是利用目標機發送破壞的IP包(重疊的包貨過大的包負荷)可以通過TCP/IP協議來癱瘓各種不同的操作系統)。所以需要編號。

(4)標識:如果出現數據包分片,那么標識用來確定哪些數據包是需要組合的。

(5)標志:確定該數據包是完整的還是分片中的一部分。占3位,只有前兩位有用,標志字段最低位是MF(More Fragment),MF = 1表示后面還有分片,MF = 0表示最后一個分片。標志字段中間一位是DF(Don’t Fragment),只有DF = 0才允許分片。

(6)片偏移:偏移等於當前字節在數據部分的第幾個再除以8(下圖是一個舉例)

在這里插入圖片描述

(7)生存時間:就是TTL(time to live),每過一個路由器就減1。8位二進制。紡織數據包在網絡中循環。

(8)協議:用協議號標識數據部分是什么數據。

在這里插入圖片描述

ICMP協議號:1

IGMP協議號:2

TCP協議號:6

UDP協議號:17

IPv6協議號:41

OSPF協議號:89

(9)首部檢驗和:16位,只檢驗數據報的首部,不檢驗數據部分。這里不是采用CRC校驗碼而是采用簡單的計算方法。每經過一個路由器就會檢驗一次。

在這里插入圖片描述

(10)源地址和目的地址都是IP地址,32位,只符合IPv4。IPv6是128位。 (11)可變部分:一般沒用。

7、IP協議

網絡暢通的條件:沿途路由器必須知道下一跳給誰,數據包有去有回。

在這里插入圖片描述

7.1 靜態路由

需要管理員告訴路由器所有沒有直連的網絡下一跳給誰。適合於小規模網絡,不能自動調整路由。

7.2 動態路由

7.2.1 RIP協議

周期性廣播(30s)路由表,選擇路徑的依據是最少的跳數,最大跳數是15跳,所以一般不適合大網絡。

7.2.2 OSPF協議

根據帶寬選擇路徑。

8、子網掩碼

能夠幫助路由器判斷對應主機是否在同一個網段中.

在這里插入圖片描述

9、ABCDE類網絡地址

網絡地址(網絡號)唯一指定了每個網絡。同一網絡中的每台計算機都共享相同的網絡地址,並用它作為自己IP地址的一部分。ABC對應的子網掩碼分別是 255.0.0.0 和 255.255.0.0 和 255.255.255.0

在這里插入圖片描述

幾個特殊地址:

127.0.0.1 本地換回地址

169.254.0.0

10.0.0.0,172.16.0.0 – 172.31.0.0,192.168.0.0 – 192.168.255.0 保留的私網地址

在這里插入圖片描述

10、子網划分

在這里插入圖片描述

在這里插入圖片描述

注意:全為1是廣播,所以63,127,191,254不選。

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM