日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++检测ip是否匹配子网掩码_网络工程师从入门到精通通俗易懂系列 | ARP和IP这篇文章讲的相当详细了,这么基础的知识往往也是最容易遗忘的!...

發布時間:2023/12/10 c/c++ 32 豆豆

網絡層

負責將報文從源送到目的

包括TCP建立連接,也需要依靠網絡層,來將這個連接請求,傳遞到對方。

為設備提供邏輯地址,也就是IP地址

主流是IPV4地址

IPV4地址,為32位二進制數,長度4個字節,1字節等于8比特(位)

ICMP

主要用于檢測網絡的連通性

也是面向連接

對方收到我的請求后,需要發送回復

ping 114.114.114.114

Tracert

主要用于檢測,或者說跟蹤,源到目的站點所經過的路徑

使用IP頭部中的TTL字段

TTL字段,每經過一臺三層設備,減1

windows 10 發出的TTL為 64

tracert 114.114.114.114

原理

基于UDP 或者 ICMP

首先發送一個TTL為1的UDP探測報文,源IP是本地,目的IP比如是114.114.114.114

當第一個三層設備收到后,查找去往目的站點的路由,

但此時,TTL已經為0超時了,所以它會回應超時報文,

這個時候,它的IP地址會顯示出來

依次類推,直到去到目的站點

ARP

使用IP去解析該IP對應的MAC

比如ping 192.168.1.2

假設現在電腦沒有192.168.1.2的ARP表項,此時就完成不了二層封裝

為什么,因為二層頭部是源MAC,目的MAC

這時候就需要發送ARP報文去詢問192.168.1.2的MAC地址

當192.168.1.2收到這個詢問,首先會記錄詢問者的IP+MAC對應關系

生成ARP表項,然后回復自身的MAC給詢問者。

代理ARP

主要解決目標IP不在同一個網段的情況下,回復本接口MAC,進行數據轉發

192.168.1.2------------1.1 Route 2.1-------------2.2

首先1.2沒有配置網關地址,也沒有配置路由,并沒有2.2的ARP表項

這個時候1.2發送ARP請求,當Route收到ARP報文后,發現目的MAC

是廣播地址,繼續往拆三層,

發現目的IP不是自己,但是由于接口開了代理ARP,這個時候,首先它會去查

路由表,發現去往2.2這個地址,有路由條目,并且是直連。于是將1.1這個接口

的MAC告訴給1.2

反向ARP

依靠MAC地址來獲取IP

允許局域網的設備從網關服務器上的ARP表項或緩存來請求IP地址

有點類似與DHCP,但與DHCP有一些差別

RARP是封裝以太網幀中,DHCP報文封裝在UDP協議中

但大體上的過程差不多,

IP地址 邏輯地址

用來確定一個網絡中一個節點,或者一個設備

兩臺主機通信,必須要有IP地址

32位二進制數

為了便于記憶,轉換成10進制數,如

192.168.1.1

并且用點號分割

也稱為點分十進制數

進制轉換

二進制轉10進制

10進制轉二進制

第一種:余數定理

用168來除以2,等于為84,那么84顯然可以被2整除,所以余數為0

再除以2,等于42,也可以整除,余數為0

在除以2,等于21,不可以被整除,那余數為1,21-1=20吧

那就20除以2,等于10,可以被整除,余數為0

再除以2,等于5,不能被整除,余數為1,5-1等于4

那就4除以2,等于2,可以被整除,余數為0

那么最后2除以2,等于1,

注意,寫的時候要反過來寫,是10101000

第二種就是冥跟位的對應關系:

首先,你要明白2的次方是多少,這很重要

其實,就是二進制中的位,加上他所對應的冥

從左往右,分別是 128 64 32 16 8 4 2 1 ,這都是固定不變的

比如剛剛的168

而進制數是:10101000

那么,換成 十進制數就是 128+32+8

IP地址總共分為5個類別,

首先IP地址,它是由4個八位組構成,也就是每一組,由8位2進制數構成,那4組那就是32位

