0.說明bash
在學習下面的內容以前,應該對TCP/IP有一個最基本的認識,這個咱們在前面也已經屢次提到過,其實在不涉及網絡數據的結構分析上,咱們只須要在內心對TCP/IP有以下一個概念便可:
網絡
TCP/IP層次 | 重點 |
應用層 | 各類應用,如Web應用、QQ等 |
傳輸層 | 兩種鏈接協議:TCP、UDPide 傳輸層端口號學習 |
網絡層 | IP地址(用於尋找不一樣的網絡) |
數據鏈路層 | MAC地址(用於局域網中尋找不一樣的主機) |
物理層 | 二進制數據串 |
這個表格的內容很重要,能夠說,對於TCP/IP協議棧,是很是基礎的,所以務必要記住。
spa
1.回顧與引言:爲何須要IP地址計算機網絡
咱們在前面說過,路由器它是一個三層的網絡設備(交換機是二層網絡設備,轉發器是物理層網絡設備),經過路由器,咱們能夠把不一樣的網絡(局域網)鏈接起來,而這些不一樣的局域網,可能有以太網、令牌環網等,以下:
3d
(須要注意的是,實際上令牌環網的結構確定不是像右邊這樣的,這裏只是爲了方便畫圖)blog
就像上面圖所示,正是藉助於路由器,咱們纔可以將兩個不一樣的局域網絡鏈接起來,而所謂的不一樣的局域網絡,指的是,這兩個局域網絡上的主機配置的IP地址的網絡號是不同的,關於這個概念,咱們下面會慢慢提到,如今先有個認識就能夠了。
接口
可是,到了21世紀的今天,令牌環網早已經被淘汰,現在咱們能夠看到的絕大多數局域網的類型都是以太網,因此,在沒有特別說明的狀況下,之後咱們提到「局域網」這個名詞時,指的都是「以太網」,因此,上面的圖能夠更改成以下:
ip
可是如今的一個疑問就是,既然都是以太網,那又爲何說這兩個局域網是不一樣的局域網的呢?這到底哪裏不一樣呢?這其實在上面已經有簡單的提過,也就是這兩個局域網絡上的主機配置的IP地址的網絡號是不同的(如今不理解這句話也沒有關係,由於尚未真正開始講IP地址)。能夠這麼理解:有兩我的,他們都是人,可是他們的身份標識不同,因此咱們說這是兩個不一樣的人,但本質上他們都是人;一樣的道理,所謂兩個不一樣局域網,他們本質上都是局域網,只是這兩個局域網的身份標識不同而已。
對於人,咱們能夠用姓名、×××號等來做爲身份標識,那麼對於局域網,又該以什麼來做爲身份標識呢?
OK!也許你已經猜到了,就是IP地址!IP地址的其中一個重要功能就是能夠區分不一樣的局域網,固然,它還有另一個功能,那就是能夠區分同一個局域網中的不一樣主機(親,一個局域網能夠有不少主機的啊,固然要加以區分了)。
2.IP地址
(1)IP地址與點分十進制記法
計算機所能識別的都是二進制數,因此實際上的IP地址都是32位的二進制數,只不過是爲了咱們人看起來比較容易區分,咱們就把它寫成十進制的形式,這種方法咱們稱之爲點分十進制,以下:
應該很是好理解了,其實這一點懂不懂,就是考察你二進制到底有沒有學好。OK,若是以爲能夠理解的話,請嘗試作下面的幾個轉換:
二進制IP地址 | 點分十進制記法 |
11000000|10100011|00000001|00000001 | |
10.10.120.16 | |
01111111|00000000|00000000|00000001 |
用點分十進制的方法來表示IP地址是很是重要的一個知識點,務必掌握好,尤爲是其中的轉換關係,其實只要把二進制和十進制的轉換關係弄清楚了,相信也不難。
(2)IP地址網絡號與主機號
咱們前面已經提到,IP地址能夠用來標識不一樣的局域網,其實這是利用了IP地址中網絡號的功能,而要標識局域網中的不一樣主機,咱們須要使用IP地址的主機號來進行標識,那麼也就是說,一個IP地址由兩部分組成:網絡號和主機號。咱們下面就舉例來講明。
一個IP地址,好比192.168.1.1/24,實際上它包含了兩個方面的含義,一個是它表明了這個IP地址處在哪一個局域網中,而另外一個是它表明了這個局域網中的哪一個主機。在這裏,分析以下:
能夠看到上面的IP地址後面還有一個/24,這是什麼意思呢?這是表示192.168.1.1這個IP地址的前24位表示的是網絡號,在這裏就是192.168.1,192.168.1(11000000|10101000|0000001)這24位就表明了一個局域網絡,而最後的8位(00000001)就表明一臺主機,經過這兩種方式的結合,咱們就能夠用一個IP地址來惟一標識一個局域網絡中的一臺主機,因此在不考慮其它通訊技術的前提下(如NAT技術等,後面會有課程介紹),互聯網上全部主機的IP地址必定是惟一的。 繼續來做一下拓展,對於192.168.1.1/24這個IP地址,還能夠寫成這樣的形式:192.168.1.1 255.255.255.0。這樣一表示的話,咱們能夠把255.255.255.0稱爲掩碼,它就是用來限定一個IP地址的網絡號究竟是前面哪幾位。這樣來講,255.255.255.0其實也是用點分十進制的方法來表示的,若是把它表示把二進制的話,那就是11111111.11111111.11111111.000000000,若是位是1,就表示所對應的IP地址的那些位就表示網絡號,好比這裏,255.255.255.0的前24位都是1,因此192.168.1.1這個IP地址的前24位就是用來表示網絡號,而剩下的8位就用來表示主機號。 因此日後當咱們看到兩個IP地址時,若是沒有給出掩碼,咱們是沒有辦法判斷它們是否同屬於一個局域網的,好比192.168.1.1和192.0.1.1,就這樣給出兩個IP地址,沒有什麼做用,由於根本就沒有給出掩碼! 關於網絡號和主機號,是很是重要的概念,下面再來總結一下:
|
(3)網絡地址和廣播地址
網絡地址
前面咱們用192.168.1.1/24這個IP地址來給出網絡號和主機號的概念,再次強調,它表明了兩種不一樣的含義(這裏要提問,其實答案上面已經有)。其實對於網絡號192.168.1,這樣看起來彷佛不太好看,因此習慣性的,咱們會把網絡號後面的位數所有補0,而後再用來表示一個網絡,好比192.168.1,二進制就是11000000|10100011|00000001,爲了跟32位的IP地址表示方法相一致,咱們會習慣性地把後面的八位補0,也就是變成11000000|10100011|00000001|00000000,用點分十進制表示就是192.168.1.0,但正常狀況下,咱們還須要再加上一個掩碼,即192.168.1.0/24,OK,咱們如今就是用這樣的方式來表示一個網絡,是的,再強調一遍,192.168.1.0/24就表示一個網絡,咱們就把這個地址稱爲網絡地址。
提示: 網絡地址=網絡號+後面補0+掩碼 |
若是這時我再給出一個網絡地址192.168.2.0/24,咱們要判斷192.168.1.0/24和192.168.2.0/24是否是同一個網絡,只須要比較它們的前24位便可,顯然它們表明了兩個不一樣的網絡。很明顯,用網絡地址的方式就能夠很是清晰地描述一個網絡。
提示1: 網絡地址是一種特殊的IP地址,它表示的不是一個主機,而是一個網絡,因此在局域網中,網絡地址是不容許分配給一臺主機的。咱們能夠作一個簡單的實驗。
Router>en Router#conf t Router(config)#int f0/0 Router(config-if)#no shu Router(config-if)#ip add 192.168.1.0 255.255.255.0 Bad mask /24 for address 192.168.1.0 核心提示2: 這裏須要強調的是,其實咱們在給一個主機或一臺設備配置IP地址的時候,其實確切地說,是給這臺主機或這臺設備的網絡接口,也就是網卡接口(專業名詞:網絡適配器)配置一個IP地址,所以,在之後咱們提到要給一臺設備配置一個IP地址時,指的是給這臺設備的接口配置一個IP地址,這點尤爲注意。 另外,咱們經常使用專業名詞「網絡節點」來描述一臺網絡設備,其實這個節點指的僅僅是這臺設備的一個接口而已。(你能夠看到,咱們給路由器的不一樣接口配置了不一樣的IP地址) |
廣播地址
a.廣播
以太網的發展有其豐富的歷史背景,「廣播」一詞從以太網誕生之初就註定要跟隨以太網一輩子,即使是到了以太網飛速發展的今天(速度已經上千兆、上萬兆),但廣播依然存在於以太網中。很顯然,廣播廣泛存在於咱們目前的局域網中(由於如今的局域網幾乎都是以太網),那麼,所謂的廣播是什麼呢?
小學初中高中的時候,學校發放通知會經過廣播(其實就是一個大喇叭,而後再有一個大大的揚聲器)的形式發放,這樣的話,全校的師生均可以聽到廣播的消息(其實這也是數據通訊方式的一種方式,只不過傳遞信息是以聲波的形式進行的)。
那麼以太網有沒有相似這樣的狀況呢?就是在一臺主機上發送數據,局域網中的全部主機均可以收到這個數據。以下:
其實只要發送一個廣播包,局域網中的全部主機均可以收到這個數據。那麼廣播包又是怎麼定義的呢?
提示:廣播包 所謂的廣播包,其實就是目的IP地址爲廣播地址的數據包(很好理解嘛,廣播包,就是目的地址爲廣播地址的數據包)。 關於數據包中目的地址的知識,能夠複習以往講過的數據封裝和解封裝的知識。 |
b.廣播地址
好了,如今來講一下什麼是廣播地址。前面咱們提到192.168.1.0/24這個網絡地址,廣播地址,只要把網絡號後面的0所有都變爲1便可,也就是192.168.1.255/24,這個地址就是192.168.1.0/24這個網絡中的廣播地址。很顯然,一個局域網中有且僅有一個廣播地址。在192.168.1.0/24這個局域網中,只要咱們把數據發送給192.168.1.255/24這個IP地址,那麼本局域中的全部主機都會收到這個數據。
實驗:
要求你們也要親自演示一遍。 |
(4)分類的IP地址
IP地址習慣上能夠分爲下面幾類:
咱們只須要記住A類、B類、C類便可,即這些IP地址的掩碼分別爲255.0.0.0、255.255.0.0和255.255.255.0。
(5)VLSM(變長子網劃分)
所謂VLSM,就是子網劃分,不必弄得過高深,那麼什麼子網劃分?
任務1:假定給你一個網段192.168.1.0/24(注意,咱們使用了網段這個詞,這也是沒有問題的),要你架設一個局域網,問你能夠在你的局域網放置多少臺主機?OK,很是好辦,方案以下:
192.168.1.0/24這個局域網,除了192.168.1.0/24(網絡地址)和192.168.1.255(廣播地址)這兩個地址不能夠用外,其他均可以用,那麼也就能夠把2^8-2=254個IP地址分配給主機,也就是說,這個局域網中能夠有254臺主機。IP地址範圍以下:
|
任務2:假定給你一個網段192.168.1.0/24,要你架設兩個局域網,問你能夠在你的局域網放置多少臺主機?
提示:網絡位向主機位借位 這下有點meng了吧!怎麼架設呢?哈哈,其實這時候咱們只須要增長一位網絡號便可,即原來是24位,如今變成25位,那麼就至關於如今我把一個大的網段192.168.1.0/24分紅了兩個較小的網段192.168.1.0/25和192.168.1.128/25這兩個較小的網段。每個網段就能夠構建一個局域網,而每個局域網同時擁有本身的網絡地址和廣播地址。 |
所以,對於任務2,咱們把192.168.1.0/24分紅192.168.1.0/24和192.168.1.128/25這兩個網段,IP地址的分配方案以下:
網段 | 網絡地址 | 廣播地址 | IP總數 | 可用IP地址範圍 | 可用IP地址數 |
192.168.1.0/25 | 192.168.1.0 | 192.168.1.127 | 2^7=128 | 192.168.1.1 ~ 192.168.1.126 |
2^7-2=126 |
192.168.1.128/25 | 192.168.1.128 | 192.168.1.255 | 2^7=128 | 192.168.1.129 ~ 192.168.254 |
2^7-2=126 |
上面這些內容很是重要,務必要掌握!其實若是看一些書籍的話,可能還會有更種各樣的公式和各類各樣的所謂技巧,其實說實在的,你只要把這些原理理解了,實在是沒有必要是刻意記住這些公式和技巧,隨着技術的慢慢積累,你會發現你天然而然地就在用這些技巧,可是你歷來沒有去刻意記過。(PS:但願你們能夠慢慢達到這種水平)
其實我本人以爲,是否對計算機網絡中的局域網(或者就說網絡)有一個較爲深入的理解,就看你會不會劃分子網,若是會了,那麼我相信你對局域網的理解會有一個很大的提高,不須要懷疑太多,接觸的知識越多,你會發現若是你不懂子網劃分,你會發現什麼也作不了。
|
(5)CIDR
VLSM是網絡號向主機號借位,而CIDR是主機號向網絡號借位,前者能夠造成各多的子網(局域網),但同時,每一個子網中的主機數據必然會減小;然後者則偏偏相反,即經過減小子網的數目來讓一個局域網擁有更多的主機。
關於CIDR,不做要求,有興趣能夠本身查閱書籍或向我瞭解。
IP地址的內容到這裏就算結束了,固然實際上IP地址的知識還有不少不少,但其實做爲入門,能夠理解這些內容就很是不錯了。(PS:博主本人以前加了不少H3C的網絡工程師羣,經過交流發現,不少正在工做中的所謂工程師,連最基本的子網劃分都不會!當須要劃分子網時,他們居然要使用軟件!!!難以想象吧?)
3.基本路由概念
在同一個局域網進行數據通訊,交換機只會把數據解封裝到第二層,即數據鏈路層,而後查看其中的目的MAC地址,並從相應的接口發送出去。
而在兩個不一樣的局域網中,若是局域網1中的主機A要想把數據發送到局域網2中的主機B,那麼這個數據必需要經過路由器(固然三層或多層交換機也能夠,可是先不要考慮這種狀況),由於咱們說,路由器是用來鏈接不一樣的局域網的(一個接口鏈接一個局域網,不一樣的接口鏈接不一樣的局域網)。那麼路由器怎麼就知道要把數據從哪裏發送出去呢?也許咱們都會想固然地覺得,路由器它這麼聰明,它本身會選擇呀!親,路由器的確是很聰明,可是,若是咱們不告訴它數據應該往哪裏發送,它是不知道下一步要作什麼的。
路由器把一個網絡中的數據交給另外一個網絡,這一個過程,咱們就稱之爲路由,注意這裏的「路由」是動詞,而不是日常所說的那種所謂的家用小型路由器。
關於路由的概念,會在課堂上經過實驗來進行說明。
|
4.下一步要作什麼
經過對IP地址的學習,下一步咱們就須要瞭解數據在不一樣的網絡中究竟是如何轉發的,也就是說路由器究竟是怎麼幫咱們選路的(即路由),這也就是咱們要討論的內容。
後面的課程,咱們將會以各類各樣的實驗來較爲深刻地學習下面的這些技術:
靜態路由技術
動態路由技術
RIP協議、RIPv2協議、OSPF路由協議
敬請關注!