久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 你真的會查看IP地址嗎?

你真的會查看IP地址嗎?

來源:千鋒教育
發(fā)布人:syq
時間: 2023-02-02 18:11:00 1675332660

  你知道怎么查看 IP 地址嗎?

  當(dāng)面試聽到這個問題的時候,面試者常常會覺得走錯了房間。我面試的是技術(shù)崗位啊,怎么問這么簡單的問題?

  的確,即便沒有專業(yè)學(xué)過計算機的人,只要倒騰過電腦,重裝過系統(tǒng),大多也會知道這個問題的答案:在 Windows 上是 ipconfig,在 Linux 上是 ifconfig。

  那你知道在 Linux 上還有什么其他命令可以查看 IP 地址嗎?答案是 ip addr。如果回答不上來這個問題,那你可能沒怎么用過 Linux。

  那你知道 ifconfig 和 ip addr 的區(qū)別嗎?

  這是一個有關(guān) net-tools 和 iproute2 的“歷史”故事。想象一下,你登錄進(jìn)入一個被裁剪過的非常小的 Linux 系統(tǒng)中,發(fā)現(xiàn)既沒有 ifconfig 命令,也沒有 ipaddr 命令,你是不是感覺這個系統(tǒng)壓根兒沒法用?這個時候,你可以自行安裝 net-tools 和 iproute2這兩個工具。當(dāng)然,大多數(shù)時候這兩個命令是系統(tǒng)自帶的。

  安裝好后,我們來運行一下 ip addr。不出意外,應(yīng)該會輸出下面的內(nèi)容。

0

  這個命令顯示了這臺機器上所有的網(wǎng)卡。大部分的網(wǎng)卡都會有一個 IP 地址,當(dāng)然,這不是必須的。在后面的分享中,我們會遇到?jīng)]有 IP 地址的情況。IP 地址是一個網(wǎng)卡在網(wǎng)絡(luò)世界的通訊地址,相當(dāng)于我們現(xiàn)實世界的門牌號碼。既然是門牌號碼,不能大家都一樣,不然就會起沖突。比方說,假如大家都叫六單元 1001 號,那快遞就找不到地方了。所以,有時候咱們的電腦彈出網(wǎng)絡(luò)地址沖突,出現(xiàn)上不去網(wǎng)的情況,多半是 IP 地址沖突了。

  如上輸出的結(jié)果,10.100.122.2 就是一個 IP 地址。這個地址被「點分隔為四個部分」,每個部分 「8 個 bit」,所以 IP 地址總共是 「32 位」。這樣產(chǎn)生的 IP 地址的數(shù)量很快就不夠用了。因為當(dāng)時設(shè)計 IP 地址的時候,哪知道今天會有這么多的計算機啊!因為不夠用,于是就有了 IPv6,也就是上面輸出結(jié)果里面 inet6 fe80::f816:3eff:fec7:7975/64。這個有 128 位,現(xiàn)在看來是夠了,但是未來的事情誰知道呢?

  本來 32 位的 IP 地址就不夠,還被分成了 5 類。現(xiàn)在想想,當(dāng)時分配地址的時候,真是太奢侈了。

1

  在網(wǎng)絡(luò)地址中,至少在當(dāng)時設(shè)計的時候,對于 A、B、 C 類主要分兩部分,前面一部分是網(wǎng)絡(luò)號,后面一部分是主機號。這很好理解,大家都是六單元 1001 號,我是小區(qū) A 的六單元 1001 號,而你是小區(qū)B 的六單元 1001 號。

  下面這個表格,詳細(xì)地展示了 A、B、C 三類地址所能包含的主機的數(shù)量。在后文中,我也會多次借助這個表格來講解。