換算成10進制數,最小的可能性是0.0.0.0,最大的是255.255.255.255

A類的左起第1位必須是0,其他隨意變換,范圍是1-126

也就是說,最大跟最小的可能性,0.0.0.0-127.255.255.255

但是,0是保留的不能用,而127這段作為我們的環回地址,也就是測試地址。

子網掩碼

用于確定IP地址的網絡位,跟主機位

IP地址+子網掩碼,必須同時出現

默認A類:255.0.0.0

默認B類:255.255.0.0

默認C類:255.255.255.0

255.0.0.0 簡便表示 /8

255.255.0.0 簡便表示 /16

255.255.255.0 簡便表示 /24

例如:

192.168.1.0/24

表示他的掩碼是255.255.255.0

習慣就好!!

192.168.1.0/24

網絡部分:192.168.1

主機部分:.0

公有地址

全球地址,互聯網可路由,合法地址

私有地址

本地使用,例如家用路由 192.168.1.0/24

你家也用,別人家也可以用

但是這種地址,不能出現在公網,因為公網沒有路由

出去必須換馬甲,例如NAT技術

子網掩碼

對應網絡部分的,必須為1

對應主機部分的,必須為0

1表示完全匹配,0表示任意

例如:

200.1.1.0

255.255.255.0

我們僅僅只看默認掩碼

因為這是個C類地址

那么網絡部分是:200.1.1.

主機部分是:0

255,把他換算成二進制數

255=128+64+32+16+8+4+4+2+1

實際上就是11111111

是不是網絡部分全為1,而主機部分全為0

地址類型

網絡地址:主機地址為0,即最小保留地址

主機地址:可用的主機IP地址

廣播地址:主機地址為1,即最大保留地址

例如:

100.1.1.0

255.255.255.0

首先:這個掩碼所能確定的主機IP地址為0-255

那么

網絡地址就是: 100.1.1.0(0),即最小保留地址

主機地址則是:100.1.1.(1-254),可以分配給主機的可用IP地址

廣播地址則是:100.1.1.255 (255)即最大保留地址

劃分子網

提供靈活的編址,優化網絡

減少網絡流量。路由器增加廣播域,廣播域越多,每個廣播域就越小,而每個網段的網絡流量也越少。

優化網絡性能 。

簡化管理,找出并隔離網絡問題更容易。

將多個小網絡連接起來可提高系統的效率

VLSM

將一個大的網絡,分成小的子網

當IP地址進行子網劃分后,被分成三個部分,網絡位,子網位,主機位

例如

222.1.1.0

255.255.255.0

這是一個C類子網的默認掩碼

但經過VLSM劃分之后,可能會是這樣

222.1.1.0

255.255.255.128

這里會涉及到一個借位的概念

而這個借位,實際上就是把網絡位擴大,主機位縮小

例如222.1.1.0/24

地址:11011110.00000001.00000001.00000000

子網掩碼:11111111.11111111.11111111.00000000

而222.1.1.0/27

地址:11011110.00000001.00000001 xxx00000

子網掩碼:11111111.11111111.11111111 11100000

向主機位借了三位,借的三位,叫子網位

與子網掩碼的對應關系

借位:0 1 2 3 4 5 6 7 8

掩碼:0 128 192 224 240 248 252 254 255

當一個網絡地址經過VLSM劃分之后,就沒有固定的類別了

也就是說不屬于ABC類,它叫做無類。

子網數:2^N次方,N為借用的位數(子網位)

主機數:2*M-2,M為主機部分剩下的位數(主機位),減去2,因為網絡地址跟廣播地址不能用

222.1.1.0/24 255.255.255.0

子網位: =0

多少個子網:=2^0=1,為什么,因為沒有借位

主機位:=8,因為還剩下8位

每個子網主機:=2^8=256,為什么,因為最后一個八位組全為0

子網可用IP數:2^8=256-2,減去2,因為網絡地址跟廣播地址不能用

實際上就是

網絡地址: 0

最小主機地址: 1

最大主機地址: 254

廣播地址: 255

222.1.1.0/27 255.255.255.224

子網位: =3

