一、網(wǎng)絡(luò)互聯(lián)模型
為了更好地促進(jìn)互聯(lián)網(wǎng)的研究和發(fā)展,國(guó)際標(biāo)準(zhǔn)組織ISO在1985年制定了網(wǎng)絡(luò)互連模型:OSI參考模型,具有7層結(jié)構(gòu)

請(qǐng)求過程

二、計(jì)算機(jī)之間的通信
計(jì)算機(jī)之間通信的基礎(chǔ)
- 需要得知對(duì)方的ip地址
- 最終是根據(jù)MAC地址(網(wǎng)卡地址),輸送數(shù)據(jù)到網(wǎng)卡,被網(wǎng)卡接收
- 如果網(wǎng)卡發(fā)現(xiàn)數(shù)據(jù)的目標(biāo)MAC地址是自己,就會(huì)將數(shù)據(jù)傳遞給上一層進(jìn)行處理
- 如果網(wǎng)卡發(fā)現(xiàn)數(shù)據(jù)的目標(biāo)MAC地址不是自己,就會(huì)將數(shù)據(jù)丟棄,不會(huì)傳遞給上一層進(jìn)行處理
關(guān)于ARP協(xié)議
- 廣播,在同一網(wǎng)段中傳播
- 在計(jì)算機(jī)第一次建立連接的時(shí)候,通過發(fā)廣播的形式獲取對(duì)方的MAC地址
- 目標(biāo)mac地址全為1(FFFF.FFFF.FFFF)時(shí),代表廣播地址
計(jì)算機(jī)之間的通信方式
1. 網(wǎng)線直接連接(使用的是交叉線)

2. 同軸電纜(Coaxial)
- 半雙工通信
- 容易沖突
- 不安全
- 中間斷了,整個(gè)都癱了
Snip20200924_2.png

3. 集線器(Hub)
- 半雙工通信
- 容易沖突
- 不安全
- 和同軸電纜一樣,沒有智商

