前言
上一章介紹了數(shù)據(jù)鏈路層——以太網(wǎng)數(shù)據(jù)幀的報(bào)文格式(你知道以太網(wǎng)數(shù)據(jù)幀在網(wǎng)絡(luò)中如何發(fā)送和接收的嗎?一文帶你搞懂它)洒琢,本章介紹下網(wǎng)絡(luò)層——IP地址。
大家都知道計(jì)算機(jī)都會(huì)有一個(gè)IP地址褐桌,只有配置了IP地址的主機(jī)才可以上網(wǎng)衰抑,IP地址的獲取可以手動(dòng)靜態(tài)配置,也可以通過DHCP動(dòng)態(tài)獲取IP地址荧嵌。
如下圖所示呛踊,本機(jī)是自動(dòng)獲取IP地址的砾淌,如果使用靜態(tài)的方式配置IP地址,需要配置IP地址谭网、子網(wǎng)掩碼汪厨、默認(rèn)網(wǎng)關(guān)。
如何查看本機(jī)動(dòng)態(tài)獲取的地址呢蜻底?
通過cmd打開命令提示符骄崩,輸入“ipconfig”,如下圖所示可以看到本機(jī)獲取的IP地址為192.168.1.25,?子網(wǎng)掩碼為255.255.255.0,網(wǎng)關(guān)為192.168.1.1薄辅。
上面查詢到的地址是私網(wǎng)地址要拂,那么如何查看自己的公網(wǎng)地址呢?如下圖站楚,本機(jī)使用的公網(wǎng)地址是114.252.113.101脱惰,使用的是北京聯(lián)通的地址。
正文
1
什么是IP地址:
IP地址(Internet Protocol Address)是指互聯(lián)網(wǎng)協(xié)議地址窿春,又叫網(wǎng)際協(xié)議地址拉一。
IP地址是IP協(xié)議(IP協(xié)議是為計(jì)算機(jī)網(wǎng)絡(luò)相互連接進(jìn)行通信而設(shè)計(jì)的協(xié)議)提供的一種統(tǒng)一的地址格式,它為互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)絡(luò)和每一臺(tái)主機(jī)分配一個(gè)邏輯地址旧乞,以此來屏蔽物理MAC地址的差異蔚润。
IP地址就像是我們的家庭住址一樣,如果你要寫信給一個(gè)人尺栖,你就要知道他(她)的地址嫡纠,這樣郵遞員才能把信送到。計(jì)算機(jī)發(fā)送信息就好比是郵遞員延赌,它必須知道唯一的“家庭地址”才能不至于把信送錯(cuò)人家除盏。只不過我們的地址是用文字來表示的,計(jì)算機(jī)的地址用二進(jìn)制數(shù)字表示挫以。
2
IP地址作用
IP地址用來標(biāo)識網(wǎng)絡(luò)中的設(shè)備者蠕,具有IP地址的設(shè)備可以在同一網(wǎng)段內(nèi)或跨網(wǎng)段通信。(后續(xù)會(huì)介紹網(wǎng)絡(luò)中的主機(jī)如何通過IP地址進(jìn)行通信的)
IP地址包括兩部分掐松,第一部分是網(wǎng)絡(luò)號踱侣,表示IP地址所屬的網(wǎng)段,第二部分是主機(jī)號大磺,用來唯一標(biāo)識本網(wǎng)段上的某臺(tái)網(wǎng)絡(luò)設(shè)備泻仙。
3
IP地址表示
IPv4地址為32比特的二進(jìn)制數(shù),通常用點(diǎn)分十進(jìn)制表示
IP地址是一個(gè)32位的二進(jìn)制數(shù)量没,通常被分割為4個(gè)“8位二進(jìn)制數(shù)”(也就是4個(gè)字節(jié))玉转。
IP地址通常用“點(diǎn)分十進(jìn)制”表示成(a.b.c.d)的形式,其中殴蹄,a,b,c,d都是0~255之間的十進(jìn)制整數(shù)究抓。
例:點(diǎn)分十進(jìn)IP地址(100.4.5.6)猾担,實(shí)際上是32位二進(jìn)制數(shù)(01100100.00000100.00000101.00000110)。
二進(jìn)制和十進(jìn)制轉(zhuǎn)換:
例如:100=64+32+4=2^6+2^5+2^2?,那么100的二進(jìn)制就是?0110 0100 刺下。
4
IP地址分類
IPv4地址被劃分為A绑嘹、B、C橘茉、D工腋、E五類,每類地址的網(wǎng)絡(luò)號包含不同的字節(jié)數(shù)畅卓。
A類擅腰,B類,和C類地址為可分配IP地址翁潘,每類地址支持的網(wǎng)絡(luò)數(shù)和主機(jī)數(shù)不同趁冈。
比如,A類地址可支持126個(gè)網(wǎng)絡(luò)拜马,每個(gè)網(wǎng)絡(luò)支持2^24 (16,777,216 )個(gè)主機(jī)地址渗勘,另外每個(gè)網(wǎng)段中的網(wǎng)絡(luò)地址和廣播地址不能分配給主機(jī)。
C類地址支持200多萬個(gè)網(wǎng)絡(luò)俩莽,每個(gè)網(wǎng)絡(luò)支持256個(gè)主機(jī)地址旺坠,其中254個(gè)地址可以分配給主機(jī)使用。
D類地址為組播地址扮超。主機(jī)收到以D類地址為目的地址的報(bào)文后取刃,且該主機(jī)是該組播組成員,就會(huì)接收并處理該報(bào)文瞒津。
各類IP地址可以通過第一個(gè)字節(jié)中的比特位進(jìn)行區(qū)分蝉衣。
如A類地址第一字節(jié)的最高位固定為0括尸,B類地址第一字節(jié)的高兩位固定為10巷蚪,C類地址第一字節(jié)的高三位固定為110,D類地址第一字節(jié)的高四位固定為1110濒翻,E類地址第一字節(jié)的高四位固定為1111屁柏。
5
私有地址、特殊地址:
IPv4中的部分IP地址被保留用作特殊用途有送。
為節(jié)省IPv4地址淌喻,A, B雀摘, C類地址段中都預(yù)留了特定范圍的地址作為私網(wǎng)地址裸删。
現(xiàn)在,世界上所有終端系統(tǒng)和網(wǎng)絡(luò)設(shè)備需要的IP地址總數(shù)已經(jīng)超過了32位IPv4地址所能支持的最大地址數(shù)4阵赠,294涯塔,967肌稻,296。為主機(jī)分配私網(wǎng)地址節(jié)省了公網(wǎng)地址匕荸,可以用來緩解IP地址短缺的問題爹谭。企業(yè)網(wǎng)絡(luò)中普遍使用私網(wǎng)地址,不同企業(yè)網(wǎng)絡(luò)中的私網(wǎng)地址可以重疊榛搔。默認(rèn)情況下诺凡,網(wǎng)絡(luò)中的主機(jī)無法使用私網(wǎng)地址與公網(wǎng)通信;當(dāng)需要與公網(wǎng)通信時(shí)践惑,私網(wǎng)地址必須轉(zhuǎn)換成公網(wǎng)地址腹泌。
私有地址范圍:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
還有其他一些特殊IP地址,如127.0.0.0網(wǎng)段中的地址為環(huán)回地址童本,用于診斷網(wǎng)絡(luò)是否正常真屯。IPv4中的第一個(gè)地址0.0.0.0表示任何網(wǎng)絡(luò),這個(gè)地址的作用將在路由原理中詳細(xì)介紹穷娱。IPv4中的最后一個(gè)地址255.255.255.255是0.0.0.0網(wǎng)絡(luò)中的廣播地址绑蔫。
特殊地址
127.0.0.0 ~ 127.255.255.255
0.0.0.0
255.255.255.255
6
子網(wǎng)掩碼:
上面介紹到IP地址由網(wǎng)絡(luò)部分和主機(jī)部分組成,那么如何區(qū)分呢泵额?子網(wǎng)掩碼用于區(qū)分網(wǎng)絡(luò)部分和主機(jī)部分配深。
子網(wǎng)掩碼與IP地址的表示方法相同。
每個(gè)IP地址和子網(wǎng)掩碼一起可以用來唯一的標(biāo)識一個(gè)網(wǎng)段中的某臺(tái)網(wǎng)絡(luò)設(shè)備嫁盲。子網(wǎng)掩碼中的1表示網(wǎng)絡(luò)位篓叶,0表示主機(jī)位。
例如:子網(wǎng)掩碼 255.128.0.0表示網(wǎng)絡(luò)位為9位羞秤,主機(jī)位為23位缸托。
默認(rèn)子網(wǎng)掩碼:
每類IP地址有一個(gè)缺省子網(wǎng)掩碼。
A類地址的缺省子網(wǎng)掩碼為8位瘾蛋,即第一個(gè)字節(jié)表示網(wǎng)絡(luò)位俐镐,其他三個(gè)字節(jié)表示主機(jī)位。
B類地址的缺省子網(wǎng)掩碼為16位哺哼,因此B類地址支持更多的網(wǎng)絡(luò)佩抹,但是主機(jī)數(shù)也相應(yīng)減少。
C類地址的缺省子網(wǎng)掩碼為24位取董,支持的網(wǎng)絡(luò)最多棍苹,同時(shí)也限制了單個(gè)網(wǎng)絡(luò)中主機(jī)的數(shù)量。
可變長子網(wǎng)掩碼
有類IP地址缺陷:
如果企業(yè)網(wǎng)絡(luò)中希望通過規(guī)劃多個(gè)網(wǎng)段來隔離物理網(wǎng)絡(luò)上的主機(jī)茵汰,使用缺省子網(wǎng)掩碼就會(huì)存在一定的局限性枢里。網(wǎng)絡(luò)中劃分多個(gè)網(wǎng)段后,每個(gè)網(wǎng)段中的實(shí)際主機(jī)數(shù)量可能很有限,導(dǎo)致很多地址未被使用栏豺。
如圖所示的場景下梭灿,C類地址的缺省子網(wǎng)掩碼為24位,可以支持254臺(tái)這主機(jī)冰悠,而圖中只有30臺(tái)主機(jī)堡妒,如果使用缺省子網(wǎng)掩碼的編址方案,則地址使用率很低溉卓。
為了提高IP地址的使用率皮迟,采用可變長子網(wǎng)掩碼可解決上述問題。
缺省子網(wǎng)掩碼可以進(jìn)一步劃分桑寨,成為變長子網(wǎng)掩碼(VLSM)伏尼。通過改變子網(wǎng)掩碼,可以將網(wǎng)絡(luò)劃分為多個(gè)子網(wǎng)尉尾。
本例中的地址為C類地址爆阶,缺省子網(wǎng)掩碼為24位。現(xiàn)借用一個(gè)主機(jī)位作為網(wǎng)絡(luò)位沙咏,借用的主機(jī)位變成子網(wǎng)位辨图。一個(gè)子網(wǎng)位有兩個(gè)取值0和1,因此可劃分兩個(gè)子網(wǎng)肢藐。該比特位設(shè)置為0故河,則子網(wǎng)號為0,該比特位設(shè)置為1吆豹,則子網(wǎng)號為128鱼的。將剩余的主機(jī)位都設(shè)置為0,即可得到劃分后的子網(wǎng)地址痘煤;將剩余的主機(jī)位都設(shè)置為1凑阶,即可得到子網(wǎng)的廣播地址。每個(gè)子網(wǎng)中支持的主機(jī)數(shù)為2^7-2(減去子網(wǎng)地址和廣播地址)衷快,即126個(gè)主機(jī)地址宙橱。
可變長子網(wǎng)掩碼緩解了使用缺省子網(wǎng)掩碼導(dǎo)致的地址浪費(fèi)問題,同時(shí)也為企業(yè)網(wǎng)絡(luò)提供了更為有效的編址方案烦磁。本例中需要使用可變長子網(wǎng)掩碼來劃分多個(gè)子網(wǎng)养匈,借用一定數(shù)量的主機(jī)位作為子網(wǎng)位的同時(shí)哼勇,剩余的主機(jī)位必須保證有足夠的IP地址供每個(gè)子網(wǎng)上的所有主機(jī)使用都伪。
7
IP地址規(guī)劃:
IP地址在網(wǎng)絡(luò)中是分配給主機(jī)和設(shè)備使用的,那么如何分配IP地址呢积担?
通過子網(wǎng)掩碼可以判斷主機(jī)所屬的網(wǎng)段陨晶、網(wǎng)段上的廣播地址、以及網(wǎng)段上支持的主機(jī)數(shù)。
例如:主機(jī)地址為192.168.1.7先誉,子網(wǎng)掩碼為24位(C類IP地址的缺省掩碼)湿刽,從中我們可以判斷該主機(jī)位于192.168.1.0/24網(wǎng)段。將IP地址中的主機(jī)位全部置為1褐耳,并轉(zhuǎn)換為十進(jìn)制數(shù)诈闺,即可得到該網(wǎng)段的廣播地址192.168.1.255。網(wǎng)段中支持的主機(jī)數(shù)為2^n,n為主機(jī)位的個(gè)數(shù)铃芦。本例中n=8雅镊,2^8=256,減去本網(wǎng)段的網(wǎng)絡(luò)地址和廣播地址刃滓,可知該網(wǎng)段支持254個(gè)有效主機(jī)地址仁烹。
注意:
每個(gè)網(wǎng)段上都有兩個(gè)特殊地址不能分配給主機(jī)或網(wǎng)絡(luò)設(shè)備。
第一個(gè)是該網(wǎng)段的網(wǎng)絡(luò)地址咧虎,該IP地址的主機(jī)位為全0卓缰,表示一個(gè)網(wǎng)段。
第二個(gè)地址是該網(wǎng)段中的廣播地址砰诵,目的地址為廣播地址的報(bào)文會(huì)被該網(wǎng)段中的所有網(wǎng)絡(luò)設(shè)備接收征唬。廣播地址的主機(jī)位為全1。
除網(wǎng)絡(luò)地址和廣播地址以外的其他IP地址可以作為網(wǎng)絡(luò)設(shè)備的IP地址.
8
無類域間路由CIDR:
無類域間路由CIDR(Classless Inter Domain Routing)由RFC1817定義茁彭。
CIDR突破了傳統(tǒng)IP地址的分類邊界鳍鸵,將路由表中的若干條路由匯聚為一條路由,減少了路由表的規(guī)模尉间,提高了路由器的可擴(kuò)展性偿乖。
如上圖所示,一個(gè)企業(yè)分配到了一段A類網(wǎng)絡(luò)地址哲嘲,10.24.0.0/22贪薪。該企業(yè)準(zhǔn)備把這些A類網(wǎng)絡(luò)分配給各個(gè)用戶群,目前已經(jīng)分配了四個(gè)網(wǎng)段給用戶眠副。如果沒有實(shí)施CIDR技術(shù)画切,企業(yè)路由器的路由表中會(huì)有四條下連網(wǎng)段的路由條目,并且會(huì)把它通告給其他路由器囱怕。
通過實(shí)施CIDR技術(shù)霍弹,我們可以在企業(yè)的路由器上把這四條路由10.24.0.0/24,10.24.1.0/24娃弓,10.24.2.0/24典格,10.24.3.0/24匯聚成一條路由10.24.0.0/22。這樣台丛,企業(yè)路由器只需通告10.24.0.0/22這一條路由耍缴,大大減少了路由表的規(guī)模。
9
網(wǎng)關(guān)
大家都知道,從一個(gè)房間走到另一個(gè)房間防嗡,必然要經(jīng)過一扇門变汪。同樣,從一個(gè)網(wǎng)絡(luò)向另一個(gè)網(wǎng)絡(luò)發(fā)送信息蚁趁,也必須經(jīng)過一道“關(guān)口”裙盾,這道關(guān)口就是網(wǎng)關(guān)。
那么網(wǎng)關(guān)到底是什么呢他嫡?網(wǎng)關(guān)實(shí)質(zhì)上是一個(gè)網(wǎng)絡(luò)通向其他網(wǎng)絡(luò)的IP地址闷煤。比如有網(wǎng)絡(luò)A和網(wǎng)絡(luò)B,網(wǎng)絡(luò)A的IP地址范圍為“192.168.1.1~192. 168.1.254”涮瞻,子網(wǎng)掩碼為255.255.255.0鲤拿;網(wǎng)絡(luò)B的IP地址范圍為“192.168.2.1~192.168.2.254”,子網(wǎng)掩碼為255.255.255.0署咽。
在沒有路由器的情況下近顷,兩個(gè)網(wǎng)絡(luò)之間是不能進(jìn)行TCP/IP通信的,即使是兩個(gè)網(wǎng)絡(luò)連接在同一臺(tái)交換機(jī)(或集線器)上宁否,TCP/IP協(xié)議也會(huì)根據(jù)子網(wǎng)掩碼(255.255.255.0)與主機(jī)的IP 地址作 “與” 運(yùn)算的結(jié)果不同判定兩個(gè)網(wǎng)絡(luò)中的主機(jī)處在不同的網(wǎng)絡(luò)里窒升。而要實(shí)現(xiàn)這兩個(gè)網(wǎng)絡(luò)之間的通信,則必須通過網(wǎng)關(guān)慕匠。如果網(wǎng)絡(luò)A中的主機(jī)發(fā)現(xiàn)數(shù)據(jù)包的目的主機(jī)不在本地網(wǎng)絡(luò)中饱须,就把數(shù)據(jù)包轉(zhuǎn)發(fā)給它自己的網(wǎng)關(guān),再由網(wǎng)關(guān)轉(zhuǎn)發(fā)給網(wǎng)絡(luò)B的網(wǎng)關(guān)台谊,網(wǎng)絡(luò)B的網(wǎng)關(guān)再轉(zhuǎn)發(fā)給網(wǎng)絡(luò)B的某個(gè)主機(jī)(如附圖所示)蓉媳。網(wǎng)絡(luò)A向網(wǎng)絡(luò)B轉(zhuǎn)發(fā)數(shù)據(jù)包的過程。
報(bào)文轉(zhuǎn)發(fā)過程中锅铅,首先需要確定轉(zhuǎn)發(fā)路徑以及通往目的網(wǎng)段的接口酪呻,然后將報(bào)文封裝在以太幀中通過指定的物理接口轉(zhuǎn)發(fā)出去。如果目的主機(jī)與源主機(jī)不在同一網(wǎng)段盐须,報(bào)文需要先轉(zhuǎn)發(fā)到網(wǎng)關(guān)玩荠,然后通過網(wǎng)關(guān)將報(bào)文轉(zhuǎn)發(fā)到目的網(wǎng)段。
總結(jié)
本章主要介紹了IP地址贼邓,大家有疑問可以后臺(tái)留言交流呀阶冈。