主頁 > 軟體設計 > HCIA 第二天 基礎概念

HCIA 第二天 基礎概念

2021-09-09 11:51:27 軟體設計

文章目錄

  • IP地址的分類
  • 特殊IP地址
  • VLSM 可變長子網掩碼 子網劃分
  • CIDR 無類域間路由 用于匯總
  • OSI模型
  • TCP/IP協議簇
  • 以太網 II 型幀
  • TCP的頭部
  • UDP頭部

IP地址的分類

IP地址分為5類: A類,B類,C類,D類,E類

如何劃分的?
根據IP地址的前八位來區分

A類:	 0開頭		0xxx xxxx  		0 - 127(實際上是 1 - 126)
		 掩碼:255.0.0.0  允許的主機數量就多 為2*2^24
		 
B類:	 10開頭		10xx xxxx		128 - 191
		 掩碼:255.255.0.0  允許的主機數量就多 為2*2^16
		
C類:	 110開頭		110x xxxx		192 - 223
		 掩碼:255.255.255.0  允許的主機數量就多 為2*2^8
		
D類:	 1110開頭		1110 xxxx		224 - 239
	
E類:	 1111開頭		1111 xxxx		240 - 255

A B C三類 為單播地址 特點:既可以成為源IP,也可以成為目標IP

D類 為組播地址 特點:只能作為目標IP使用

E類 為保留地址

單播: 一對一的通訊

組播: 一對多的通信(同一個組播組)但是需要配置組,需要給特定的一部份人發訊息,就可以把它們從邏輯上劃分為一個組,之后給這個組發送訊息,就只有在組里面的能收到

廣播: 一對所有(同一個廣播域),所有電腦在同一廣播域,但如果有其它電腦在這個廣播域,這個資訊對于他們來說就是垃圾資訊,會浪費計算機的運算能力,



特殊IP地址

  1. 127.0.0.1 - 127.255.255.254 環回地址
  2. 255.255.255.255 受限廣播地址(被路由器限制)只能作為目標IP使用
  3. 主機位全1 直接廣播地址 只能作為目標IP使用 掩碼為255.255.255.0 ip為192.168.72.255 這個2551就是
  4. 主機為全0 代表的是一個網段,也稱為網路號,是一個范圍
  5. 0.0.0.0 可以代表沒有地址 可以代表所有地址
  6. 169.254.0.0/16 自動私有地址 獲取不到ip地址時,會自動在這個范圍內找一個先用著,是個網段,不是具體的一個ip

電腦上不了網的解決思路

  1. ipconfig看自己有沒有ip
  2. ping自己的IP地址,看能不能通,不能通再ping環回地址127.0.0.1,如果通,則可能物理網卡有問題,通不了,可能就系統有問題
  3. ping自己的網關
  4. ping與自己在同一廣播域的ip



VLSM 可變長子網掩碼 子網劃分

做法:
看需求,需要劃分出幾個網段,加入需要劃分3個網段,2^2 = 4,3在4的范圍內,所以我們需要把主機位的前兩位拿來加入網段

例一:

將192.168.1.0/24 劃分出2個網段

因為2^1 = 2,所以我們拿主機位的前第一個用來劃分網段

在這里插入圖片描述
例二:

172.16.0.0/16 劃分出7個網段:

因為2^3 = 8,7在8的范圍內,我們就需要拿主機位的前三個來劃分

在這里插入圖片描述
主機位全為0,不能用 要加一



CIDR 無類域間路由 用于匯總

訣竅: 取相同,去不同

去不同:要把不同的那一位 展開寫成2進制

例一:
在這里插入圖片描述
在這里插入圖片描述

超網: 上面的例子就是超網 原本的網路位(192開頭的為C類網 掩碼默認為/24) /24 之后變為 /22,而且網路位擴大,這種叫超網

匯總:
在這里插入圖片描述
172開頭的為B類網,掩碼默認為/16,之后可能通過子網劃分變成了 /24 ,但之后又匯總為 /22



OSI模型

開放式系統互聯通信參考模型(英語:Open System Interconnection Reference Model,縮寫為 OSI),簡稱為OSI模型(OSI model)

在這里插入圖片描述
OSI參考模型的核心思想:分層

? 屬于同一層面的不同功能,其目的和作用相似或相近,

? 不同層面的功能及目的和作用都具有明顯的差異,

? 每一次都在下面一層提供的服務的基礎上在提供增值服務,


分層的作用:

  1. 更易于標準化
  2. 降低層次之間的關聯性
  3. 便于學習理解