4. 網(wǎng)橋(Bridge)
- 能夠通過自學(xué)習(xí)得知每個(gè)接口那側(cè)的MAC地址
-
從而起到隔絕沖突的作用
當(dāng)網(wǎng)橋已經(jīng)記錄目標(biāo)mac地址,并且確定在源mac地址的同一側(cè)時(shí),而且另一組數(shù)據(jù)目標(biāo)mac地址和源mac地址都在另一側(cè)時(shí),左側(cè)和右側(cè)可以同時(shí)發(fā)送數(shù)據(jù)
例如:mac已經(jīng)記錄計(jì)算機(jī)6、計(jì)算機(jī)7、計(jì)算機(jī)3、計(jì)算機(jī)2的mac地址,此時(shí)如果計(jì)算機(jī)6給計(jì)算機(jī)7發(fā)送消息,計(jì)算機(jī)3給計(jì)算機(jī)2發(fā)送消息,他們可以同時(shí)發(fā)送
Snip20200924_4.png
5. 交換機(jī)(Switch)
- 相當(dāng)于接口更多的網(wǎng)橋
- 全雙工通信
- 比集線器安全
-
但是,如果設(shè)備過多的話,ARP獲取MAC地址階段也會(huì)發(fā)送給所有設(shè)備,產(chǎn)生廣播風(fēng)暴;由于交換機(jī)連接的是同一網(wǎng)段的設(shè)備,ip地址會(huì)不夠用
Snip20200924_5.png
網(wǎng)線直連、同軸電纜、網(wǎng)橋、交換機(jī)的局限性
- 連接的設(shè)備必須在同一網(wǎng)段
- 連接的設(shè)備處在同一廣播域
6. 路由器(Router)
計(jì)算機(jī)和其他計(jì)算機(jī)通信前,會(huì)先判斷目標(biāo)主機(jī)和自己是否在同一網(wǎng)段,在同一網(wǎng)段,則不需要由路由器進(jìn)行轉(zhuǎn)發(fā),不在同一網(wǎng)段,交給路由器進(jìn)行轉(zhuǎn)發(fā)
路由器的作用:
- 可以在不同網(wǎng)段之間轉(zhuǎn)發(fā)數(shù)據(jù)
- 隔絕廣播域
路由器轉(zhuǎn)發(fā)數(shù)據(jù)的過程
發(fā)數(shù)據(jù)之前,首先會(huì)判斷目標(biāo)主機(jī)的ip地址是否在同一網(wǎng)段
- 在同一網(wǎng)段:發(fā)送ARP廣播,通過交換機(jī)/集線器傳遞數(shù)據(jù)
- 不在同一網(wǎng)段:通過路由器轉(zhuǎn)發(fā)數(shù)據(jù)
- 給路由器的網(wǎng)關(guān)配置ip,給計(jì)算機(jī)配置網(wǎng)關(guān)ip
- 主機(jī)發(fā)送ARP廣播獲取網(wǎng)關(guān)的mac地址,并且傳數(shù)據(jù)到網(wǎng)關(guān)
- 路由器會(huì)找到目標(biāo)主機(jī)對(duì)應(yīng)的網(wǎng)關(guān),并發(fā)送ARP廣播,獲取目標(biāo)主機(jī)的mac地址
- 網(wǎng)關(guān)將數(shù)據(jù)傳給目標(biāo)主機(jī)
三、MAC地址
簡(jiǎn)介
- 每一個(gè)網(wǎng)卡都有一個(gè)6字節(jié)(48bit)的MAC地址
- 全球唯一,固化在了網(wǎng)卡的ROM中,由IEEE802標(biāo)準(zhǔn)規(guī)定
- 前3個(gè)字節(jié):OUI,組織唯一標(biāo)識(shí)符,由IEEE的注冊(cè)管理機(jī)構(gòu)分配給廠商
- 后3個(gè)字節(jié): 網(wǎng)絡(luò)接口標(biāo)識(shí)符,由廠商自行分配
- OUI查詢
表示格式
- Windows:40-55-82-0A-8C-6D
- Linux、Android、Mac、iOS:40:55:82:0A:8C:6D
- Packer Tracer:4055.820A.8C6D
- 當(dāng)48位全為1時(shí),代表廣播地址
FF:FF:FF:FF:FF:FF
MAC地址操作
- 查看MAC地址:
Windows:ipconfig /all
unix:ifconfig
MAC地址的獲取
當(dāng)不知道對(duì)方主機(jī)的MAC地址時(shí),可以通過發(fā)送ARP廣播獲取對(duì)方的MAC地址
- 獲取成功后,會(huì)緩存IP地址、MAC地址的映射信息,俗稱:ARP緩存
- 通過ARP廣播獲取的MAC地址,屬于動(dòng)態(tài)緩存,存儲(chǔ)的時(shí)間比較短(默認(rèn)是2分鐘),過期了就自動(dòng)刪除
相關(guān)命令
-
arp -a [主機(jī)地址]:查詢ARP緩存 -
arp -d [主機(jī)地址]:刪除ARP緩存 -
arp -s 主機(jī)地址 MAC地址:增加一條緩存信息(靜態(tài)緩存,存儲(chǔ)時(shí)間較久,不同系統(tǒng)的存儲(chǔ)時(shí)間不同)
四、IP地址
IP地址:互聯(lián)網(wǎng)上的每一個(gè)主機(jī)都有一個(gè)IP地址
-
最初是IPv4版本,32bit(4字節(jié)),2019年11月25日,全球的IP地址已經(jīng)用完
Snip20201014_13.png 后面推出IPv6版本,128bit(16字節(jié))
IP地址的組成
IP地址(Internet Protocol Address)由2部分組成:網(wǎng)絡(luò)標(biāo)識(shí)(網(wǎng)絡(luò)ID)、主機(jī)標(biāo)識(shí)(主機(jī)ID)
通過子網(wǎng)掩碼可以得知網(wǎng)絡(luò)ID、主機(jī)ID
同一個(gè)網(wǎng)段的計(jì)算機(jī),網(wǎng)絡(luò)ID相同
通過子網(wǎng)掩碼可以計(jì)算出網(wǎng)絡(luò)ID:子網(wǎng)掩碼 & IP地址
主機(jī)ID為全0,表示主機(jī)所在的網(wǎng)段;主機(jī)ID為全1,表示主機(jī)所在網(wǎng)段的全部主機(jī)(廣播)
可以嘗試用ping給某個(gè)網(wǎng)段的全部主機(jī)發(fā)數(shù)據(jù),如
ping 192.168.1.255-
示例:
- IP地址:192.168.1.10 ,子網(wǎng)掩碼:255.255.255.0 ,那么網(wǎng)絡(luò)ID就是 192.168.1.10 & 255.255.255.0 ,即192.168.1.0,主機(jī)ID就是10。192.168.1..0網(wǎng)段共有 256 - 2個(gè)ip地址。
- IP地址:130.168.1.10,子網(wǎng)掩碼:255.255.0.0,那么網(wǎng)絡(luò)ID就是130.168.0.0,主機(jī)ID就是1.10;130.168.0.0網(wǎng)段共有 256 * 256 - 2個(gè)ip地址,130.168.0.0代表廣播ip地址,130.168.255.255代表130.168.0.0這一網(wǎng)段內(nèi)的所有IP地址
IP地址的分類
只有A、B、C類地址才能分配給主機(jī)
1. A類地址
默認(rèn)子網(wǎng)掩碼是255.0.0.0,主機(jī)ID占24bit,網(wǎng)絡(luò)ID占8bit,網(wǎng)絡(luò)ID以0開頭

