網絡基礎(五):網絡層協議介紹

目錄

一、網絡層

1、網絡層的概念

2、網絡層功能

3、IP數據包格式

二、ICMP協議

1、ICMP的作用和功能

2、ping命令的使用

2.1ping命令的通用格式

2.2ping命令的常用參數

2.3Type+Code:查看不同功能的ICMP報文

2.4ping出現問題

3、Tracert

4、沖突域

5、廣播域

三、ARP協議

1、ARP協議的概念

2、ARP協議的工作原理

四、總結


一、網絡層

1、網絡層的概念

網絡層是OSI參考模型七老仔層協議中的第三層,介于傳輸層和數據鏈路層之間,它在數據鏈路談穗層提供的兩個相鄰端點之間的數據幀的傳送功能上,進一步管理網絡中的數據通信,將數據設法從源端經過若干個中間節點傳送到目的端,從而向運輸層提供最基本的端到端的數據傳送服務。

2、網絡層功能

①定義基于IP協議的邏輯地址(ip確定設備在網絡位置)

②連接不同的媒介類型

③在網絡中選擇最佳路徑轉發數據

3、IP數據包格式

數據封裝的時候在網絡層會封裝ip地址的頭部,形成ip數據包

IP數據包格式:20字節的固定部分(每個ip數據包必須包含的部分)和40字節的可變長部分

版本(4)

Version

首部長度(4)

Header Length

優先級與服務類型(8)

Type of Service

總長度(16)

Total Length

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?標識符(16)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Identification

標志(3)

Flags

段偏移量(13)

Fragment Offset

TTL(8)

協議號(8)

Protocol

首部校驗和(16)

Header Checksum

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?源地址Source IP Address(32)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?目標地址Destination IP Address(32)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 可選項Options
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數據Data
  • 版本號(4bit):指IP協議版本為IPV4和IPV6。并且通信雙方使用的版本必須一致,目前我們使用的IPv4,表示0100
  • 首部長度(4):IP數據包的包頭長度(不包括數據)
  • 優先級與服務類型(8):該字段用于表示數據包的優先級和服務類型。通過在數據包中劃分一定的優先級,用于實現Qos(服務質量)的要求。即區分IP數據包的優先處理級別
  • 總長度(16):定義IP數據包的總長度,最長為65535字節,包括包頭和數據
  • 標識符(16):該字段用于表示IP數據包的標識符。當IP對上層數據進行分片時,它將給所有的分片分配一組標號,然后將這些編號放入標識符字段中,保證分片不會被錯誤地重組。標識符字段用于標志一個數據包,以便接收節點可以重組被分片的數據包。即確定數據的分片是否來自于同一個文件
  • 標志(3):代表數據過小不需要分片,代表該組最后一個數據包
  • 段偏移量(13):該數據片離起點的位置坐標
  • TTL生命周期(8):可以防止一個數據包在網絡中無限循環的轉發下去,每經過一個路由器-1, 當TTL的值位0時,該數據包將被丟棄。TTL≥128指win系統,TTL≤64指Linux系統
  • 協議號(8):封裝的上層那個協議,ICMP:1 IGMP:2 TCP:6 UDP:17
  • 首部校驗和(16):這個字段只檢驗數據報的首部,不包括數據部分。這是因為數據報沒經過 一次路由器,都要重新計算一下首部校驗和(因為一些字段如生存時間、標志、片偏移等可能發生的變化)
  • 源地址(32):源IP地址,表示發送端的IP地址
  • 目標地址(32):目標IP地址,表示接收端的IP地址
  • 可選項:選項字段根據實際情況可變長,可以和IP一起使用的選項有多個。例如:可以輸入創建該數據包的時間等。在選項之后,就是上層數據。
  • 數據

二、ICMP協議

1、ICMP的作用和功能

  • ICMP是一個“錯誤偵測與回饋機制”
  • 通過IP數據包封裝的
  • 用來發送錯誤與控制信息

實際上就是通過ping命令檢測網絡的雙向聯通性

2、ping命令的使用

2.1ping命令的通用格式
ping [選項/參數] IP地址
其中[選項/參數]指的是增加額外功能
2.2ping命令的常用參數
常用參數格式功能描述
ping -t ip地址系統會一直不停地ping下去,按ctrl+c停止長ping
ping -l size ip地址指定數據包的大小
ping -w 等待時間(默認2毫秒) ip地址超時等待時間
ping -n 指定次數(默認5次) ip地址指定ping幾次

2.3Type+Code:查看不同功能的ICMP報文
Type類型code代碼描述
00Echo Reply回復
30網絡不可達
31主機不可達
32協議不可達
33端口不可達
110超時
80Echo Request請求

ping www.jd.com后使用抓包工具wireshark查看Type:8和code:0,表示Echo Request請求

2.4ping出現問題

①先ping 127.0.0.1,查看是否能ping通自己的設備,不能則說明硬件有問題

②查看發送方與接收方的IP地址是否有錯誤

③查看發送方與接收方是否在同一網絡區域,不在同一區域再查看網關是否有問題

④防火墻策略是否有問題(可能接收方禁言icmp協議)