七層:

應用層

抽象語言到編碼

表示層

編碼到二進制

會話層

維持網路應用和應用服務器之間的會話連接

傳輸層

實作端到端的傳輸 -- 埠號 -- 會話層地址 取值范圍:1-65535 (2^16) 其中1-1023稱為知名埠號			 用于區分不同會話地址

網路層

進行邏輯地址尋址,實作不同網路之間的路徑選擇

資料鏈路層

邏輯鏈路控制層(LLC)-- 在資料末尾增加一個校驗和(FCS 幀校驗序列,確保資料完整性	CRC 回圈冗余演算法)	

介質訪問控制層(MAC)   二進制到電信號

物理層

處理電信號



TCP/IP協議簇

TCP/IP 四層模型 — TCP/IP標準模型
TCP/IP 五層模型 — TCP/IP對等模型

下面都是以五層模型來說的
在這里插入圖片描述
與OSI對比
在這里插入圖片描述

PDU 協議資料單元

在分層網路結構,例如在開放式系統互聯(OSI)模型中,在傳輸系統的每一層都將建立協議資料單元(PDU),PDU包含來自上層的資訊和當前層的物體附加的資訊,這個PDU會被傳送到下一較低的層,物理層實際以一種編幀的位流形式傳輸這些PDU,這些PDU由協議堆疊的較高層建造,接收系統自下而上傳送這些分組通過協議堆疊,并在協議堆疊的每一層分離出PDU中的相關資訊,

L1PDU
L2PDU

L7PDU

在這里插入圖片描述

封裝與解封裝

封裝	資料加工的程序,把最重要資訊的添加進資料包里面	
解封裝	拆解資料包	

應用層

HTTP(超文本傳輸協議)-- TCP協議 80埠
FTP(檔案傳輸協議)-- TCP協議 20/21
TELNET(遠程連接協議)-- TCP 23
DHCP(動態主機配置協議)-- UDP 67/68
DNS(域名決議協議)-- UDP/TCP 53
TFTP(簡單檔案傳輸協議)-- UDP 69
HTTPS(HTTP + SSL/TLS)–TCP 443
?

傳輸層 需要封裝埠號 TCP UDP

  1. TCP是面向連接的協議,UDP是無連接的協議
  2. TCP的傳輸是可靠的,UDP的傳輸不太可靠
  3. TCP可以分段,UDP不行
  4. TCP可以實作流控,UDP不行
  5. TCP傳輸速度較慢,消耗資源較大;UDP傳輸速度快,消耗資源小

TCP UDP使用場景

  1. TCP適用于效率要求較低,但準確性要求較高的場景
  2. UDP適用于效率要求較高,但準確性要求較低的場景

網路層 需要封裝IP地址 IP協議

資料鏈路層 需要封裝MAC地址 以太網協議 以太網:早期局域網的解決方案,主要依賴MAC地址進行尋址,以太網主要作業在1,2層


什么是面向連接?

? 面向連接就是指設備在傳輸之前,先使用預備的協議建立點到點的連接,再傳輸資料



以太網 II 型幀

在這里插入圖片描述

  1. 前導碼(Preamble):由0、1間隔代碼組成,用來通知目標站作好接收準備,
  2. 目標地址(Destination Address):表示接收幀的作業站的地址,各占據6個位元組,目標地址可以是單址,也可以是多點傳送或廣播地址,
  3. 源地址( Source Address):表示發送的作業站的地址,各占據6個位元組,
  4. 型別(Type):指定接收資料的高層協議型別,
  5. 資料(Data):在經過物理層和邏輯鏈路層的處理之后,包含在幀中的資料將被傳遞給在型別段中指定的高層協議,該資料段的長度最小應當不低于46個位元組,最大應不超過1500位元組,如果資料段長度過小,那么將會在資料段后自動填充(Trailer)字符,相反,如果資料段長度過大,那么將會把資料段分段后傳輸,
  6. 幀校驗序列(FSC):包含長度為4個位元組的回圈冗余校驗值(CRC),由發送設備計算產生,在接收方被重新計算以確定幀在傳送程序中是否被損壞,



TCP的頭部

在這里插入圖片描述

16位埠號: 告知主機該報文段是來自哪里(源埠Source Port)以及傳給哪個上層協議或應用程式(目的埠Destination Port)的,進行TCP通信時,客戶端通常使用系統自動選擇的臨時埠號,而服務器則使用知名服務埠號(比如DNS協議對應埠53,HTTP協議對應80,這些埠號可在/etc/services檔案中找到),