- 網(wǎng)絡(luò)ID
0不能用,127作為保留網(wǎng)段(其中127.0.0.1)是本地環(huán)回地址,代表本機(jī)地址,因此可以分配給主機(jī)的第1部分 的取值范圍是1~126 - 主機(jī)ID
第2、3、4部分的取值范圍是0~255,因此每個(gè)A類網(wǎng)絡(luò)能容納的最大主機(jī)數(shù)是:256 * 256 * 256 - 2 = 2^24 - 2 = 16777214
2. B類地址
默認(rèn)子網(wǎng)掩碼是255.255.0.0,主機(jī)ID占16bit,網(wǎng)絡(luò)ID占16bit,網(wǎng)絡(luò)ID以10開頭

- 網(wǎng)絡(luò)ID
可以分配給主機(jī)的第1部分取值范圍是:128~191,第2部分的取值范圍是:0~255 - 主機(jī)ID
第3、4部分的取值范圍是:0~255,每個(gè)B類網(wǎng)絡(luò)能容納的最大主機(jī)數(shù)是:256 * 256 - 2 = 2^16 - 2 = 65534
3. C類地址
默認(rèn)子網(wǎng)掩碼是255.255.255.0,主機(jī)ID占8bit,網(wǎng)絡(luò)ID占24bit,網(wǎng)絡(luò)ID以110開頭

- 網(wǎng)絡(luò)ID
可以分配給主機(jī)的第1部分的取值范圍是:192~223,第2、3部分的取值范圍是:0~255 - 主機(jī)ID
第4部分的取值范圍是:0~255,因此每個(gè)C類網(wǎng)絡(luò)能容納的最大主機(jī)數(shù)是:256-2 = 254
4. D類地址
沒有子網(wǎng)掩碼,網(wǎng)絡(luò)ID以1110開頭,多播地址

第1部分取值范圍是:224~239
5. E類地址
網(wǎng)絡(luò)ID以1111開頭,保留為今后使用

第1部分取值范圍是:240~255
子網(wǎng)掩碼的CIDR表示方法
CIDR:無(wú)類別域間路由
示例:
- 192.168.1.100/24 ,代表子網(wǎng)掩碼有24個(gè)1,也就是255.255.255.0
- 123.210.100.200/16,代表子網(wǎng)掩碼有16個(gè)1,也就是255.255.0.0
計(jì)算工具:https://www.sojson.com/convert/subnetmask.html
五、子網(wǎng)劃分
為什么要進(jìn)行子網(wǎng)劃分
- 如果需要讓200臺(tái)主機(jī)在同一網(wǎng)段內(nèi)
可以分配一個(gè)C類網(wǎng)段,比如192.168.1.0/24,共254個(gè)可用的IP地址:192.168.1.1~192.168.1.254,多出54個(gè)空閑的IP地址,這種情況并不算浪費(fèi)資源 - 如果需要讓500臺(tái)主機(jī)在同一網(wǎng)段內(nèi)
那就分配一個(gè)B類網(wǎng)段,比如191.100.0.0/16,共65534個(gè)可用的IP地址:191.100.0.1~191.100.255.254,多出65034個(gè)空閑的IP地址,這種情況屬于極大的浪費(fèi)資源
那么如何避免浪費(fèi)IP地址資源?
合理的進(jìn)行子網(wǎng)劃分
子網(wǎng)劃分
借用 主機(jī)位作子網(wǎng)位,劃分出多個(gè)子網(wǎng)
- 等長(zhǎng)子網(wǎng)劃分:將一個(gè)網(wǎng)段等分成多個(gè)子網(wǎng),每個(gè)子網(wǎng)的可用IP地址數(shù)量是一樣的
- 變長(zhǎng)子網(wǎng)劃分:每個(gè)子網(wǎng)的可用IP地址數(shù)量可以是不一樣的
子網(wǎng)劃分器:http://www.ab126.com/web/3552.html
1. 等長(zhǎng)子網(wǎng)劃分
等分成2個(gè)子網(wǎng)