3、Tracert

Tracert (Trace Route)是一個網絡診斷工具,用于跟蹤數據包從源主機到目標主機的路徑。Tracert 命令使用用 IP 生存時間 (TTL) 字段和?ICMP錯誤消息來確定從一個主機到網絡上其他主機的路由這對于網絡故障排除和性能優化非常有用

4、沖突域

定義:同一時間內只能有一臺設備發送信息的范圍

分層:基于OSI的第一層物理層

設備:第二層設備能隔離沖突域,比如Switch。交換機能縮小沖突域的范圍,交換接的每一個端口就是一個沖突域

5、廣播域

定義:如果站點發出一個廣播信號,所有能接收收到這個信號的設備范圍稱為一個廣播域

分層:基于OSI的第二層數據鏈路層

設備:第三層設備才能隔離廣播域,比如Router。路由器能隔離廣播域,其每一個端口就是一個廣播域

三、ARP協議

1、ARP協議的概念

ARP全稱是“Address Resolution Protocol”(地址解析協議),ARP作用于以太網的環境之中,以太網環境之中數據的傳輸依賴的是MAC地址并不是我們所熟悉的IP地址,每個電腦都有一個IP地址記以及一個MAC地址(全球唯一),二者缺一不可。ARP協議的工作一是將IP地址轉換為MAC地址就是ARP協議的工作,二是檢測地址是否沖突。

2、ARP協議的工作原理

①當PC1發送數據給PC2時,會先檢查自己的ARP緩存表,如果沒有接收方的對應IP地址的MAC信息,PC1就會發送一個ARP請求。ARP請求信息包括PC1的IP地址和MAC地址以及PC2的IP地址和MAC(廣播MAC:FF-FF-FF-FF-FF-FF)

②交換機接收到廣播后,將PC1的IP地址和MAC地址保存到自己的ARP緩存表中,再做泛洪查詢處理,除PC1外本地網絡上所有的主機接收到ARP請求信息并且檢查是否與自己的IP地址匹配。如果主機發現請求的IP地址與自己的IP地址不匹配,它將丟棄ARP請求

③PC2確定ARP請求中的IP地址與自己的IP地址匹配,則將發送方PC1的IP地址和MAC地址保存到本地ARP緩存表,再以單播點對點方式向PC1發送ARP應答

④當PC2的ARP應答經過交換機時,交換機再將PC2的IP地址和MAC地址保存到自己的ARP緩存表中。當PC2的ARP應答到達PC1時,PC1將PC2的IP地址和MAC地址保存到自己的ARP緩存表中,再以單播方式與PC2進行通信

⑤之后PC1和PC2的ARP緩存表中都有對方的IP地址和MAC地址就不需要再進行上述過程,直接通信

四、總結

網絡層位于傳輸層與數據鏈路層中間,具有選擇轉發數據最佳路徑的功能。ICMP協議(檢測網絡的雙向聯通性)與ARP協議(將IP地址轉換成MAC地址)在網絡層協議中至關重要,需要重點掌握。ICMP協議中的ping命令和tracert命令,ARP協議的工作原理,更是重點中的重點

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215140.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215140.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215140.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LSU介紹

LSU(Load Store Unit)是一個專門的執行單元,負責執行所有的加載(load)和存儲(store)指令等,生成load和store操作的虛擬地址,并從內存中加載數據或將數據從寄存器中存儲回…

關于前端原生技術-Jsonp的理解與簡述

【版權聲明】未經博主同意,謝絕轉載!(請尊重原創,博主保留追究權) https://blog.csdn.net/m0_69908381/article/details/134777717 出自【進步*于辰的博客】 在學習了Jsoup這個知識點之后,發覺js的這一特點…

基于appium的常用元素定位方法

一、元素定位工具   app應用的元素使用的是控件定位,不同于web網頁,web網頁定位元素通常使用的是F12工具,那么在app當中我們則要借助其它的工具來輔助定位。 1.uiautomatorviewer.bat   uiautomatorviewer.bat工具在安裝完ADT工具之后&a…

【Docker】進階之路:(十一)Docker存儲

【Docker】進階之路:(十一)Docker存儲 Docker存儲簡介storage driverdata volumevolumebind mounttmpfs mount Docker提供了4種存儲方式:默認存儲、volume(數據卷)、bind mounts(綁定掛載)、tmpfsmount(僅在Linux環境中提供)。其中…

Jemeter,提取響應體中的數據:正則表達式、Json提取器

一、正則表達式 1、線程組--創建線程組; 2、線程組--添加--取樣器--HTTP請求; 3、Http請求--添加--后置處理器--正則表達式提取器; 4、線程組--添加--監聽器--查看結果樹; 5、線程組--添加--取樣器--調試取樣器。 響應體數據…

docker mysql8 設置不區分大小寫

docker安裝Mysql8.0的坑之lower_case_table_names_docker mysql lower_case_table_names-CSDN博客https://blog.csdn.net/p793049488/article/details/108365929 docker run ‐di ‐‐nametensquare_mysql ‐p 33306:3306 ‐e MYSQL_ROOT_PASSWORD123456 mysql

