ifconfig:最熟悉又陌生的命令行---讀後感

1.IP地址是什麼?
IP 地址是一個網卡在網絡世界的通訊地址,相當於我們現實世界的門牌號碼。
2.IP地址的分配(網絡號和主機號):
ifconfig:最熟悉又陌生的命令行---讀後感
舉個例子:
大家都是六單元 1001 號,我是小區 A 的六單元 1001號,而你是小區 B 的六單元 1001 號。
IP地址的範圍:
ifconfig:最熟悉又陌生的命令行---讀後感
帶來的問題是:
C類地址能包含的最大主機數量實在太少了,只有 254 個。當時設計的時候恐怕沒想到,現在估計一個網吧都不夠用吧。而 B 類地址能包含的最大主機數量又太多了。6 萬多臺機器放在一個網絡下面,一般的企業基本達不到這個規模,閒着的地址就是浪費。
3.折中的解決方案-無類型域間選路(CIDR)
舉個例子:
10.100.122.2/24
後面 24 的意思是,32 位中,前 24 位是網絡號,後 8 位是主機號。
伴隨着 CIDR 存在的,一個是廣播地址,10.100.122.255。如果發送這個地址,所有
10.100.122 網絡裏面的機器都可以收到。另一個是子網掩碼,255.255.255.0。
將子網掩碼和 IP 地址進行 AND 計算。前面三個 255,轉成二進制都是 1。1 和任何數值取AND,都是原來數值,因而前三個數不變,爲 10.100.122。後面一個 0,轉換成二進制是 0,0 和任何數值取 AND,都是 0,因而最後一個數變爲 0,合起來就是 10.100.122.0。這就是網絡號。將子網掩碼和 IP 地址按位計算 AND,就可得到網絡號。
公有 IP 地址和私有 IP 地址
ifconfig:最熟悉又陌生的命令行---讀後感
舉個例子:
你家裏的電腦連接 Wi-Fi,Wi-Fi 路由器的地址就是 192.168.0.1,而 192.168.0.255 就是廣播地址。一旦發送這個地址,整個 192.168.0 網絡裏面的所有機器都能收到。
例外:
舉例:一個容易“犯錯”的 CIDR
我們來看 16.158.165.91/22 這個 CIDR。求一下這個網絡的第一個地址、子網掩碼和廣播地
址。
你要是上來就寫 16.158.165.1,那就大錯特錯了。
/22 不是 8 的整數倍,不好辦,只能先變成二進制來看。16.158 的部分不會動,它佔了前 16
位。中間的 165,變爲二進制爲10100101。除了前面的 16 位,還剩 6 位。所以,這 8 位中前
6 位是網絡號,16.158.<101001>,而<01>.91 是機器號。
第一個地址是 16.158.<101001><00>.1,即 16.158.164.1。子網掩碼是 255.255.<111111>
<00>.0,即 255.255.252.0。廣播地址爲 16.158.<101001><11>.255,即16.158.167.255。
ifconfig:最熟悉又陌生的命令行---讀後感
在 IP 地址的後面有個 scope,對於 eth0 這張網卡來講,是 global,說明這張網卡是可以對外
的,可以接收來自各個地方的包。對於 lo 來講,是 host,說明這張網卡僅僅可以供本機相互通
信。
lo 全稱是loopback,又稱環回接口,往往會被分配到 127.0.0.1 這個地址。這個地址用於本機
通信,經過內核處理後直接返回,不會在任何網絡中出現。

MAC 地址( MAC 地址號稱全局唯一,不會有兩個網卡有相同的 MAC 地址):
MAC 地址更像是一個唯一的標識。它的唯一性設計是爲了組網的時候,不同的網卡
放在一個網絡裏面的時候,可以不用擔心衝突。從硬件角度,保證不同的網卡有不同的標識。
MAC 地址是有一定定位功能的,只不過範圍非常有限。
所以,MAC 地址的通信範圍比較小,侷限在一個子網裏面。例如,從 192.168.0.2/24 訪問
192.168.0.3/24 是可以用 MAC 地址的。一旦跨子網,即從 192.168.0.2/24 到
192.168.1.2/24,MAC 地址就不行了,需要 IP 地址起作用了。

網絡設備的狀態標識
解析完了 MAC 地址,我們再來看 < BROADCAST,MULTICAST,UP,LOWER_UP > 是幹什麼
的?這個叫作net_device flags,網絡設備的狀態標識。
UP 表示網卡處於啓動的狀態;BROADCAST 表示這個網卡有廣播地址,可以發送廣播包;
MULTICAST 表示網卡可以發送多播包;LOWER_UP 表示 L1 是啓動的,也即網線插着呢。
MTU1500 是指什麼意思呢?是哪一層的概念呢?最大傳輸單元 MTU 爲 1500,這是以太網的
默認值。
上一節,我們講過網絡包是層層封裝的。MTU 是二層 MAC 層的概念。MAC 層有 MAC 的
頭,以太網規定連 MAC 頭帶正文合起來,不允許超過 1500 個字節。正文裏面有 IP 的頭、
TCP 的頭、HTTP 的頭。如果放不下,就需要分片來傳輸。
qdisc pfifo_fast 是什麼意思呢?qdisc 全稱是queueing discipline,中文叫排隊規則。內核如
果需要通過某個網絡接口發送數據包,它都需要按照爲這個接口配置的 qdisc(排隊規則)把數
據包加入隊列。
最簡單的 qdisc 是 pfifo,它不對進入的數據包做任何的處理,數據包採用先入先出的方式通過
隊列。pfifo_fast 稍微複雜一些,它的隊列包括三個波段(band)。在每個波段裏面,使用先
進先出規則。
三個波段(band)的優先級也不相同。band 0 的優先級最高,band 2 的最低。如果 band 0
裏面有數據包,系統就不會處理 band 1 裏面的數據包,band 1 和 band 2 之間也是一樣。
數據包是按照服務類型(Type of Service,TOS)被分配多三個波段(band)裏面的。TOS 是
IP 頭裏面的一個字段,代表了當前的包是高優先級的,還是低優先級的。
隊列是個好東西,後面我們講雲計算中的網絡的時候,會有很多用戶共享一個網絡出口的情況,
這個時候如何排隊,每個隊列有多粗,隊列處理速度應該怎麼提升,我都會詳細爲你講解。
小結:
IP 是地址,有定位功能;MAC 是唯一標識,無定位功能;
CIDR 可以用來判斷是不是本地人;
IP 分公有的 IP 和私有的 IP。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章