- A子網(wǎng)
網(wǎng)段:192.168.0.0/25
子網(wǎng)掩碼:255.255.255.128/25
主機(jī)可用IP地址:192.168.0.1~192.168.0.126 - B子網(wǎng)
網(wǎng)段:192.168.0.128
子網(wǎng)掩碼:255.255.255.128/25
主機(jī)可用IP地址:192.168.0.129~192.168.0.254
等分成4個(gè)子網(wǎng)

- 4個(gè)子網(wǎng)的子網(wǎng)掩碼都是:255.255.255.192/26
- A子網(wǎng)的主機(jī)可用IP地址:192.168.0.1~192.168.0.62
- B子網(wǎng)的主機(jī)可用IP地址:192.168.0.65~192.168.0.126
- C子網(wǎng)的主機(jī)可用IP地址:192.168.0.129~192.168.0.190
- D子網(wǎng)的主機(jī)可用IP地址:192.168.0.193~192.168.0.254
等分成8個(gè)子網(wǎng)

- 8個(gè)子網(wǎng)的子網(wǎng)掩碼都是:255.255.255.224/27
- A子網(wǎng)的主機(jī)可用IP地址:192.168.0.1~192.168.0.30
- B子網(wǎng)的主機(jī)可用IP地址:192.168.0.33~192.168.0.62
- C子網(wǎng)的主機(jī)可用IP地址:192.168.0.65~192.168.0.94
- D子網(wǎng)的主機(jī)可用IP地址:192.168.0.97~192.168.0.126
- E子網(wǎng)的主機(jī)可用IP地址:192.168.0.129~192.168.0.158
- F子網(wǎng)的主機(jī)可用IP地址:192.168.0.161~192.168.0.190
- G子網(wǎng)的主機(jī)可用IP地址:192.168.0.193~192.168.0.222
- H子網(wǎng)的主機(jī)可用IP地址:192.168.0.225~192.168.0.254
B類子網(wǎng)劃分

A類子網(wǎng)劃分

等分成4個(gè)子網(wǎng)的廣播地址

2. 變長(zhǎng)子網(wǎng)劃分
如果一個(gè)子網(wǎng)地址塊的長(zhǎng)度是原網(wǎng)段的(1/2)^n,那么
- 子網(wǎng)的子網(wǎng)掩碼,就是在原網(wǎng)段的子網(wǎng)掩碼基礎(chǔ)上增加n個(gè)1
-
不等長(zhǎng)的子網(wǎng),它們的子網(wǎng)掩碼也不同
Snip20201015_6.png
假設(shè)上圖是對(duì)192.168.0.0/24進(jìn)行變長(zhǎng)子網(wǎng)劃分
C網(wǎng)段:子網(wǎng)掩碼是255.255.255.128/25
B網(wǎng)段:子網(wǎng)掩碼是255.255.255.192/26
A網(wǎng)段:子網(wǎng)掩碼是255.255.255.224/27
D網(wǎng)段:子網(wǎng)掩碼是255.255.255.252/30
E網(wǎng)段:子網(wǎng)掩碼是255.255.255.252/30
思考題
這2臺(tái)設(shè)備能正常通信么?