2

  這里面有個尷尬的事情,就是 C 類地址能包含的最大主機數(shù)量實在太少了,「只有 254 個」。當(dāng)時設(shè)計的時候恐怕沒想到,現(xiàn)在估計一個網(wǎng)吧都不夠用吧。而 B 類地址能包含的最大主機數(shù)量又太多了。6 萬多臺機器放在一個網(wǎng)絡(luò)下面,一般的企業(yè)基本達(dá)不到這個規(guī)模,閑著的地址就是浪費。

  無類型域間選路(CIDR)

  于是有了一個折中的方式叫作「無類型域間選路」,簡稱「CIDR」。這種方式打破了原來設(shè)計的幾類地址的做法,將 32 位的 IP 地址一分為二,「前面是網(wǎng)絡(luò)號,后面是主機號」。從哪里分呢?你如果注意觀察的話可以看到,10.100.122.2/24,這個 IP 地址中有一個斜杠,斜杠后面有個數(shù)字 24。這種地址表示形式,就是 CIDR。后面 24 的意思是,32 位中,前 24 位是網(wǎng)絡(luò)號,后 8 位是主機號。

  伴隨著 CIDR 存在的,一個是「廣播地址」,10.100.122.255。如果發(fā)送這個地址,所有 10.100.122 網(wǎng)絡(luò)里面的機器都可以收到。另一個是子網(wǎng)掩碼,255.255.255.0。將子網(wǎng)掩碼和 IP 地址進(jìn)行 AND 計算。前面三個 255,轉(zhuǎn)成二進(jìn)制都是 1。1 和任何數(shù)值取 AND,都是原來數(shù)值,因而前三個數(shù)不變,為 10.100.122。后面一個 0,轉(zhuǎn)換成二進(jìn)制是 0,0 和任何數(shù)值取AND,都是 0,因而最后一個數(shù)變?yōu)?0,合起來就是 10.100.122.0。這就是「網(wǎng)絡(luò)號」。將子網(wǎng)掩碼和 IP地址「按位計算 AND」,就可得到網(wǎng)絡(luò)號。

  公有 IP 地址和私有 IP 地址

  在日常的工作中,幾乎不用劃分 A 類、B 類或者 C 類,所以時間長了,很多人就忘記了這個分類,而只記得 CIDR。但是有一點還是要注意的,就是公有 IP 地址和私有 IP 地址。