運籌學經典問題(一):指派問題

問題描述 有 N N N個任務,需要 N N N個人去完成,每個人完成不同工作的效率不同(或者資源、收益等等),需要怎么分配使得整體的效率最高(成本最低等等)呢?這就是經典的指派問題啦&…

金蝶EAS如何增加報表

金蝶EAS如何增加銷售毛利報表? 文章目錄 菜單路徑:導入授權發布管理 菜單路徑: 商業分析———擴展報表中心——報表工具 ——報表工具 汽車 4S——整車管理——整車銷售——擴展報表 導入 選擇報表文件進行導入 授權 發布管理

(純原創)基于JavaWeb的寵物領養商城(詳細源碼以及開發設計報告)

摘要 本寵物領養系統以MVC分層為原則,數據持久化使用Mybatis,數據庫使用MySQL,這些技術目前相對比較成熟,方便系統的維護與擴展 商城系統包括了寵物領養、用戶注冊、用戶登錄、商品查詢、商品添加到購物車、刪除商品等幾大功能…

Linux基礎項目開發2:物聯網監控——視頻監控方案介紹(一)

前言: 這次我們來做一個關于視頻監控的基礎小項目,需要我們用到網絡的相關知識,還會學到好多優秀的網絡協議,下面讓我們開始對物聯網視頻監控進行一個大體框架的介紹吧 目錄 項目內容: 1.視頻監控方案介紹 2.視頻監控…

手寫VUE后臺管理系統10 - 封裝Axios實現異常統一處理

目錄 前后端交互約定安裝創建Axios實例攔截器封裝請求方法業務異常處理 axios 是一個易用、簡潔且高效的http庫 axios 中文文檔:http://www.axios-js.com/zh-cn/docs/ 前后端交互約定 在本項目中,前后端交互統一使用 application/json;charsetUTF-8 的請…

云計算 云原生

一、引言 云計算需要終端把信息上傳到服務器,服務器處理后再返回給終端。在之前人手一臺手機的情況下,云計算還是能handle得過來的。但是隨著物聯網的發展,什么東西都要聯網,那數據可就多了去了,服務器處理不過來&…

汽車標定技術(十二)--A2L文件生成的方法

目錄 1.工具生成 1.1 CANape/ASAP2 Studio 1.2 ASAP2ToolKit 1.3 Matlab/Simulink 2.手寫A2L要點 3.小結 A2L文件的制作一直以來是一個很少有人關注的方向,不管是標定工程師還是Slave協議棧的開

MachMap:End-to-End Vectorized Solution for Compact HD-Map Construction

參考代碼:None 動機與出發點 地平線的MapTR展現出了構建高精地圖的能力,但是它的機制確實是有點復雜了。為了兼容不同車道線的朝向,環形車道線的起終點等情況,針對性設計了permute-equal的匹配邏輯,這樣的邏輯真的是太…

軟件測試之壓力測試詳解

一、什么是壓力測試 軟件測試中:壓力測試(Stress Test),也稱為強度測試、負載測試。壓力測試是模擬實際應用的軟硬件環境及用戶使用過程的系統負荷,長時間或超大負荷地運行測試軟件,來測試被測系統的性能、…

leetcode206. 反轉鏈表

題目描述 給你單鏈表的頭節點 head ,請你反轉鏈表,并返回反轉后的鏈表。 示例 1: 輸入:head [1,2,3,4,5] 輸出:[5,4,3,2,1]示例 2: 輸入:head [1,2] 輸出:[2,1]示例 3&#xf…

appium安卓app自動化,遇到搜索框無搜索按鈕元素時無法搜索的解決方案

如XX頭條,搜索框后面有“搜索”按鈕,這樣實現搜索操作較為方便。 但有些app沒有設置該搜索按鈕,初學者就要花點時間去學習怎么實現該功能了,如下圖。 這時候如果定位搜索框,再點擊操作,再輸入文本后&#x…

SpringBootWeb請求響應之前言及狀態碼的詳細解析

SpringBootWeb請求響應 前言 在上一次的課程中,我們開發了springbootweb的入門程序。 基于SpringBoot的方式開發一個web應用,瀏覽器發起請求 /hello 后 ,給瀏覽器返回字符串 “Hello World ~”。 其實呢,是我們在瀏覽器發起請求…

【算法與數據結構】332、LeetCode重新安排行程

文章目錄 一、題目二、解法三、完整代碼 所有的LeetCode題解索引,可以看這篇文章——【算法和數據結構】LeetCode題解。 一、題目 二、解法 思路分析:本題比較屬于困難題目,難點在于完成機票、出發機場和到達機場之間的映射關系,再…

使用yum/dnf管理軟件包

本章主要介紹使用 yum 對軟件包進行管理。 yum 的介紹搭建yum源創建私有倉庫yum客戶端的配置yum的基本使用使用第三方yum源 使用rpm安裝包時經常會遇到一個問題就是包依賴,如下所示。 [rootrhel03 ~]# rpm -ivh /mnt/AppStream/Packages/httpd-2.4.37-41.modulee…