答案:不能
解析:當(dāng)一臺(tái)主機(jī)給另外一臺(tái)計(jì)算機(jī)發(fā)消息的時(shí)候,要判斷另外一臺(tái)計(jì)算機(jī)和自己是否在同一網(wǎng)段,即利用自己的子網(wǎng)掩碼和另外一臺(tái)計(jì)算機(jī)的ip地址進(jìn)行&操作
當(dāng)計(jì)算機(jī)0給計(jì)算機(jī)1發(fā)送消息時(shí)
計(jì)算機(jī)0的網(wǎng)段:192.168.0.10 & 255.255.255.0 = 192.168.0.0
計(jì)算機(jī)1的網(wǎng)段:192.168.10.10 & 255.255.255.0 = 192.168.10.0
得知計(jì)算機(jī)1和自己并不在同一網(wǎng)段,因此不能直接通信當(dāng)計(jì)算機(jī)1給計(jì)算機(jī)0發(fā)送消息時(shí)
計(jì)算機(jī)1的網(wǎng)段:192.168.10.10 & 255.255.0.0 = 192.168.0.0
計(jì)算機(jī)0的網(wǎng)段:192.168.0.10 & 255.255.0.0 = 192.168.0.0
得知計(jì)算機(jī)0和自己在同一網(wǎng)段,可以給計(jì)算機(jī)0發(fā)送消息,但是計(jì)算機(jī)0在給計(jì)算機(jī)1回復(fù)消息的時(shí)候,發(fā)現(xiàn)計(jì)算機(jī)1和自己不在同一網(wǎng)段,不能回復(fù)消息,因此也無(wú)法正常通信
六、超網(wǎng)
跟子網(wǎng)反過來(lái),它是將多個(gè)連續(xù)的網(wǎng)段合并成一個(gè)更大的網(wǎng)段
1. 合并兩個(gè)網(wǎng)段
需求:原本有200臺(tái)計(jì)算機(jī)使用192.168.0.0/24網(wǎng)段,現(xiàn)在希望增加200臺(tái)設(shè)備到同一網(wǎng)段
- 200臺(tái)在192.168.0.0/24網(wǎng)段,200臺(tái)在192.168.0.0/23網(wǎng)段
-
合并192.168.0.0/24、192.168.1.0/24為一個(gè)網(wǎng)段:192.168.0.0/23(子網(wǎng)掩碼往左移動(dòng)1位)
Snip20201015_8.png
思考
192.168.0.255/23這個(gè)IP地址,可以分配給計(jì)算機(jī)使用么?
答:可以
解析:

192.168.0.255/23,主機(jī)部分2進(jìn)制值為011111111,不是全0(網(wǎng)段),也不是全1(廣播),因此可以分配給計(jì)算機(jī)使用
另,廣播ip地址為192.168.1.255,不能給計(jì)算機(jī)使用
2. 合并4個(gè)網(wǎng)段
子網(wǎng)掩碼向左移動(dòng)2位,可以合并4個(gè)網(wǎng)段

將192.168.0.0/24、192.168.1.0/24、192.168.2.0/24、192.168.3.0/24合并為192.168.0.0/22網(wǎng)段
思考
下面2個(gè)網(wǎng)段,能通過子網(wǎng)掩碼向左移動(dòng)1位進(jìn)行合并么?
答:不可以

合并網(wǎng)段的規(guī)律
-
假設(shè)n時(shí)2的k次冪(k>=1),子網(wǎng)掩碼左移k位能夠合并n個(gè)網(wǎng)段
Snip20201015_12.png 假設(shè)n時(shí)2的k次冪(k>=1),如果第一個(gè)網(wǎng)段的網(wǎng)絡(luò)號(hào)能被n整除,那么由它開始連續(xù)的n個(gè)網(wǎng)段,能夠通過左移k位子網(wǎng)掩碼進(jìn)行合并
例如:
- 第一個(gè)網(wǎng)段的網(wǎng)絡(luò)號(hào)以二進(jìn)制0結(jié)尾,那么由它開始連續(xù)的2個(gè)網(wǎng)段,能通過左移1位子網(wǎng)掩碼進(jìn)行合并
- 第一個(gè)網(wǎng)段的網(wǎng)絡(luò)號(hào)以二進(jìn)制00結(jié)尾,那么由它開始連續(xù)的4個(gè)網(wǎng)段,能通過左移2位子網(wǎng)掩碼進(jìn)行合并
- 第一個(gè)網(wǎng)段的網(wǎng)絡(luò)號(hào)以二進(jìn)制000結(jié)尾,那么由它開始連續(xù)的8個(gè)網(wǎng)段,能通過左移3位子網(wǎng)掩碼進(jìn)行合并
判斷一個(gè)網(wǎng)段是子網(wǎng)還是超網(wǎng)
- 判斷該網(wǎng)段的類型,是A類網(wǎng)絡(luò)、B類網(wǎng)絡(luò)、C類網(wǎng)絡(luò),默認(rèn)情況下,A類網(wǎng)絡(luò)子網(wǎng)掩碼的位數(shù)是8,B類網(wǎng)絡(luò)子網(wǎng)掩碼的位數(shù)是16,C類網(wǎng)絡(luò)子網(wǎng)掩碼的位數(shù)是24
- 如果該網(wǎng)段的子網(wǎng)掩碼位數(shù)比默認(rèn)子網(wǎng)掩碼多,就是子網(wǎng)
如果該網(wǎng)段的子網(wǎng)掩碼位數(shù)比默認(rèn)子網(wǎng)掩碼少,則是超網(wǎng)
例
25.100.0.1/16是一個(gè)A類子網(wǎng)
200.100.0.1/16是一個(gè)C類超網(wǎng)