3

  我們繼續(xù)看上面的表格。表格最右列是私有 IP 地址段。平時我們看到的數(shù)據(jù)中心里,辦公室、家里或?qū)W校的 IP 地址,一般都是私有 IP 地址段。因為這些地址允許組織內(nèi)部的 IT 人員自己管理、自己分配,而且可以重復(fù)。因此,你學(xué)校的某個私有 IP 地址段和我學(xué)校的可以是一樣的。這就像每個小區(qū)有自己的樓編號和門牌號,你們小區(qū)可以叫 6 棟,我們小區(qū)也叫 6 棟,沒有任何問題。但是一旦出了小區(qū),就需要使用公有 IP 地址。就像人民路 888 號,是國家統(tǒng)一分配的,不能兩個小區(qū) 都叫人民路 888 號。

  「公有 IP 地址有個組織統(tǒng)一分配」,你需要去買。如果你搭建一個網(wǎng)站,給你學(xué)校的人使用,讓你們學(xué)校的IT 人員給你一個 IP 地址就行。但是假如你要做一個類似網(wǎng)易 163 這樣的網(wǎng)站,就需要有公有 IP 地址,這樣全世界的人才能訪問。

  表格中的 192.168.0.x 是最常用的私有 IP 地址。你家里有 Wi-Fi,對應(yīng)就會有一個 IP 地址。一般你家里地上網(wǎng)設(shè)備不會超過 256 個,所以 /24 基本就夠了。有時候我們也能見到 /16 的 CIDR,這兩種是最常見的,也是最容易理解的。

  不需要將十進(jìn)制轉(zhuǎn)換為二進(jìn)制 32 位,就能明顯看出 192.168.0 是網(wǎng)絡(luò)號,后面是主機號。而整個網(wǎng)絡(luò)里面的第一個地址 192.168.0.1,往往就是你這個私有網(wǎng)絡(luò)的出口地址。例如,你家里的電腦連接 Wi-Fi,Wi-Fi 路由器的地址就是 192.168.0.1,而 192.168.0.255 就是廣播地址。一旦發(fā)送這個地址,整個192.168.0 網(wǎng)絡(luò)里面的所有機器都能收到。但是也不總都是這樣的情況。因此,其他情況往往就會很難理解,還容易出錯。

  舉例:一個容易“犯錯”的 CIDR

  我們來看 16.158.165.91/22 這個 CIDR。求一下這個網(wǎng)絡(luò)的第一個地址、子網(wǎng)掩碼和廣播地址。

  你要是上來就寫 16.158.165.1,那就「大錯特錯」了。

  /22 不是 8 的整數(shù)倍,不好辦,只能先變成二進(jìn)制來看。16.158 的部分不會動,它占了前 16 位。中間的 165,變?yōu)槎M(jìn)制為 10100101 。除了前面的 16 位,還剩 6 位。所以,這 8 位中前 6 位是網(wǎng)絡(luò)號,16.158.<101001>,而<01>.91 是機器號。

  第一個地址是 16.158.<101001><00>.1,即 16.158.164.1。子網(wǎng)掩碼是 255.255.<111111><00>.0,即 255.255.252.0。廣播地址為 16.158.<101001><11>.255,即 16.158.167.255。

  這五類地址中,還有一類 「D 類是組播地址」。使用這一類地址,屬于某個組的機器都能收到。這有點類似在公司里面大家都加入了一個郵件組。發(fā)送郵件,加入這個組的都能收到。組播地址在后面講述 VXLAN協(xié)議的時候會提到。

  講了這么多,才講了上面的輸出結(jié)果中很小的一部分,是不是覺得原來并沒有真的理解 ip addr 呢?我們接著來分析。

  在 IP 地址的后面有個 「scope」,對于 eth0 這張網(wǎng)卡來講,是 global,說明這張網(wǎng)卡是可以對外的,可以接收來自各個地方的包。對于 lo 來講,是 host,說明這張網(wǎng)卡僅僅可以供本機相互通信。

  lo 全稱是「loopback」,又稱環(huán)回接口,往往會被分配到 127.0.0.1 這個地址。這個地址用于本機通信,經(jīng)過內(nèi)核處理后直接返回,不會在任何網(wǎng)絡(luò)中出現(xiàn)。

  MAC 地址

  在 IP 地址的上一行是 link/ether 「fa:16:3e:c7:79:75」 brd ff:ff:ff:ff:ff:ff,這個被稱為「MAC 地址」,是一個網(wǎng)卡的「物理地址」,用「十六進(jìn)制」,6 個 byte 表示。

  MAC 地址是一個很容易讓人“誤解”的地址。因為 MAC 地址號稱全局唯一,不會有兩個網(wǎng)卡有相同的 MAC 地址,而且網(wǎng)卡自生產(chǎn)出來,就帶著這個地址。很多人看到這里就會想,既然這樣,整個互聯(lián)網(wǎng)的通信,全部用 MAC 地址好了,只要知道了對方的 MAC 地址,就可以把信息傳過去。

  這樣當(dāng)然是不行的。一個網(wǎng)絡(luò)包要從一個地方傳到另一個地方,除了要有確定的地址,還需要有定位功能。而有門牌號碼屬性的 IP 地址,才是有遠(yuǎn)程定位功能的。

  例如,你去杭州市網(wǎng)商路 599 號 B 樓 6 層找劉超,你在路上問路,可能被問的人不知道 B 樓是哪個,但是可以給你指網(wǎng)商路怎么去。但是如果你問一個人,你知道這個身份證號的人在哪里嗎?可想而知,沒有人知道。

  MAC 地址更像是「身份證」,是一個唯一的標(biāo)識。它的唯一性設(shè)計是為了組網(wǎng)的時候,不同的網(wǎng)卡放在一個網(wǎng)絡(luò)里面的時候,可以不用擔(dān)心沖突。從硬件角度,保證不同的網(wǎng)卡有不同的標(biāo)識。

  「MAC 地址是有一定定位功能的,只不過范圍非常有限」。你可以根據(jù) IP 地址,找到杭州市網(wǎng)商路 599 號B 樓 6 層,但是依然找不到我,你就可以靠吼了,大聲喊身份證 XXXX 的是哪位?我聽到了,我就會站起來說,是我啊。但是如果你在上海,到處喊身份證 XXXX 的是哪位,我不在現(xiàn)場,當(dāng)然不會回答,因為我在杭州不在上海。

  所以,「MAC 地址的通信范圍比較小,局限在一個子網(wǎng)里面」。例如,從 192.168.0.2/24 訪問 192.168.0.3/24 是可以用 MAC 地址的。一旦跨子網(wǎng),即從 192.168.0.2/24 到 192.168.1.2/24,MAC地址就不行了,需要 IP 地址起作用了。

  網(wǎng)絡(luò)設(shè)備的狀態(tài)標(biāo)識

  解析完了 MAC 地址,我們再來看 < BROADCAST,MULTICAST,UP,LOWER_UP >是干什么的?這個叫作net_device flags,網(wǎng)絡(luò)設(shè)備的狀態(tài)標(biāo)識。

  「UP」 表示網(wǎng)卡處于「啟動」的狀態(tài);「BROADCAST」 表示這個網(wǎng)卡有「廣播地址」,可以發(fā)送廣播包;MULTICAST表示網(wǎng)卡可以發(fā)送多播包;LOWER_UP 表示 L1 是啟動的,也即網(wǎng)線插著呢。

  「MTU1500」 是指什么意思呢?是哪一層的概念呢?「最大傳輸單元 MTU 為 1500」,這是以太網(wǎng)的默認(rèn)值。上一節(jié),我們講過網(wǎng)絡(luò)包是層層封裝的?!窶TU 是二層 MAC 層的概念」。MAC 層有 MAC 的頭,以太網(wǎng)規(guī)定連 MAC 頭帶正文合起來,不允許超過 1500 個字節(jié)。正文里面有 IP 的頭、TCP 的頭、HTTP 的頭。如果放不下,就需要分片來傳輸。

  qdisc pfifo_fast 是什么意思呢?qdisc 全稱是queueing discipline,中文叫排隊規(guī)則。內(nèi)核如果需要通過某個網(wǎng)絡(luò)接口發(fā)送數(shù)據(jù)包,它都需要按照為這個接口配置的 qdisc(排隊規(guī)則)把數(shù)據(jù)包加入隊列。

  最簡單的 qdisc 是 pfifo,它不對進(jìn)入的數(shù)據(jù)包做任何的處理,數(shù)據(jù)包采用先入先出的方式通過隊列。pfifo_fast 稍微復(fù)雜一些,它的隊列包括三個波段(band)。在每個波段里面,使用先進(jìn)先出規(guī)則。三個波段(band)的優(yōu)先級也不相同。band 0 的優(yōu)先級最高,band 2 的最低。如果 band 0 里面有數(shù)據(jù)包,系統(tǒng)就不會處理 band 1 里面的數(shù)據(jù)包,band 1 和 band 2 之間也是一樣。數(shù)據(jù)包是按照「服務(wù)類型」(Type of Service,TOS)被分配多三個波段(band)里面的。TOS 是 IP 頭里面的一個字段,代表了當(dāng)前的包是高優(yōu)先級的,還是低優(yōu)先級的。

  隊列是個好東西,后面我們講云計算中的網(wǎng)絡(luò)的時候,會有很多用戶共享一個網(wǎng)絡(luò)出口的情況,這個時候如何排隊,每個隊列有多粗,隊列處理速度應(yīng)該怎么提升,我都會詳細(xì)為你講解。

  怎么樣,看起來很簡單的一個命令,里面學(xué)問很大吧?通過這一節(jié),希望你能記住以下的知識點,后面都能用得上:

  IP 是地址,有「定位功能」;MAC 是身份證,無定位功能;

  CIDR 可以用來判斷是不是本地人;

  IP 分「公有」的 IP 和「私有」的 IP。后面的章節(jié)中我會談到“出國門”,就與這個有關(guān)。

  最后,給你留兩個思考題。

  你知道 net-tools 和 iproute2 的“歷史”故事嗎?這一節(jié)講的是如何查看 IP 地址,那你知道 IP 地址是怎么來的嗎?

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
工業(yè)機器人、自動化、PLC三者是什么關(guān)系?

