基本概念
網際網路 (internet)
網際網路就是各種終端通過轉發裝置(交換機,路由器)進行環型的連線形成一個圖的結構,使之每個裝置都能夠互相連通,如下圖:
計算機之間的連線方式
- 同臺電腦直連
- 同軸電纜(Coaxial)
- 集線器(hub)
- 網橋(Bridge)
- 交換機(Swtch)
- 路由器(Router)
上面的裝置都是用於連線終端裝置的,發展使也是從上往下
RJ45介面 與 網線
直通線與交叉線
-
直通線:介面兩端同樣的顏色會對應同一個介面位
-
交叉線:有些線的位置需要調整,如下圖
同臺電腦直連
直接使用網線將兩臺PC連線,需要使用 直通線
同軸電纜(Coaxial)
特點
- 半雙工通訊(傳送和接收不能同時進行)
- 容易衝突
- 不安全
- 中間斷了,整個網路都癱瘓
集線器(hub)
用於連線多臺PC終端,所有PC都需要在同一網段
特點
- 半雙工通訊(傳送和接收不能同時進行)
- 容易衝突
- 不安全
- 和同軸電纜一樣:沒有智商
網橋(Bridge)
主要用於隔絕衝突域,連線2邊的集線器,能夠通過自學習得到每個介面那側的MAC地址
所以它會快取兩邊的PC的MAC地址,當發起ARP(Address Resolution Protocol 地址解析協議)
的時候就不需要再去廣播了,所以說它是有智商的
交換機(Switch)
特點
- 相當於介面更多的網橋
- 全雙工通訊(可以同時接和收)
- 比集線器安全
- 智慧
路由器(Router)
特點
- 隔絕廣播域
- 可以在不同網段之間轉發資料
- 路由器兩端也必須是不同網段
網線直連、同軸電纜、集線器、網橋、交換機
-
連線的裝置必需在同一網段
-
連線的裝置處在同一廣播域(廣播是針對同一網段的)
MAC地址、IP地址
MAC地址
- 每個網路卡都有一個唯一6位元組(48bit)的MAC地址(
Media Access Control Address
) - 全球唯一,固化在網路卡的ROM中,由IEEE802標準規定
- 前3位元組:OUI(Orgnaizationally Unique Identifier),組織唯一識別符號,由IEEEE的註冊管理機構分析給廠商
- 後3位元組:網路介面識別符號,由廠商自行分配
OUI查詢
http://standards-oui.ieee.org/oui/oui.txt
MAC地址表示格式
- Windows
- 60-38-78-10-8C-34
- Linux、Android、Mac、iOS
- 60:38:78:10:8C:34
- Packet Tracer
- 6038.7810.8C34
- 當48位全為1時,代表廣播地址
- FF-FF-FF-FF-FF-FF
MAC地址操作
- 檢視MAC地址
- windows: ipconfig /all
- linux: ifconfig
- 修改MAC地址
- 更改介面卡選項 -> 屬性 -> 配置 -> 高階 -> 網路地址
- 填寫時需要把減號(-)去掉
MAC地址的獲取
- 當不知道對方主機的MAC地址時,可以通過傳送
ARP
廣播獲取對方的MAC地址- 獲取成功後,會快取IP地址、MAC地址的對映資訊,俗稱:ARP快取
- 通過ARP廣播獲取的MAC地址,屬於動態(dynamic)快取
- 儲存時間比較短(預設是2分鐘),過期後自動刪除
- 相關命令
- arp -a [主機地址]: 查詢當前裝置或指定IP的ARP快取
- arp -d [主機地址]: 刪除AR快取
- arps -s 主機地址 MAC地址: 手動增加一條ARP快取,屬於靜態快取,不同系統儲存時長不同
ARP欺騙
ARP攻擊就是通過偽造IP地址和MAC地址實現ARP欺騙,能夠在網路中產生大量的ARP通訊量使網路阻塞,攻擊者只要持續不斷的發出偽造的ARP響應包就能更改目標主機ARP快取中的IP-MAC條目,造成網路中斷或中間人攻擊
攻擊主機PC2傳送ARP應答包給被攻擊主機PC1和閘道器,分別修改它們的ARP快取表, 將它們的ip地址所對應的MAC地址,全修改為攻擊主機PC2的MAC地址,這樣它們之間資料都被攻擊主機PC2截獲
簡單描述:
我是PC2,PC1是被攻擊者,我通過ARP包告訴閘道器我是PC1,告訴PC1我是閘道器,這樣他們傳送的資料就都會發給我,從而實現資料攔截(可以實現對目標進行限速等操作)
IP地址
-
IP地址(Internet Protocol Address):網際網路上的每一個主機都有一個IP地址
-
最初是IPv4版本,32bit(4位元組),2019年11月25日,全球的IP地址已經用完
-
後面推出了IPv6版本,128bit(16位元組),目前使用的還是IPv4,特殊地方才用IP6
-
IP地址的組成
- IP地址由2部分組成:網路標識(網路ID)、主機標識(主機ID)
- 通過子網掩碼(subnet mask)可以得到網路ID、主機ID
- 主機所在的網段:子網掩碼 & IP地址
- 計算機再與其它計算機通訊前,會先判斷是否在同一網段
- 同一網段:不需要路由器進行轉發
- 不同網段:需要路由器進行轉發
網段計算
上面的IP地址與子網掩碼計算的網段為:192.168.1.0
&操作
只有當兩個都為1的時候才為1,其它為0
IP地址的分類
-
A類地址:子網掩碼預設是255.0.0.0
-
B類地址:子網掩碼預設是255.255.0.0
-
C類地址:子網掩碼預設是255.255.255.0
-
D類地址:以1110開頭,多播地址
-
E類地址:以1111開頭,保留為今後使用
注
- 只有A\B\C類地址才能分配給主機
- 主機ID為全0,表示主機所在的網段
- 主機ID為全1 ,表示主機所在的網段所有主 要(用於廣播)
- 使用ping廣播地址可以實現獲取當前網段內的所有線上主機
A類地址
- 網路ID
- 0不能用,127作為保留網段。其中 127.0.0.1 是本地環回地址(Loopback),代表本地地址
- 1~126 為可以分配給主機用
- 主機ID
- 第2、3、4部分的取值範圍:0~255
- A類網路最大能容納主機數:256 * 256* 256 - 2 = 2的24次方 - 2 = 16777214
- 減2原因:0不能用,網段不能用
B類地址
- 網路ID
- 可分配給主機的
- 第1部分:128~191
- 第2部分:0~255
- 可分配給主機的
- 主機ID
- 第3、4部分的取值範圍:0~255
- B類網路最大能容納主機數:256 * 256 - 2 = 2的16次方 - 2 = 65534
C類地址
- 網路ID
- 可分配給主機的
- 第1部分:192~223
- 第2、3部分:0~255
- 可分配給主機的
- 主機ID
- 第4部分的取值範圍:255
- B類網路最大能容納主機數:256 - 2 = 254
D類地址
- 沒有子網掩碼,用於多播(組播)地址
- 第1部分取值範圍:224~239
E類地址
-
沒有子網掩碼,用於多播(組播)地址
-
第1部分取值範圍:240~255
子網掩碼的CIDR表示方法
- CIDR (Classless Inter-Domain Routing):無類別域間路由
- 子網掩碼的CIDR表示方法
- 192.168.1.100/24,代表子網掩碼為 24個1,也就是 255.255.255.0
- 123.210.100.200/16,代表子網掩碼為 16個1,也就是 255.255.0.0
- 計算工具
子網劃分
為什麼要進行子網劃分
-
200臺主機在同一網段,分配一個C類網段,如:192.168.1.0/24
- 共254個可用IP地址:192.168.1.1~192.168.1.254
- 多出54個空閒的IP地址,這到不算浪費
-
如果 500臺主機在同一網段,分配一個B類網段,如:191.100.0.0/16
- 共65534個可用IP地址:191.100.0.1~191.100.255.254
- 多出65034個空閒的IP地址,這種情況屬於極大的浪費資源
-
為了避免浪費IP地址資源,就需要進行子網劃分
如何子網劃分
- 借用主機位做子網位,劃分出多個子網
- 2種劃分方式
- 等長子網劃分:將一個子網劃分成多個子網,並且每個子網可用IP地址數一樣
- 變長子網劃分:劃分成多個可用IP地址不一樣的子網
- 子網線上劃分器:http://www.ab126.com/web/3552.html
- 子網劃分步驟:
- 確定子網的子網掩碼長度
- 確定子網中第1個、最後1個主機可用IP地址
等長子網劃分
等分成2個子網
上圖是將 192.168.0.0/24 C類網段劃分成兩個子網
-
A子網
- 可用IP地址:192.168.0.1 ~ 192.168.0.126 (0 和 127 不能用,0是網段,127是廣播地址)
-
B子網
- 可用IP地址:192.168.0.129 ~ 192.168.0.254(128 和 255 不能用,128是網段,255是廣播地址)
-
2個網段的子網掩碼都是:255.255.255.128/25,每個網段可用主機數為:126
演算法解析
如上圖,將網路位往主機部借1位時,主機部分可用的位數就只有7位,此時網路部分可分為 :
- A子網:192.168.0|0
- B子網:192.168.0|1
主機部分全0和全1是不能做為可用IP地址的,全0是網段,全1就是廣播地址
- A子網的主機部分可用IP就是 0|0000001 ~ 0|1111110 (1~126)
- B子網的主機部分可用IP就是 1|0000001 ~ 1|1111110 (129~254)
- 注:雖然向主機位借位,但計算主機IP個數時還是按之前的8位來算,需要加上被借的那1位
等分成4個子網
- A子網:192.168.0.1 ~ 192.168.0.62
- B子網:192.168.0.65 ~ 192.168.0.126
- C子網:192.168.0.129 ~ 192.168.0.190
- D子網:192.168.0.193 ~ 192.168.0.254
- 4個子網的子網掩碼都是:255.255.255.192/26,每個網段可用主機數:62
等分成8個子網
-
A子網:192.168.0.1~192.168.0.30
-
B子網:192.168.0.33~192.168.0.62
-
C子網:192.168.0.65~192.168.0.94
-
D子網:192.168.0.97~192.168.0.126
-
E子網:192.168.0.129~192.168.0.158
-
F子網:192.168.0.161~192.168.0.190
-
G子網:192.168.0.193~192.168.0.222
-
H子網:192.168.0.225~192.168.0.254
-
8個子網的子網掩碼都是:255.255.255.224/27,每個網段可用主機數:30
規律
如果一個子網是是原來網路2/1,子網掩碼往後移1位就行,如果是4/1,移2位,是8/1,移3位,簡單點就是 移幾位就是2的幾次方
-
1位 = 2^1 = 2
-
2位 = 2^2 = 4
-
3位 = 2^3 = 8
變長子網劃分
- 等長子網劃分是每個子網都使用 **相同 **的子網掩碼
- 變長子網劃分是每個子網都使用 **不同 **的子網掩碼
例子
對 192.168.100.0/24 網段進行變長子網劃分,需要主機數分別為 A: 80,B: 50,C: 24,D: 10 不同數量的網段,如果使用等長子網劃分,劃分成4個網段,那樣每個網段的主機數只有 62個,不滿足 80 個主機的要求,此時就可以使用變長子網劃分
步驟:
- 滿足A:先將 192.168.100.0/24 往後移一位,劃分出 192.168.100.0/25 與 192.168.100.128/25 兩個網段,將 192.168.100.0/25 網段的 126 個地址分配給 A 用
- 滿足B:再將剩餘的 192.168.100.128/25 網段再往後移一位,劃分出 192.168.100.128/26 與 192.168.100.192/26 兩個網段,將 192.168.100.128/26 網段的 62個地址分配給B用
- 滿足C:再將 192.168.100.192/26 再往後移一位,劃分出 192.168.100.192/27 與 192.168.100.224/27 兩個網段,將 192.168.100.192/27 網段的 30個地址分配給C用
- 滿足D:再將 192.168.100.224/27 再往後移一位,劃分出 192.168.100.224/28 與 192.168.100.240/28 兩個網段,將 192.168.100.224/28 網段的 13個地址分配給D用
思考問題
【PC1】 192.168.0.10/24 與 【PC2】192.168.10.10/16 能進行通訊嗎?
思路:先將兩臺PC的網段算出來,看是不是同一網段
- PC1:192.168.0.0/24
- PC2:192.168.0.0/16
看上去好像兩個是同一網段,實際是不能進行通訊的,為什麼呢?當一臺裝置與另一臺裝置進行通訊之前是怎麼處理的?首先它並不知道目標裝置的子網掩碼,只知道目標裝置的IP地址,所以它要判斷該裝置是否和自己是同一網段,它是直接拿自己的子網掩碼去和目標IP進行&運算得到網段,網段一樣才會通訊,計算如下:
【PC1=>PC2】 192.168.10.10/24 = 192.168.10.0 與自己的網段 192.168.0.0 不一樣,所以無法通訊
【PC2=>PC1】 192.168.0.10/16 = 192.168.0.0 與自己的網段 192.168.0.0 一樣,可以通訊
注意:PC1 不能發給 PC2,但 PC2 能發給 PC1,只有兩同裝置都能夠互相通訊,才能真正通訊
超網
- 它和子網是反過來,將多個連續的網段合併成一個更大的網段
- 比如原來有200臺裝置使用192.168.0.0/24網段,現在想再增加 200臺裝置到同一網段
- 200臺在 192.168.0.0/24網段,另外200臺在 192.168.1.0/24網段
- 合併 192.168.0.0/24 與 192.168.1.0/24 網段為 192.168.0.0/23 網段(子網掩碼往左移動1位)
合併2個子網
合併4個子網
思考:下面這2個網段向左移一位能合併嗎?
答案是不可以的,為什麼呢?因為如果只向左移一位的話,它們的網段還是不相同的,當然就不是同一網段了,所以至少移2位才可以
判斷一個網段是子網還是超網
- 首頁判斷IP地址的型別,是A類、B類、C類?
- A類子網掩碼是8位,就是 255.0.0.0,如果 當前IP地址是A類,再看子網掩碼是往左移位還是往右移位,往左移位就是超網,往右移位就是子網
- B類是16位
- C類是24位