網絡協議學習筆記二

查看ip地址:網絡

在 Windows 上是 ipconfig,在 Linux 上是 ifconfig 或者ip addr。
 
登陸進入一個被裁剪過的很是小的 Linux 系統中,發現既沒有 ifconfig 命令,也沒有 ip addr 命令,你是否是感受這個系統壓根兒無法用?這個時候,你能夠自行安裝 net-tools 和 iproute2 這兩個工具。固然,大多數時候這兩個命令是系統自帶的。
 
IP 地址被點分隔爲四個部分,每一個部分 8 個 bit,因此 IP 地址總共是 32 位。由於不夠用,因而就有了 IPv6,這個有 128 位。
原本 32 位的 IP 地址就不夠,還被分紅了 5 類:
 
這裏面有個尷尬的事情,就是 C 類地址能包含的最大主機數量實在太少了,只有 254 個。當時設計的時候恐怕沒想到,如今估計一個網吧都不夠用吧。而 B 類地址能包含的最大主機數量又太多了。6 萬多臺機器放在一個網絡下面,通常的企業基本達不到這個規模,閒着的地址就是浪費。
因而有了一個折中的方式叫做 無類型域間選路 ,簡稱 CIDR 。這種方式打破了原來設計的幾類地址的作法,將 32 位的 IP 地址一分爲二,前面是 網絡號 ,後面是 主機號 。從哪裏分呢?你若是注意觀察的話能夠看到,10.100.122.2/24,這個 IP 地址中有一個斜槓,斜槓後面有個數字24。這種地址表示形式,就是CIDR。後面 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 地址有個組織統一分配,你須要去買。若是你搭建一個網站,給你學校的人使用,讓大家學校的 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 頭裏面的一個字段,表明了當前的包是高優先級的,仍是低優先級的。

總結:工具

IP 是地址,有定位功能;MAC 是身份證,無定位功能;
CIDR 能夠用來判斷是否是本地人;
IP 分公有的 IP 和私有的 IP。
相關文章
相關標籤/搜索