一、工業(yè)機器人和自動化工業(yè)機器人是自動化技術(shù)的一部分,是自動化生產(chǎn)線的關(guān)鍵組件之一。在自動化生產(chǎn)線中,工業(yè)機器人被廣泛應(yīng)用于執(zhí)行各種任...詳情>>

2023-10-15 01:41:38
為什么Redis要對一種數(shù)據(jù)類型存儲兩次呢?

一、實現(xiàn)快速數(shù)據(jù)訪問Redis是一種高性能的內(nèi)存數(shù)據(jù)庫,將數(shù)據(jù)存儲在內(nèi)存中可以實現(xiàn)非常快速的數(shù)據(jù)讀取和訪問。為了進(jìn)一步提高數(shù)據(jù)的訪問速度,R...詳情>>

2023-10-15 01:40:32
什么是編程思想?

一、編程思想的定義和理念編程思想可以理解為一套指導(dǎo)編程活動的理念和原則。它包括如何定義問題,如何設(shè)計解決方案,以及如何實現(xiàn)和測試這個解...詳情>>

2023-10-15 01:22:38
迭代開發(fā)模型中最容易出問題的階段是什么?

一、迭代開發(fā)模型中最容易出問題的階段是什么 在迭代開發(fā)模型中,最容易出問題的階段通常是需求收集和分析階段。在這個階段,開發(fā)團隊需要與客...詳情>>

2023-10-15 01:03:52
軟件測試中bug管理工具Jira怎么樣?

一、Jira是什么 Jira是一款由澳大利亞軟件公司Atlassian開發(fā)的項目管理和問題跟蹤工具。它是一種用于敏捷項目開發(fā)和軟件開發(fā)過程中的工具,廣泛...詳情>>

2023-10-15 01:02:32