多少個子網:=2^3=8

主機位:=5

每個子網主機:=2^5=32

子網可用IP數:2^5=32-2,減去2,因為網絡地址跟廣播地址不能用

實際上就是

網絡地址: 0 32 64 96 128 160 192 224

最小主機地址: 1 33

最大主機地址 : 30 62

廣播地址: 31 63

其他依次類推

10.1.1.0 255.255.255.192

子網位: =18

多少個子網:=2^18=自己算

主機位:=6

每個子網主機:=2^6=64

子網可用IP數:2^6=64-2,減去2,因為網絡地址跟廣播地址不能用

172.16.1.0 255.255.255.240

子網位: =12

多少個子網:=2^12=.........

主機位:=4

每個子網主機:=2^4=16

子網可用IP數:2^4=16-2,減去2,因為網絡地址跟廣播地址不能用

172.16.1.0 255.255.192.0

子網位: =2

多少個子網:=2^2=4

主機位:=14

每個子網主機:=2^14=.............

子網可用IP數:自己算,減去2,因為網絡地址跟廣播地址不能用

實際上就是

網絡地址: 172.16.0.0 172.16.64.0 ........................................

最小主機地址: 0.1 64.1

最大主機地址 : 63.254 127.254

廣播地址: 63.255 127.255

簡便算法1

192.168.1.0

255.255.255.192 26位

多少個子網:=當前掩碼26-默認掩碼24=2 2^2=4

每個子網主機:=最大掩碼32-當前掩碼26=6 2^6=64

子網可用IP數:64-2

簡便算法2

192.168.1.0

255.255.255.224 27位

多少個子網:=當前掩碼27-默認掩碼24=3 2^3=8

每個子網主機:=256-224=32

為什么是256,因為0-255是256個數

子網可用IP數:32-2

什么是有效子網:

192.168.1.0

255.255.255.192 26位

子網位: =2

多少個子網:=2^2=4,(有效子網要減去2)

主機位:=6

每個子網主機:=2^6=64

子網可用IP數:2^6=64-2,減去2,因為網絡地址跟廣播地址不能用

子網 , 有效的主機 , 廣播地址?

192.168.1.0 , 192.168.1.1 到 192.168.1.62 , 192.168.1.63

192.168.1.64 , 192.168.1.65 到 192.168.1.126 , 192.168.1.127

192.168.1.128 , 192.168.1.129 到 192.168.1.190 , 192.168.1.191

192.168.1.192 , 192.168.1.193 到 192.168.1.254 , 192.168.1.255

其中192.168.1.0這個子網,實際上是192.168.1.0/24的主類網絡號

而 192.168.1.255,實際上是192.168.1.0/24的主類網絡的廣播地址

所以,有效子網要減去第一個子網跟最后一個子網,也稱為全0子網和全1子網,

在一些老的設備上是不支持的,所以不能用,當然,現在的設備都不存在這個問題,都能用

只是這個概念,大家一定要搞清楚

CIDR匯總

VLSM是把主機位變成網絡位,把線往右邊移,將大的網絡劃分成小的子網

CIRD是把網絡位變成主機位,把線往左移,把小的子網匯總成一個大的前綴,

例如

192.168.16.0/24

192.168.17.0/24

192.168.18.0/24

192.168.19.0/24

這是四個子網

1、靜態路由配置繁瑣

2、在路由器路由表中,是4個不同的路由條目,而路由表是加載在路由器內存當中

如果經過匯總

則是 192.168.16.0 255.255.252.0 這是22位

用一個大的前綴,包含多條路由條目

快速算法

256-4=252,為什么是4,因為四個子網

在兩個8位組不變的情況下,255.255.252.0

努力學習,勤奮工作,讓青春更加光彩

再長的路,一步步也能走完,再短的路,不邁開雙腳也無法到達

總結

以上是生活随笔為你收集整理的c++检测ip是否匹配子网掩码_网络工程师从入门到精通通俗易懂系列 | ARP和IP这篇文章讲的相当详细了,这么基础的知识往往也是最容易遗忘的!...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。