32位序號: 一次TCP通信(從TCP連接建立到斷開)程序中某一個傳輸方向上的位元組流的每個位元組的編號,假設主機A和主機B進行TCP通信,A發送給B的第一個TCP報文段中,序號值被系統初始化為某個隨機值ISN(Initial Sequence Number,初始序號值),那么在該傳輸方向上(從A到B),后續的TCP報文段中序號值將被系統設定成ISN加上該報文段所攜帶資料的第一個位元組在整個位元組流中的偏移,例如,某個TCP報文段傳送的資料是位元組流中的第1025~2048位元組,那么該報文段的序號值就是ISN+1025.另外一個傳輸方向(從B到A)的TCP報文段的序號值也具有相同的含義,

32位確認號(acknowledgement number):用作對另一方發送來的TCP報文段的回應,其值是收到的TCP報文段的序號值加1,假設主機A和主機B進行TCP通信,那么A發送出的TCP報文段不僅攜帶自己的序號,而且包含對B發送來的TCP報文段的確認號,反之,B發送出的TCP報文段也同時攜帶自己的序號和對A發送來的報文段的確認號,

4位頭部長度(header length):標識該TCP頭部有多少個32bit字(4位元組),因為4位最大能標識15,所以TCP頭部最長是60位元組,

6位標志位包含如下幾項:

URG標志,表示緊急指標(urgent pointer)是否有效,

ACK標志,表示確認號是否有效,我們稱攜帶ACK標識的TCP報文段為確認報文段,

PSH標志,提示接收端應用程式應該立即從TCP接識訓沖區中讀走資料,為接收后續資料騰出空間(如果應用程式不將接收到的資料讀走,它們就會一直停留在TCP接識訓沖區中),

RST標志,表示要求對方重新建立連接,我們稱攜帶RST標志的TCP報文段為復位報文段,

SYN標志,表示請求建立一個連接,我們稱攜帶SYN標志的TCP報文段為同步報文段,

FIN標志,表示通知對方本端要關閉連接了,我們稱攜帶FIN標志的TCP報文段為結束報文段,

16位視窗大小(window size):是TCP流量控制的一個手段,這里說的視窗,指的是接收通告視窗(Receiver Window,RWND),它告訴對方本端的TCP接識訓沖區還能容納多少位元組的資料,這樣對方就可以控制發送資料的速度,

16位校驗和(TCP check sum):由發送端填充,接收端對TCP報文段執行CRC演算法以檢驗TCP報文段在傳輸程序中是否損壞,注意,這個校驗不僅包括TCP頭部,也包括資料部分,這也是TCP可靠傳輸的一個重要保障,

16位緊急指標(urgent pointer):是一個正的偏移量,它和序號欄位的值相加表示最后一個緊急資料的下一位元組的序號,因此,確切地說,這個欄位是緊急指標相對當前序號的偏移,不妨稱之為緊急偏移,TCP的緊急指標是發送端向接收端發送緊急資料的方法,

TCP頭部選項: TCP頭部的最后一個選項欄位(options)是可變長的可選資訊,這部分最多包含40位元組,因為TCP頭部最長是60位元組(其中還包含前面討論的20位元組的固定部分),


偽頭部校驗: 校驗網路層中12個位元組的內容,32位源IP,32目標IP,8位保留,8位協議,16位總長度

在這里插入圖片描述


UDP頭部

在這里插入圖片描述

頭部結構中各部分的作用:

  1. 16位源埠號 記錄源埠號,在需要對方回信時選用,不需要時可用全0,
  2. 16位目的埠號 記錄目標埠號,這在終點交付報文時必須要使用到,
  3. UDP長度 UDP資料報的長度(包括資料和首部),其最小值為8B(即僅有首部沒有資料的情況),
  4. 校驗和檢測UDP資料報在傳輸中是否有錯,有錯就丟棄,該欄位時可選的,當源主機不想計算校驗和,則直接令該欄位為全0,當傳輸層從IP層收到UDP資料報時,就根據首部中的目的埠,把UDP資料報通過相應的埠,上交給行程,如果接收方UDP發現收到的報文中目的埠號不正確(即不存在對應埠號的應用行程),就丟棄該報文,并由ICMP發送“埠不可達”差錯報文交給發送方,

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

標籤:其他

上一篇:Linux--網路3(傳輸層)

下一篇:tcp與udp應用場景的區別

標籤雲
其他(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