公有 IP 地址有個組織統一分配,你須要去買。若是你搭建一個網站,給你學校的人使用,讓大家學校的 IT 人員給你一個 IP 地址就行。可是假如你要作一個相似網易 163 這樣的網站,就須要有公有 IP 地址,這樣全世界的人才能訪問。
表格中的 192.168.0.x 是最經常使用的私有 IP 地址。你家裏有 Wi-Fi,對應就會有一個 IP 地址。通常你家裏地上網設備不會超過 256 個,因此 /24 基本就夠了。有時候咱們也能見到 /16 的CIDR,這兩種是最多見的,也是最容易理解的。
16.158.165.91/22 這個 CIDR:
/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。
這五類地址中,還有一類 D 類是
組播地址。
使用這一類地址,屬於某個組的機器都能收到。
在 IP 地址的後面有個 scope,對於 eth0 這張網卡來說,是 global,說明這張網卡是能夠對外的,能夠接收來自各個地方的包。對於 lo 來說,是 host,說明這張網卡僅僅能夠供本機相互通訊。lo 全稱是
loopback
,又稱
環回接口
,每每會被分配到 127.0.0.1 這個地址。這個地址用於本機通訊,通過內核處理後直接返回,不會在任何網絡中出現。
MAC
地址
在 IP 地址的上一行是 link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff,這個被稱爲
MAC 地址,
是一個網卡的物理地址,用十六進制,6 個 byte 表示。
MAC 地址號稱全局惟一,爲何網絡通信不直接用MAC地址?
由於一個網絡包要從一個地方傳到另外一個地方,除了要有肯定的地址,還須要有定位功能。
而有門牌號碼屬性的 IP 地址,纔是有遠程定位功能的。
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 頭裏面的一個字段,表明了當前的包是高優先級的,仍是低優先級的。