IP地址和路由
IP地址和路由
IPv4地址
IP地址
-
IP地址是邏輯上的地址,可人為分配,具有可管理性
-
IP地址可唯一標識 IP 網絡中的每臺設備
-
每臺主機(計算機、網絡設備、外圍設備)必須具有唯一的地址
-
IP地址由兩部分組成
①網絡ID
?? 標識網絡
?? 每個網段分配一個網絡ID
②主機ID
?? 標識單個主機
?? 由組織分配給各設備 -
IPv4地址格式:點分十進制
IP地址分類
-
A類:
0 000 0000 - 0 111 1111: 1-127
網絡數:126, 127
每個網絡中的主機數:2^24-2
默認子網掩碼:255.0.0.0
私網地址:10.0.0.0 -
B類:
10 00 0000 - 10 11 1111:128-191
網絡數:2^14
每個網絡中的主機數:2^16-2
默認子網掩碼:255.255.0.0
私網地址:172.16.0.0-172.31.0.0 -
C類:
110 0 0000 - 110 1 1111: 192-223
網絡數:2^21
每個網絡中的主機數:2^8-2
默認子網掩碼:255.255.255.0
私網地址:192.168.0.0-192.168.255.0 -
D類:組播
1110 0000 - 1110 1111: 224-239 -
E類:保留未使用
240-255 -
注:ABC類地址由于分類時主機數目差距特別龐大,不太適應于實際場景,因此目前一般采取不分類使用。(eg:2000臺,每臺主機分配一個地址,但根據ABC類地址分配地址就不符合應用場景)
-
公共IP地址
-
私有IP地址
-
特殊地址
①0.0.0.0
?? 0.0.0.0不是一個真正意義上的IP地址。它表示所有不清楚的主機和目的網絡
②255.255.255.255
?? 限制廣播地址。對本機來說,這個地址指本網段內(同一廣播域)的所有主機
③127.0.0.1~127.255.255.254
?? 本機回環地址,主要用于測試。在傳輸介質上永遠不應該出現目的地址為“127.0.0.1”的 數據包
④224.0.0.0到239.255.255.255
?? 組播地址,224.0.0.1特指所有主機,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒體程序
⑤169.254.x.x
?? 如果Windows主機使用了DHCP自動分配IP地址,而又無法從DHCP服務器獲取地址,系統會為主機分配這樣地址
子網掩碼
-
目前打破了ABC的分類方式,根據特定場景劃分主機ID和網絡ID,因此引入子網掩碼,以便區分主機ID和網絡ID。
-
子網掩碼:32bit二進制數字,用于區分主機ID和網絡ID。
-
對應于網絡ID的位為1,對應于主機ID的位為0
-
子網掩碼的八位
即可能成為掩碼的十進制數字
00000000 0
10000000 128
11000000 192
11100000 224
11110000 240
11111000 248
11111100 252
11111110 254
11111111 255 -
可變長度子網掩碼,根據需求劃分網絡ID和主機ID eg:IP/21,IP/22
如何判斷兩個主機在同一網段?
-
兩個主機在同一網段:主機ID位數相同,需要根據掩碼判斷主機位數
-
判斷方法:IP與子網掩碼相與,得出網絡ID
(注意:二進制相與)
eg:192.168.38.7/24
網段:192.168.38.0
兩個主機通信?
-
兩個主機通信:
①首先知道對方IP
②判斷對方和自己是否屬于同一網段
?? 同一網段:arp廣播
?? 不同網段:找網關,若沒有配置網關,則對方網絡不可達。 -
判斷目標主機與自己是否在同一網段?
-
注意:通信時是用自己的子網掩碼與對方ip相與,因為通信時不知道對方子網掩碼
-
eg:主機A與主機B的IP地址如下,請問A與B通信機制?
A:192.168.38.100/25
B:192.168.38.200/24
此時子網掩碼不一樣的情況下:分別單獨分析:
?? ① A --> B (以A的子網掩碼為基準)
?? NETMASK:255.255.255.128
?? 192.168.38.0110 0100 & 255.255.255.1000 0000=192.168.38.0
?? 192.168.38.1100 1000 & 255.255.255.1000 0000=192.168.38.128
?? ip-A 與 ip-B分別與A主機子網掩碼相與,不相同,則不在同一網段
?? ② B --> A(以B的子網掩碼為基準)
?? NETMASK:255.255.255.128
?? 192.168.38.0110 0100 & 255.255.255.0000 0000=192.168.38.0
?? 192.168.38.1100 1000 & 255.255.255.0000 0000=192.168.38.0
?? ip-A 與 ip-B分別與B主機子網掩碼相與,相同,則在同一網段
IP地址范圍
- glob:全局有效
- link:只針對ip網卡所在鏈路有效
- host:只有在本機訪問有效,其他主機訪問無效
配置主機IP時應該結合物理實際和邏輯
- 場景一
- 場景二
- 邏輯上和物理上統一配置網絡比較符合
劃分子網
-
劃分子網:將一個大網(主機數較多)分成多個小網(主機數較少)
-
實現:網絡ID向主機ID借位
-
網絡ID必須為高位,主機ID必須為低位
-
舉例:
10.0.0.0/8(劃分子網)
網絡ID:8位
主機ID:24位
表示IP范圍:10.0.0.1–10.255.255.254
①網絡ID向主機ID借1位
10.0000 0000.0.0/9 — 10.0.0.0/9
10.0 0000000.0.0/9 — 10.0.0.0/9
10.1 0000000.0.0/9 — 10.128.0.0/9
(借1位時有0或1兩種狀態) 因此劃分出2個子網
①網絡ID向主機ID借2位
10.0000 0000.0.0/10 — 10.0.0.0/10
10.00 000000.0.0/10 — 10.0.0.0/10
10.01 000000.0.0/10 — 10.64.0.0/10
10.10 000000.0.0/10 — 10.128.0.0/10
10.11 000000.0.0/10 — 10.192.0.0/10
(借2位時具有:00 01 10 11) 因此劃分出4個子網
…
(以此類推) -
例題:將10.0.0.0/8劃分32個子網
1、子網的子網掩碼?
2、最小的子網的網絡ID?
3、最大的子網的網絡ID?
4、第10個子網的IP范圍?
解:32=2^5,因此網絡ID需要向主機ID借5位,則子網一共13位
10.00000 000.0.0/13
1、子網的子網掩碼:255.11111000.0.0=255.248.0.0
2、最小的子網的網絡ID:10.0.0.0/13
3、最大的子網的網絡ID:10.248.0.0/13
4、第10個子網的IP范圍:10.72.0.1~10.72.255.254 -
合并超網:將多個小網合并成一個大網,主機id向網絡id借位
合并超網作用:合并超網可以節約路由器的路由記錄,即節約路由器的存儲空間
eg:上圖這些IP合并超網時:
220.78.10101 000.0
220.78.10101 001.0
…
220.78.10101 111.0
主機id向網絡id借3位滿足網絡id保持不變~因此此時路由記錄將上圖中的多條改為:220.78.168.0/21 即子網掩碼為255.255.168.0 -
還有可能出現以下場景:
①有時也設置30為的網絡ID,剩下2主機IP
②在回環網卡上指定32網絡ID,指定ip的情況。回環網卡指定ip不會因為物理網卡down導致ip丟失。
路由
路由簡介
- 路由主要的功能實現跨網絡通信
- 路由分類:
主機路由:描述網絡中某主機怎么到達
網絡路由:描述主機所在網絡怎么到達,到達網絡之后在ARP廣播
默認路由:指明走的方向就能到達
??訪問時可能三種路由都知道,由優先級決定 - 路由的優先級:精度越高,優先級越高
路由表
-
路由器、主機中都有路由表,路由表有路由記錄組成
-
有路由表主機與不在同一網段的主機通信才能出去
-
注: 路由是核心,網關是形式
-
路由記錄的組成:
①網絡ID:目標主機所在網絡id/子網掩碼 (其中可以是主機ip,網絡id,默認路由)
②接口(interface):本路由器要到達對應的網絡所發送的本地接口(即路由器到達對應網絡應該從哪一個接口轉發)
③網關(gateway):要到達目標網絡,需要發送到下一個路由器的接口ip(即目標主機不是與本機路由器直接相連的鏈路時,應該要轉發至去目標主機且與本機當相鄰的路由—>每個路由只負責與自己直連的鏈路和轉發)
④meric:數字越小優先級越高(當有多條路徑可供選擇時) -
查看當前主機路由表信息:
①與路由表中沒有記錄的主機通信時,走默認路由,默認路由(0.0.0.0)-可以去任何網段(而且系統默認路由的優先級最低)
②默認路由是由網關生成的,(配置文件不配置網關就不會生成默認路由) -
路由記錄的描述
如上圖加入A與B通信,路由器1(R1)和路由器2(R2)的路由記錄圖表
路由表的生成
①靜態路由:手動一條一條添加;(小環境)
②動態路由:通過守護進程獲取動態路由
路由表的自動生成:路由協議 利用軟件實現
RIP(學習使用,走的路徑越少,越好)
OSPF(中小型企業使用,考慮帶寬)
BGP(大型企業使用)
??quagga:軟件包
??命令vtysh配置
路由相關命令和配置文件
-
ip route:- routing table management
①刪除路由:ip route del TARGET
②顯示路由:ip route show|list
③添加網關:ip route add default via GW dev IFACE
④清空路由表:ip route flush [dev IFACE] [via PREFIX]
?????? ip route flush dev eth0 -
route命令
①默認路由,網關:172.16.0.1
?? route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
?? route add default gw 172.16.0.1
②刪除:route del
?? route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
③目標:192.168.1.3 網關:172.16.0.1
?? route del -host 192.168.1.3
④目標:192.168.0.0 網關:172.16.0.1
?? route del -net 192.168.0.0 netmask 255.255.255.0
⑤顯示:route / route -n -
路由相關的配置文件:
/etc/sysconfig/network-scripts/route-IFACE
/etc/sysconfig/network-scripts/ifcfg-IFACE(需要手動創建)
? 注意:需service network restart生效
? 兩種風格:(一般建議采用第一種風格)
(1) TARGET via GW
如:10.0.0.0/8 via 172.16.0.1
(2) 每三行定義一條路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
實驗
- 主機A和主機B通信,其中路由器使用Linux模擬,各階段配置如下
- 實驗總結:
①因為我在A主機沒有配置默認網關(即沒有默認路由),也并未配置路由記錄去192.168.6.0/24網段
在A主機添加的路由記錄:(沒有指明去192.168.6.0/24網段的路由記錄,然后其A主機 ping B主機 )
route add -net 192.168.38.0/24 gw 172.18.4.27/24
造成現象:
a、圖中其他IP均能ping通除了A ping B;和B ping A
b、當A主機去pingB主機時:報文只能到達192.168.38.0/24網段;
c、當B主機去ping A主機時:A的響應報文也只能到達192.168.38.0/24網段;
②錯誤分析:此時172.18.0.0/16網段要抵達192.168.6.0/24 需要經192.168.38.0/24這個網段,但是添加的路由記錄并不能抵達至192.168.6.0/24網段,受到路由的限制,報文在抵達192.168.38.0/24網段時就不進行轉發了。
③錯誤原因:因為沒有指明去192.168.6.0/24的路由記錄。
④路由是指明方向,方向很重要╮(╯▽╰)╭
總結
- 上一篇: 华三服务器管理口地址_各种服务器、存储默
- 下一篇: 局域网助手_IP地址管理和局域网远程助手