本書(shū)是面向本、專科及高職“計(jì)算機(jī)網(wǎng)絡(luò)”課程的教科書(shū)。全書(shū)共分為9章。第1章是緒論,介紹了數(shù)據(jù)通信的一些基礎(chǔ)知識(shí)、Internet的歷史、網(wǎng)絡(luò)參考模型等內(nèi)容。第2章到第4章介紹了各類常見(jiàn)的物理網(wǎng)絡(luò),以及通過(guò)它們上網(wǎng)的方式。第5章介紹了IP協(xié)議。第6章介紹了一些新型的交換技術(shù)。第7章介紹了廣域網(wǎng)和城域網(wǎng)。第8章介紹了TCP協(xié)議。第9章綜合介紹了一個(gè)組網(wǎng)實(shí)例。
本書(shū)深入淺出、簡(jiǎn)明易懂、內(nèi)容豐富全面、實(shí)用性強(qiáng),可作為高等學(xué)校計(jì)算機(jī)、電子、通信等專業(yè)的教材,也可供想系統(tǒng)學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)的人員參考。
《計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)》是作者多年教學(xué)教學(xué)成果以及科研、組網(wǎng)實(shí)踐的結(jié)晶,書(shū)中介紹的很多組網(wǎng)技術(shù)與方法對(duì)全面認(rèn)識(shí)理解當(dāng)代計(jì)算機(jī)網(wǎng)絡(luò)組建技術(shù)原理方法以及實(shí)際組網(wǎng)有很大的幫助。希望《計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)》可以成為大專院校計(jì)算機(jī)專業(yè)師生以及計(jì)算機(jī)組網(wǎng)愛(ài)好者案頭工具書(shū)。
本書(shū)是編者多年從事計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)和工程實(shí)踐的心血結(jié)晶。相比傳統(tǒng)教科書(shū),本書(shū)有以下特點(diǎn):
① 建立了新的網(wǎng)絡(luò)參考模型。網(wǎng)絡(luò)參考模型對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)理論教學(xué)有著基礎(chǔ)性的指導(dǎo)作用,如果網(wǎng)絡(luò)參考模型是錯(cuò)的,那么整個(gè)計(jì)算機(jī)網(wǎng)絡(luò)的理論基礎(chǔ)就“崩塌”了。有些人采用的參考模型基于ISO的OSI參考模型,只是簡(jiǎn)化掉了表示層和會(huì)話層,變?yōu)槲鍖。OSI參考模型和簡(jiǎn)化版的五層參考模型的問(wèn)題是將虛擬網(wǎng)絡(luò)和物理網(wǎng)絡(luò)混為一談,從概念上來(lái)說(shuō)有問(wèn)題。有問(wèn)題的參考模型會(huì)給學(xué)生造成極大的混亂。本書(shū)建立了一個(gè)新的六層參考模型,嚴(yán)格地將虛擬網(wǎng)絡(luò)和物理網(wǎng)絡(luò)區(qū)分開(kāi)了。這個(gè)模型能讓學(xué)生理清思路,把握計(jì)算機(jī)網(wǎng)絡(luò)的本質(zhì)。
② 基于六層參考模型的理念,按照先物理網(wǎng)絡(luò)再虛擬網(wǎng)絡(luò)的順序編排章節(jié)內(nèi)容。這種編排方式更容易讓學(xué)生了解物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)之間的關(guān)系,而且更加突出了TCP/IP協(xié)議的地位。作為計(jì)算機(jī)網(wǎng)絡(luò)的一部分,討論物理網(wǎng)絡(luò)是非常有必要的。但過(guò)多地討論物理網(wǎng)絡(luò)是不實(shí)際的,因?yàn)槲锢砭W(wǎng)絡(luò)方面的內(nèi)容涉及多門基礎(chǔ)課程。有限的篇幅,更多地應(yīng)該用在討論TCP/IP協(xié)議。將物理網(wǎng)絡(luò)作為一個(gè)整體而不是分為幾層來(lái)討論,除了可以壓縮篇幅,也更容易讓學(xué)生從整體上把握物理網(wǎng)絡(luò)。
③ 理論為先,理論要講全講透。編者堅(jiān)持“寫給別人的東西,自己首先要搞懂”的原則,在講述協(xié)議之前,務(wù)必將相關(guān)的基礎(chǔ)理論知識(shí)講全講透,使讀者明白。理論上的東西搞清楚了,再了解細(xì)節(jié)就不是什么難事了。
④ 理論講解力求簡(jiǎn)明易懂,生動(dòng)活潑。計(jì)算機(jī)網(wǎng)絡(luò)課程本身很少涉及非常抽象的理論,完全可以通過(guò)和現(xiàn)實(shí)世界的類比,生動(dòng)形象地講解開(kāi)來(lái)。
⑤ 細(xì)節(jié)方面的討論點(diǎn)到為止。理論講解之后就是實(shí)現(xiàn)細(xì)節(jié)的討論,過(guò)多地討論細(xì)節(jié)是徒勞無(wú)益的。畢業(yè)后從事實(shí)際工作時(shí),相關(guān)的協(xié)議就擺在手邊,沒(méi)必要讓學(xué)生死記硬背過(guò)多的細(xì)節(jié)。
⑥ 大量引入工程理論,這是本書(shū)一大亮點(diǎn)。雖說(shuō)理論指導(dǎo)實(shí)踐,但純理論的東西未必能直接指導(dǎo)實(shí)踐。比如知道了路由器的工作原理并不代表就會(huì)配置路由器。在純理論和實(shí)踐之間是工程理論,能直接指導(dǎo)實(shí)踐的是工程理論。路由器配置課程是計(jì)算機(jī)網(wǎng)絡(luò)課程的后續(xù)專業(yè)課程,編者在教學(xué)實(shí)踐當(dāng)中發(fā)現(xiàn)學(xué)生在計(jì)算機(jī)網(wǎng)絡(luò)課程學(xué)到的理論知識(shí)對(duì)配置路由器沒(méi)有多大指導(dǎo)作用,這是因?yàn)閭鹘y(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)課程不會(huì)講解這方面的工程理論知識(shí)。針對(duì)這個(gè)問(wèn)題,本書(shū)增加了大量工程方面的理論知識(shí),以加強(qiáng)理論的指導(dǎo)作用。Internet基本上不涉及很抽象的理論。純理論講解并不需要多大篇幅,與其為了理論而理論,不如節(jié)省篇幅用于講解工程理論。
⑦ 理論緊密結(jié)合實(shí)際,以工程為導(dǎo)向,采用“純理論+工程理論+工程實(shí)例”的模式,這是本書(shū)的特色。理論結(jié)合實(shí)際不但可以幫助學(xué)生學(xué)以致用,反過(guò)來(lái)也加深了學(xué)生對(duì)理論的理解,能起到事半功倍的效果。
⑧ 與時(shí)俱進(jìn),推陳出新。大部分早被淘汰的技術(shù)本書(shū)不再論述,比如有線城域網(wǎng)傳輸技術(shù),只保留了萬(wàn)兆以太網(wǎng)。但本書(shū)沒(méi)有一刀切,比如ATM雖已被淘汰,但它的一些思想并未被淘汰,所以仍然有所論述。特別是對(duì)于網(wǎng)絡(luò)安全,本書(shū)也有所論述。當(dāng)然考慮篇幅的問(wèn)題,僅起拋磚引玉的作用,目的是引導(dǎo)學(xué)生關(guān)注網(wǎng)絡(luò)安全問(wèn)題。
編者還精心設(shè)計(jì)了一系列實(shí)驗(yàn)教案,作為本書(shū)配套電子資源掛在化學(xué)工業(yè)出版社官網(wǎng)上供師生下載。
本書(shū)內(nèi)容較多,教師可以依據(jù)課時(shí)限制裁剪講課內(nèi)容。比如對(duì)通信類專業(yè)的學(xué)生,大都預(yù)先學(xué)習(xí)了數(shù)據(jù)通信方面的一些基礎(chǔ)知識(shí),就不必重復(fù)講解這些知識(shí)了。有些小節(jié)的內(nèi)容比較難懂,特意用星號(hào)標(biāo)明。如果學(xué)生接受困難,只做原理性的論述即可。
本書(shū)參考了大量文獻(xiàn)以及眾多RFC、IEEE、ITU等標(biāo)準(zhǔn)或協(xié)議,在此對(duì)相關(guān)作者表示誠(chéng)摯的謝意。
由于編者時(shí)間和水平有限,書(shū)中難免會(huì)有疏漏,歡迎讀者指正。有問(wèn)題或建議請(qǐng)發(fā)郵件到j(luò)sjnetwork@qq.com。
劉文林
2016年8月31日
南昌航空大學(xué)網(wǎng)絡(luò)中心
第1章概述1
1.1Internet的歷史1
1.2網(wǎng)絡(luò)通信的基礎(chǔ)知識(shí)2
1.2.1信息、數(shù)據(jù)和信號(hào)2
1.2.2點(diǎn)到點(diǎn)通信3
1.2.3全互聯(lián)網(wǎng)絡(luò)3
1.2.4總線式網(wǎng)絡(luò)4
1.2.5交換式網(wǎng)絡(luò)4
1.2.6端到端通信6
1.2.7一些術(shù)語(yǔ)8
1.2.8計(jì)量縮寫8
1.2.9關(guān)于IT術(shù)語(yǔ)8
1.3數(shù)據(jù)交換技術(shù)9
1.3.1電路交換9
1.3.2分組交換技術(shù)10
1.3.3兩種交換技術(shù)的對(duì)比12
1.4TCP/IP協(xié)議13
1.5網(wǎng)絡(luò)參考模型15
1.5.1什么是網(wǎng)絡(luò)參考模型15
1.5.2層之間的關(guān)系15
1.5.3Internet網(wǎng)絡(luò)參考模型17
1.5.4層通用技術(shù)19
1.5.5TCP/IP參考模型20
1.5.6OSI參考模型20
1.6關(guān)于Internet21
1.6.1Internet的作用21
1.6.2Internet和電信公司的關(guān)系23
1.6.3中國(guó)Internet的歷史和電信改革23
1.6.4網(wǎng)絡(luò)設(shè)備制造商24
1.6.5一些和Internet有關(guān)的國(guó)際標(biāo)準(zhǔn)化組織24
習(xí)題24
第2章局域網(wǎng)(上)26
2.1傳統(tǒng)以太網(wǎng)26
2.1.1工作原理26
2.1.2媒體訪問(wèn)控制27
2.1.3調(diào)制和解調(diào)28
2.1.4傳統(tǒng)以太網(wǎng)的媒體訪問(wèn)控制29
2.1.5CSMA的模式30
2.1.6CSMA/CD詳細(xì)算法31
2.2以太網(wǎng)幀格式31
2.2.1前導(dǎo)碼32
2.2.2同步碼32
2.2.3曼徹斯特編碼33
2.2.4成幀33
2.2.5幀首定界符36
2.2.6源和目的地址36
2.2.7MAC地址36
2.2.8字節(jié)和位順序37
2.2.9類型/長(zhǎng)度和數(shù)據(jù)區(qū)37
2.2.10填充域38
2.2.11校驗(yàn)和39
2.2.12檢錯(cuò)碼和糾錯(cuò)碼39
2.3網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)40
2.4組建10BaseT小型局域網(wǎng)42
2.4.1步驟42
2.4.2網(wǎng)線制作42
2.4.3網(wǎng)線制作的步驟44
2.4.4HUB級(jí)聯(lián)45
2.4.510BaseT以太網(wǎng)參數(shù)限制47
2.5令牌環(huán)網(wǎng)47
習(xí)題49
第3章局域網(wǎng)(下)50
3.1交換型以太網(wǎng)50
3.1.1交換機(jī)50
3.1.2中繼器和網(wǎng)橋50
3.1.3MAC地址表51
3.1.4MAC地址表的構(gòu)造52
3.1.5交換型以太網(wǎng)的特點(diǎn)53
3.2流量控制和差錯(cuò)控制56
3.2.1什么是流量控制56
3.2.2IEEE802.3x流量控制56
3.2.3什么是差錯(cuò)控制56
3.2.4停-等協(xié)議57
3.2.5滑動(dòng)窗口協(xié)議58
3.3擴(kuò)展樹(shù)協(xié)議60
3.3.1引入擴(kuò)展樹(shù)協(xié)議的原因60
3.3.2端口狀態(tài)61
3.3.3BPDU61
3.3.4擴(kuò)展樹(shù)62
3.3.5BPDU格式65
3.3.6STP計(jì)算實(shí)例*65
3.3.7對(duì)拓?fù)渥兓捻憫?yīng)68
3.3.8STP的應(yīng)用70
3.3.9快速擴(kuò)展樹(shù)協(xié)議70
3.4高速以太網(wǎng)72
3.4.1各類高速以太網(wǎng)72
3.4.2以太網(wǎng)的兼容性72
3.4.3幀擴(kuò)展技術(shù)73
3.4.4幀突發(fā)技術(shù)74
3.5光纖以太網(wǎng)74
3.5.1光纖和光纜74
3.5.2光纖傳輸系統(tǒng)75
3.5.3光纖傳輸?shù)膬?yōu)缺點(diǎn)76
3.5.4光路連接76
3.5.5光纖以太網(wǎng)標(biāo)準(zhǔn)77
3.6以太網(wǎng)參考模型78
3.7無(wú)線局域網(wǎng)79
3.7.1無(wú)線傳輸技術(shù)79
3.7.2IEEE 802.11系列81
3.7.3隱藏站點(diǎn)問(wèn)題82
3.7.4DCF模式下的媒體訪問(wèn)控制技術(shù)83
3.7.5PCF模式下的媒體訪問(wèn)控制技術(shù)84
3.7.6分段傳輸84
3.7.7IEEE 802.11幀結(jié)構(gòu)84
3.7.8PCF與DCF的共存84
3.7.9IEEE 802.11服務(wù)85
3.7.10節(jié)能管理86
3.7.11暴露站點(diǎn)問(wèn)題86
3.7.12藍(lán)牙無(wú)線網(wǎng)絡(luò)技術(shù)86
3.8樓宇布線86
習(xí)題89
第4章家庭和個(gè)人上網(wǎng)91
4.1家庭上網(wǎng)91
4.1.1電話撥號(hào)上網(wǎng)91
4.1.2ADSL101
4.1.3其他家庭上網(wǎng)模式107
4.2個(gè)人上網(wǎng)110
4.2.1移動(dòng)電話上網(wǎng)111
4.2.2衛(wèi)星用于個(gè)人通信115
習(xí)題115
第5章IP協(xié)議117
5.1實(shí)現(xiàn)互聯(lián)互通的關(guān)鍵因素117
5.1.1統(tǒng)一數(shù)據(jù)包的格式117
5.1.2統(tǒng)一地址118
5.1.3IP交換118
5.1.4IP網(wǎng)絡(luò)119
5.1.5IP地址120
5.1.6分類編址方案121
5.1.7一些特殊的IP地址122
5.1.8無(wú)類域間路由123
5.1.9IP分組的格式126
5.1.10路由表128
5.2動(dòng)態(tài)路由算法130
5.2.1路由表的構(gòu)造130
5.2.2原理131
5.2.3收集網(wǎng)絡(luò)拓?fù)湫畔?31
5.2.4路徑選擇132
5.2.5收斂速度135
5.2.6優(yōu)化鏈路狀態(tài)信息交換136
5.2.7OSPF動(dòng)態(tài)路由協(xié)議137
5.2.8路由信息協(xié)議148
5.2.9外部網(wǎng)關(guān)協(xié)議150
5.2.10EGP和IGP之間的交互151
5.2.11末梢區(qū)域152
5.3廣播和組播路由*153
5.3.1廣播路由153
5.3.2組播路由155
5.4地址解析協(xié)議158
5.4.1原理158
5.4.2ARP欺騙161
5.5配置與測(cè)試162
5.5.1路由器的基本作用162
5.5.2傳統(tǒng)路由器163
5.5.3路由器的配置163
5.5.4主機(jī)的配置169
5.5.5Internet控制報(bào)文協(xié)議172
5.5.6常用的網(wǎng)絡(luò)測(cè)試命令173
5.6服務(wù)質(zhì)量175
5.6.1什么是服務(wù)質(zhì)量175
5.6.2IP網(wǎng)絡(luò)的QoS特性177
5.6.3路由器的QoS保障機(jī)制177
5.6.4區(qū)分服務(wù)179
5.6.5綜合服務(wù)187
5.6.6以快求QoS187
5.7IPsec188
5.7.1概述188
5.7.2AH188
5.7.3ESP189
5.7.4安全關(guān)聯(lián)189
5.7.5IPsec的爭(zhēng)議189
5.8下一代IP協(xié)議——IPv6190
5.8.1IPv6分組頭的格式190
5.8.2IPv6和IPv4分組格式的區(qū)別191
5.8.3IPv6地址191
5.8.4一些特殊的IPv6地址193
5.8.5無(wú)狀態(tài)地址自動(dòng)配置193
5.8.6擴(kuò)展頭194
5.8.7ICMP v6197
5.8.8移動(dòng)IPv6198
5.8.9IPv4向IPv6的過(guò)渡201
習(xí)題203
第6章新型交換技術(shù)205
6.1三層交換技術(shù)205
6.1.1基于cache的三層交換205
6.1.2基于ASIC的三層交換技術(shù)207
6.1.3三層交換機(jī)和傳統(tǒng)路由器的對(duì)比209
6.2多協(xié)議標(biāo)簽交換209
6.2.1概述209
6.2.2標(biāo)簽的格式210
6.2.3無(wú)連接網(wǎng)絡(luò)上的標(biāo)簽分配協(xié)議210
6.2.4無(wú)連接網(wǎng)絡(luò)上的標(biāo)簽交換212
6.2.5面向連接的網(wǎng)絡(luò)上的標(biāo)簽交換213
6.2.6多協(xié)議標(biāo)簽交換的特點(diǎn)214
6.3ATM214
6.3.1什么是ATM214
6.3.2ATM的特點(diǎn)215
6.3.3ATM參考模型219
6.3.4ATM和 IP的競(jìng)爭(zhēng)219
6.4虛擬局域網(wǎng)220
6.4.1原理220
6.4.2VLAN的分布信息222
6.4.3VLAN通信224
6.4.4VLAN的局限性226
習(xí)題226
第7章廣域網(wǎng)和城域網(wǎng)228
7.1廣域網(wǎng)228
7.1.1廣域網(wǎng)設(shè)計(jì)要求228
7.1.2同步數(shù)字系列229
7.1.3波分復(fù)用232
7.1.4全光網(wǎng)232
7.1.5光纜鋪設(shè)233
7.1.6衛(wèi)星通信234
7.1.7微波通信235
7.2城域網(wǎng)236
7.2.1城域網(wǎng)設(shè)計(jì)要求236
7.2.2萬(wàn)兆以太網(wǎng)236
7.2.3無(wú)線城域網(wǎng)238
習(xí)題239
第8章TCP協(xié)議240
8.1可靠的數(shù)據(jù)傳輸服務(wù)240
8.2IP地址多路復(fù)用241
8.3TCP層可靠數(shù)據(jù)傳輸服務(wù)243
8.3.1TCP分段的格式243
8.3.2三次握手協(xié)議246
8.3.3關(guān)閉連接247
8.3.4狀態(tài)遷移248
8.3.5Socket編程250
8.3.6緩存策略255
8.4擁塞控制256
8.4.1擁塞控制的原則256
8.4.2參與方的角色256
8.4.3TCP服務(wù)的擁塞控制258
8.4.4往返時(shí)間的估算259
8.4.5顯示式擁塞通知260
8.4.6棄包261
8.5UDP服務(wù)261
8.5.1UDP分組的格式261
8.5.2使用UDP服務(wù)的socket編程262
8.5.3UDP的應(yīng)用場(chǎng)合265
8.6關(guān)于TCP層的總結(jié)265
8.7共享上網(wǎng)266
8.7.1代理267
8.7.2NAT268
8.7.3ADSL路由器271
習(xí)題272
第9章組網(wǎng)實(shí)例273
9.1綜合布線273
9.1.1網(wǎng)絡(luò)結(jié)構(gòu)273
9.1.2網(wǎng)絡(luò)布線標(biāo)準(zhǔn)的選擇274
9.2交換設(shè)備274
9.2.1接入層交換機(jī)274
9.2.2核心層交換機(jī)275
9.2.3匯聚層交換機(jī)276
9.2.4線速交換276
9.3網(wǎng)絡(luò)管理276
9.3.1網(wǎng)管軟件277
9.3.2身份認(rèn)證278
9.3.3地址分配281
9.3.4收費(fèi)系統(tǒng)281
9.3.5帶寬管理281
9.4安全設(shè)備282
9.4.1防火墻282
9.4.2入侵檢測(cè)設(shè)備289
9.5網(wǎng)絡(luò)服務(wù)器291
9.5.1DNS服務(wù)器292
9.5.2郵件服務(wù)器293
9.5.3冗余磁盤陣列294
9.5.4網(wǎng)絡(luò)中心機(jī)房295
9.6多宿主網(wǎng)絡(luò)296
9.7虛擬私有網(wǎng)絡(luò)298
9.7.1概述298
9.7.2遠(yuǎn)程訪問(wèn)VPN299
9.7.3VPN專線300
9.7.4搭建Access VPN服務(wù)器301
9.8網(wǎng)絡(luò)冗余*303
9.9校園網(wǎng)組網(wǎng)308
9.9.1網(wǎng)絡(luò)系統(tǒng)集成商308
9.9.2組網(wǎng)步驟308
9.9.3校園網(wǎng)系統(tǒng)集成實(shí)例308
習(xí)題309
參考文獻(xiàn)311
第5章 IP協(xié)議
前面的幾個(gè)章節(jié)介紹了各種物理網(wǎng)絡(luò),以及通過(guò)這些物理網(wǎng)絡(luò)上網(wǎng)的方式,目的是讓大家熟悉各類物理網(wǎng)絡(luò),現(xiàn)在到了介紹IP協(xié)議(RFC 791)的時(shí)候了。IP協(xié)議是實(shí)現(xiàn)不同物理網(wǎng)絡(luò)互聯(lián)互通的關(guān)鍵。所謂互聯(lián)互通就是允許跨越不同的物理網(wǎng)絡(luò)傳輸數(shù)據(jù)。任何物理網(wǎng)絡(luò)基本的功能都是傳輸數(shù)據(jù),但是各種物理網(wǎng)絡(luò)傳輸數(shù)據(jù)的方式相差很大,某種物理網(wǎng)絡(luò)的傳輸?shù)臄?shù)據(jù)無(wú)法直接進(jìn)入另一種物理網(wǎng)絡(luò)內(nèi)傳輸。在Internet上,通信方之間可能跨越多種不同的物理網(wǎng)絡(luò),不解決互聯(lián)互通的問(wèn)題,Internet也就無(wú)從談起。
5.1 實(shí)現(xiàn)互聯(lián)互通的關(guān)鍵因素
5.1.1 統(tǒng)一數(shù)據(jù)包的格式
物理網(wǎng)絡(luò)把數(shù)據(jù)封裝在幀內(nèi),通過(guò)幀來(lái)傳輸數(shù)據(jù)。由于各種物理網(wǎng)絡(luò)幀的格式不一樣,所以一種物理網(wǎng)絡(luò)的幀無(wú)法在另一種物理網(wǎng)絡(luò)內(nèi)傳輸。那么,是否可以統(tǒng)一幀的格式呢?理論上可以,但是這么做意味著要統(tǒng)一物理網(wǎng)絡(luò),并不是一個(gè)好主意。IP協(xié)議不是在物理網(wǎng)絡(luò)的層面上統(tǒng)一數(shù)據(jù)包的格式,而是在虛擬網(wǎng)絡(luò)的層面上統(tǒng)一數(shù)據(jù)包的格式。
IP協(xié)議對(duì)物理網(wǎng)絡(luò)的要求很簡(jiǎn)單:物理網(wǎng)絡(luò)可以用某種方式將IP分組封裝在幀內(nèi),借助物理網(wǎng)絡(luò)本身傳輸幀的機(jī)制傳輸IP分組。這個(gè)要求任何物理網(wǎng)絡(luò)都可以滿足?梢詫P分組作為幀的數(shù)據(jù)部分封裝在幀內(nèi)傳輸,這么做等于將物理網(wǎng)絡(luò)當(dāng)作運(yùn)載IP分組的運(yùn)輸工具。IP協(xié)議不是統(tǒng)一運(yùn)輸工具(類比物理網(wǎng)絡(luò)),而是統(tǒng)一貨物(類比數(shù)據(jù))打包的標(biāo)準(zhǔn)。類似的例子在現(xiàn)實(shí)生活中可以看到,集裝箱就是個(gè)例子:貨物用標(biāo)準(zhǔn)集裝箱打包,可以很方便地用集裝箱貨船或者集裝箱貨車運(yùn)輸。這樣做的好處是IP網(wǎng)絡(luò)對(duì)各種物理網(wǎng)絡(luò)廣泛的兼容性,IP協(xié)議不會(huì)改變物理網(wǎng)絡(luò)固有的運(yùn)行方式。實(shí)際上,就物理網(wǎng)絡(luò)的工作方式而言,物理網(wǎng)絡(luò)在傳輸幀的時(shí)候,并不關(guān)心幀的數(shù)據(jù)部分是什么內(nèi)容,它的任務(wù)只是傳輸數(shù)據(jù)。無(wú)論是傳輸其固有的數(shù)據(jù)(比如語(yǔ)音數(shù)據(jù)是電話網(wǎng)的固有數(shù)據(jù))還是IP協(xié)議的數(shù)據(jù)都是數(shù)據(jù)。這就和遞信一樣,無(wú)論用戶是寄情書(shū)還是寄絕交信,郵遞員都不關(guān)心也不應(yīng)該關(guān)心,他的工作只是投遞信件。
5.1.2 統(tǒng)一地址
物理網(wǎng)絡(luò)使用的地址稱為物理地址。各種物理地址的編址方式是不一樣的,地址長(zhǎng)度也是不一樣的。物理地址只是在物理網(wǎng)絡(luò)內(nèi)部有意義,出了物理網(wǎng)絡(luò)就沒(méi)有意義了,無(wú)法用來(lái)在整個(gè)Internet的范圍內(nèi)標(biāo)識(shí)主機(jī)。所以,有必要在整個(gè)Internet的范圍內(nèi)規(guī)定一套統(tǒng)一的編址方式。同樣,IP協(xié)議沒(méi)有在物理網(wǎng)絡(luò)層面上統(tǒng)一地址,而是在虛擬網(wǎng)絡(luò)層面上統(tǒng)一地址。IP協(xié)議使用統(tǒng)一的IP地址。IP分組的分組頭攜帶了數(shù)據(jù)發(fā)送者的IP地址(源IP地址)和數(shù)據(jù)接收者的IP地址(目的IP地址)。
Internet上的主機(jī)同時(shí)需要一個(gè)IP地址和一個(gè)物理地址:IP地址作為轉(zhuǎn)發(fā)IP分組的依據(jù);物理地址作為轉(zhuǎn)發(fā)幀的依據(jù)。除了格式整齊統(tǒng)一,IP地址和物理地址另一個(gè)不同點(diǎn)是它是一種全I(xiàn)nternet性的地址,可以在全I(xiàn)nternet的范圍內(nèi)用標(biāo)識(shí)一臺(tái)主機(jī),無(wú)論它屬于哪個(gè)物理網(wǎng)絡(luò)。如果某個(gè)物理網(wǎng)絡(luò)的主機(jī)要使用IP協(xié)議向其它物理網(wǎng)絡(luò)的主機(jī)發(fā)送數(shù)據(jù),可以將數(shù)據(jù)封裝于IP分組內(nèi),并將IP分組的目的地址設(shè)置為對(duì)方的IP地址。
IP地址和物理地址的關(guān)系類似學(xué)生的學(xué)號(hào)和身份證號(hào)的關(guān)系。學(xué)號(hào)只在本校有意義,不同學(xué)校的編號(hào)方式可能不一樣,但也有可能因?yàn)椴捎孟嗤木幪?hào)方式導(dǎo)致不同學(xué)校學(xué)生的學(xué)號(hào)一樣。學(xué)生的學(xué)號(hào)未必是全國(guó)的,但學(xué)生的身份證號(hào)是全國(guó)的。
5.1.3 IP交換
IP分組在物理網(wǎng)絡(luò)內(nèi)部傳輸沒(méi)有什么特別之處,等同于傳輸幀。當(dāng)IP分組要離開(kāi)某個(gè)物理網(wǎng)絡(luò)進(jìn)入另外一個(gè)物理網(wǎng)絡(luò)時(shí),麻煩出現(xiàn)了:某種物理網(wǎng)絡(luò)的幀不能直接進(jìn)入另外一種物理網(wǎng)絡(luò)。毫無(wú)疑問(wèn),數(shù)據(jù)要從一個(gè)物理網(wǎng)絡(luò)進(jìn)入另一個(gè)物理網(wǎng)絡(luò),必須將它的幀從源物理網(wǎng)絡(luò)的格式轉(zhuǎn)換為目的物理網(wǎng)絡(luò)的格式。這個(gè)過(guò)程是由路由器完成的。
路由器可以用來(lái)連接不同類型的物理網(wǎng)絡(luò)。和物理網(wǎng)絡(luò)的交換機(jī)一樣,路由器也是按照“存儲(chǔ)-轉(zhuǎn)發(fā)”的模式工作,負(fù)責(zé)中轉(zhuǎn)不同物理網(wǎng)絡(luò)之間的數(shù)據(jù)。路由器通過(guò)它的端口連接物理網(wǎng)絡(luò),端口的類型要和物理網(wǎng)絡(luò)匹配。比如,連接以太網(wǎng)使用以太網(wǎng)的端口。端口是它所連接的物理網(wǎng)絡(luò)的一部分,就像物理網(wǎng)絡(luò)中的一臺(tái)主機(jī)的端口,需要配置相應(yīng)的IP地址和物理地址。它可以從它連接的物理網(wǎng)絡(luò)接收幀,也可以按照它所連接的物理網(wǎng)絡(luò)的幀格式向物理網(wǎng)絡(luò)內(nèi)的主機(jī)發(fā)送幀。
圖表 5 1 IP交換
請(qǐng)看圖表 5 1,路由器的端口1、2、3分別連接物理網(wǎng)絡(luò)A、B、C,假設(shè)A網(wǎng)絡(luò)內(nèi)的主機(jī)H1有數(shù)據(jù)要發(fā)送到B網(wǎng)絡(luò)內(nèi)的主機(jī)H2。數(shù)據(jù)首先以A網(wǎng)絡(luò)幀的格式發(fā)給端口1;收到幀后,路由器將幀頭幀尾去掉,分離出IP分組,這個(gè)過(guò)程稱為拆包;路由器依據(jù)IP分組的目的IP地址查找路由表,決定將IP分組轉(zhuǎn)發(fā)到端口2,這個(gè)過(guò)程稱為路由;端口2重新封裝IP分組,加上幀頭和幀尾,但是這次是按照B網(wǎng)絡(luò)的幀格式,這個(gè)過(guò)程稱為打包;端口2后把封裝好的幀發(fā)送給B網(wǎng)絡(luò)。A網(wǎng)絡(luò)可以通過(guò)自身的數(shù)據(jù)交換機(jī)制將幀從H1轉(zhuǎn)發(fā)到端口1;同樣,B網(wǎng)絡(luò)可以通過(guò)自身的數(shù)據(jù)交換機(jī)制將幀從端口2轉(zhuǎn)發(fā)到H2。這兩個(gè)過(guò)程都屬于物理網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)轉(zhuǎn)發(fā),和IP交換過(guò)程無(wú)關(guān)。假設(shè)A是以太網(wǎng),網(wǎng)絡(luò)內(nèi)部數(shù)據(jù)轉(zhuǎn)發(fā)是由交換機(jī)/HUB完成的;假設(shè)B是電話網(wǎng),網(wǎng)絡(luò)內(nèi)部數(shù)據(jù)轉(zhuǎn)發(fā)是由程控電話交換機(jī)完成的。
整個(gè)IP交換分為三個(gè)步驟:拆包、路由和打包。可以把IP交換和運(yùn)貨的過(guò)程做個(gè)類比:用卡車運(yùn)送貨物(類比IP分組)到某個(gè)島嶼,到了港口,卡車不能再前進(jìn)了,于是碼頭工人把貨物從卡車上搬下來(lái)(類比拆包);港口調(diào)度員調(diào)度一艘船運(yùn)送貨物(類比路由);于是碼頭工人將貨物搬上這艘船(類比打包),后經(jīng)水路運(yùn)到目的地。
對(duì)于IP交換,它關(guān)心的是如何轉(zhuǎn)發(fā)IP分組,至于IP分組封裝成什么形式的幀,并不很重要。采用不同的封裝方式就像采用不同的運(yùn)輸工具,分組由一個(gè)物理網(wǎng)絡(luò)交換到另一個(gè)物理網(wǎng)絡(luò)就像換了個(gè)運(yùn)輸工具一樣。
5.1.4 IP網(wǎng)絡(luò)
在統(tǒng)一IP分組格式和IP地址后,通過(guò)IP交換的機(jī)制可以跨越不同物理網(wǎng)絡(luò)傳輸標(biāo)準(zhǔn)的IP分組。IP協(xié)議實(shí)際上在物理網(wǎng)絡(luò)之上定義了一個(gè)邏輯上的網(wǎng)絡(luò)——IP網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)上傳輸?shù)氖荌P分組。當(dāng)然,這個(gè)邏輯上的網(wǎng)絡(luò)終要依靠底層的物理網(wǎng)絡(luò)完成實(shí)際的數(shù)據(jù)傳輸。雖然物理網(wǎng)絡(luò)千變?nèi)f化,但是IP網(wǎng)絡(luò)是統(tǒng)一的,Internet可以定義為一個(gè)全球性的IP網(wǎng)絡(luò)。
圖表 5 2 IP網(wǎng)絡(luò)封裝實(shí)例
如果把數(shù)據(jù)封裝在IP分組內(nèi),就可以在整個(gè)Internet的范圍內(nèi)傳輸數(shù)據(jù)了。圖表 5 2是個(gè)數(shù)據(jù)封裝的實(shí)例:數(shù)據(jù)封裝在TCP分組內(nèi)→TCP分組封裝在IP分組內(nèi)→IP分組封裝于以太網(wǎng)幀內(nèi)。到了物理層,不再封裝,物理層負(fù)責(zé)把幀轉(zhuǎn)換為信號(hào),通過(guò)傳輸媒體發(fā)送出去。
數(shù)據(jù)發(fā)送過(guò)程是個(gè)不斷封裝的過(guò)程,接收數(shù)據(jù)則是個(gè)不斷拆封的過(guò)程:幀拆封為IP分組→IP分組拆封為TCP分組→數(shù)據(jù)從TCP分組中分離出來(lái)。
5.1.5 IP地址
IP地址是32位長(zhǎng)的二進(jìn)制整數(shù),范圍從0~232-1,總共有232(大約等于43億)個(gè)IP地址。計(jì)算機(jī)行業(yè)喜歡用16進(jìn)制表示二進(jìn)制整數(shù),可以將IP地址表示為16進(jìn)制整數(shù)。不過(guò)這種方法很不直觀,也難以記憶。習(xí)慣上,采用點(diǎn)分十進(jìn)制的方式表示IP地址。也就是把二進(jìn)制的IP地址分為4個(gè)字節(jié)(一字節(jié)有8位長(zhǎng),對(duì)應(yīng)的十進(jìn)制整數(shù)的范圍是0~255),字節(jié)之間用點(diǎn)號(hào)分隔,并用十進(jìn)制表示出來(lái)。比如二進(jìn)制的IP地址11000000101010000000000000000001分為4個(gè)字節(jié),用點(diǎn)號(hào)分隔為11000000.10101000.00000000.00000001。個(gè)字節(jié)11000000等于十進(jìn)制的192,第二個(gè)字節(jié)10101000等于十進(jìn)制的168,第三個(gè)字節(jié)00000000等于十進(jìn)制的0,第四個(gè)字節(jié)等于十進(jìn)制的1。于是,這個(gè)IP地址可以表示為:192.168.0.1。
IP地址分為兩部分:高位部分是網(wǎng)絡(luò)號(hào)(又稱為網(wǎng)絡(luò)地址),低位部分是主機(jī)號(hào)。網(wǎng)絡(luò)號(hào)用于標(biāo)識(shí)網(wǎng)絡(luò),由ICANN(Internet Corporation for Assigned Names and Numbers)或者它的分支機(jī)構(gòu)統(tǒng)一分配的。任何一個(gè)網(wǎng)絡(luò)要想加入Internet,必須申請(qǐng)一個(gè)網(wǎng)絡(luò)號(hào)。主機(jī)號(hào)用于標(biāo)識(shí)網(wǎng)絡(luò)內(nèi)的主機(jī)。主機(jī)號(hào)的分配由網(wǎng)絡(luò)管理員自行決定,網(wǎng)絡(luò)管理員可以按照自己喜歡的方式分配,只要保證網(wǎng)絡(luò)內(nèi)任何兩臺(tái)主機(jī)的主機(jī)號(hào)不重復(fù)即可。網(wǎng)絡(luò)號(hào)+主機(jī)號(hào)構(gòu)成一個(gè)完整的IP地址,可以地標(biāo)識(shí)一臺(tái)主機(jī)。這類似學(xué)生的學(xué)號(hào),前面的數(shù)字標(biāo)識(shí)班級(jí)號(hào),后面的數(shù)字標(biāo)識(shí)學(xué)生在班級(jí)里面的序號(hào),兩者合起來(lái)構(gòu)成完整的學(xué)號(hào)。
路由器根據(jù)IP分組的目的IP地址查找路由表,決定分組轉(zhuǎn)發(fā)路徑的過(guò)程稱為IP路由。路由器路由的時(shí)候只關(guān)心目的IP地址的網(wǎng)絡(luò)號(hào),這是因?yàn)槁酚墒且跃W(wǎng)絡(luò)為單位的,它是網(wǎng)絡(luò)之間的尋址過(guò)程。
如何分配網(wǎng)絡(luò)號(hào)是個(gè)至關(guān)重要的問(wèn)題。好的網(wǎng)絡(luò)號(hào)分配方案可以使路由的過(guò)程變得簡(jiǎn)單高效;反之,差的網(wǎng)絡(luò)號(hào)分配方案會(huì)使路由的過(guò)程變得復(fù)雜低效。那么該如何分配網(wǎng)絡(luò)號(hào)?這并不是什么高深的學(xué)術(shù)問(wèn)題,普通人也可以提出一個(gè)很好的建議:按照層次分配網(wǎng)絡(luò)號(hào)。郵政編碼是一個(gè)典型的例子:兩位代表省/自治區(qū)/直轄市,中間兩位代表縣/市,后兩位代表區(qū)?梢苑抡锗]政編碼這樣劃分網(wǎng)絡(luò)號(hào):IP地址的若干位代表國(guó)家號(hào),次高的若干位代表省/州號(hào),接著若干位代表市/縣號(hào),……,以此類推,構(gòu)建一個(gè)完整的層次。
這樣分層劃分網(wǎng)絡(luò)號(hào)的好處有兩點(diǎn):
(1) 符合網(wǎng)絡(luò)的天然層次結(jié)構(gòu),便于分層管理網(wǎng)絡(luò)號(hào),F(xiàn)實(shí)的網(wǎng)絡(luò)也是基本按照行政區(qū)劃分層的,有分層管理的需要。ICANN可以以國(guó)家為單位把網(wǎng)絡(luò)號(hào)分配給國(guó)家,然后國(guó)家為各省/州分配網(wǎng)絡(luò)號(hào),省/州為市/縣分配網(wǎng)絡(luò)號(hào),……,以此類推,非常方便。
(2) 大大簡(jiǎn)化路由。請(qǐng)看圖表 5 3,假設(shè)嚴(yán)格按照行政區(qū)劃分配網(wǎng)絡(luò)號(hào),可以按照網(wǎng)絡(luò)層次設(shè)置核心路由器,實(shí)現(xiàn)分層路由:國(guó)際級(jí)核心路由器負(fù)責(zé)國(guó)家之間的路由,核心路由器負(fù)責(zé)國(guó)內(nèi)各省之間的路由,省級(jí)核心路由器負(fù)責(zé)省內(nèi)各市/縣之間的路由,……,以此類推。分層路由的好處是簡(jiǎn)單高效:每個(gè)路由器之需要負(fù)責(zé)下一層路由器之間的路由,比如中國(guó)的核心路由器只需要負(fù)責(zé)各省之間的路由,出范圍的路由,可以轉(zhuǎn)交上一層路由器處理。假設(shè)中國(guó)北京的用戶要訪問(wèn)美國(guó)弗羅里達(dá)的用戶,路由的路徑是:北京→中國(guó)→ICANN→美國(guó)→弗羅里達(dá)。圖表 5 3嚴(yán)格的分層模式,構(gòu)建了一棵以ICANN國(guó)際級(jí)核心路由器為根的一棵樹(shù)。
圖表 5 3 分層路由
指向上級(jí)路由器的路徑通常稱為默認(rèn)路徑或者默認(rèn)路由,默認(rèn)路徑用于路由不屬于本路由器管轄范圍內(nèi)地址的路由。以中國(guó)的核心路由器為例,它的路由表只需記錄到各個(gè)省級(jí)行政單位(包括港澳臺(tái)總共34個(gè))的路徑,加上指向上級(jí)路由器的默認(rèn)路徑,總共僅需要35條路由表項(xiàng)。
5.1.6 分類編址方案
圖表 5 4 分類編址方案
現(xiàn)在,看看實(shí)際的網(wǎng)絡(luò)號(hào)分配方案是什么樣的。早的方案把IP地址分為A、B、C、D、E五類(圖表 5 4),這種方案稱為分類編址方案。E類地址是保留地址,保留給將來(lái)使用。D類地址是組播地址,用于IP層的組播。IP組播地址的意義和以太網(wǎng)組播地址的意義一樣,只是一個(gè)用于物理網(wǎng)絡(luò)的組播(僅限物理網(wǎng)絡(luò)內(nèi)部),另一個(gè)一個(gè)用于IP網(wǎng)絡(luò)的組播(可能跨越多個(gè)物理網(wǎng)絡(luò))。A、B、C類地址是用戶通常使用的IP地址,它們是單播IP地址,用于標(biāo)識(shí)主機(jī)。IP單播地址和以太網(wǎng)單播地址的意義一樣,只是一個(gè)用于物理網(wǎng)絡(luò)的單播,另一個(gè)用于IP網(wǎng)絡(luò)的單播。
這幾類地址通過(guò)的幾位特征位來(lái)區(qū)分:
(1) A類地址的位是0,網(wǎng)絡(luò)號(hào)8位長(zhǎng),總共有27=128個(gè)A類地址,范圍是1.0.0.0~127.255.255.255。A類地址的數(shù)量少,但是可容納的主機(jī)數(shù)量達(dá)到224=16777216。
(2) B類地址的兩位是10,網(wǎng)絡(luò)號(hào)16位長(zhǎng),總共有214=16384個(gè)B類地址,范圍是128.0.0.0~191.255.255.255,每個(gè)B類地址可以容納的主機(jī)數(shù)量是216=65536。
(3) C類地址的三位是110,網(wǎng)絡(luò)號(hào)24位長(zhǎng),總共有221=2097152個(gè)C類地址,范圍是192.0.0.0~223.255.255.255,每個(gè)C類地址可以容納的主機(jī)數(shù)量是28=256。
A類地址的前一個(gè)字節(jié)是網(wǎng)絡(luò)號(hào),B類地址的前兩個(gè)字節(jié)是網(wǎng)絡(luò)號(hào),C類地址的前三個(gè)字節(jié)是網(wǎng)絡(luò)號(hào)。
由于網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)是合并在一個(gè)IP地址內(nèi)的,路由器在路由時(shí)必須有一種機(jī)制將網(wǎng)絡(luò)號(hào)從IP地址中分離出來(lái),作為路由的依據(jù)。分類編址的方案的好處是:路由器很容易的根據(jù)IP地址位的特征從IP地址分離出網(wǎng)絡(luò)號(hào)。很明顯,分類編址方案是無(wú)層次的網(wǎng)絡(luò)號(hào)分配方案。
5.1.7 一些特殊的IP地址
(1) 全局廣播地址
32位全為1的IP地址255.255.255.255,用于向Internet上的所用主機(jī)發(fā)送廣播。目的IP地址為全局廣播地址的IP分組稱為全局廣播IP分組。按照定義,路由器收到全局廣播分組后必須將它轉(zhuǎn)發(fā)到Internet上的所有網(wǎng)絡(luò)。而在網(wǎng)絡(luò)內(nèi)部,以以太網(wǎng)為例,全局廣播分組封裝為廣播幀,以便廣播到整個(gè)以太網(wǎng),終Internet上的所有主機(jī)都可以收到這個(gè)全局廣播分組。路由器可以采用交換機(jī)處理廣播幀的“擴(kuò)散”方法,向相鄰的所有路由器轉(zhuǎn)發(fā)IP全局廣播分組,除了給它發(fā)送全局廣播分組的那個(gè)路由器,相鄰的路由器再轉(zhuǎn)發(fā)給和它們相鄰的路由器,……,以此類推,直至傳遍整個(gè)Internet。擴(kuò)散廣播分組可能引發(fā)類似以太網(wǎng)廣播風(fēng)暴的后果,從而成為某些搗亂分子的破壞手段?梢韵胂,如果有人不斷向Internet發(fā)送全局廣播分組,全球的路由器將疲于奔命,甚至崩潰。出于安全的考慮,這個(gè)地址實(shí)際上已經(jīng)被廢除了,IP協(xié)議的下一個(gè)版本IPv6,正式廢除了這個(gè)地址。路由器收到全局廣播分組,會(huì)把它丟棄掉。
(2) 網(wǎng)絡(luò)地址
主機(jī)位全是0的IP地址。這個(gè)地址用來(lái)標(biāo)識(shí)網(wǎng)絡(luò)號(hào),不能分配給主機(jī)用。這就和用100000代表北京所有地區(qū)的郵編一樣。后面可以看到,它在路由匹配算法中有特殊用處。A類網(wǎng)絡(luò)地址的形式為A.0.0.0;B類網(wǎng)絡(luò)地址的形式為B.B.0.0;C類網(wǎng)絡(luò)地址的形式為C.C.C.0。
(3) 子網(wǎng)廣播地址
主機(jī)位全是1的IP地址,用于網(wǎng)絡(luò)號(hào)所限定子網(wǎng)內(nèi)的廣播。子網(wǎng)廣播地址同樣不能分配給主機(jī)使用。A類子網(wǎng)廣播地址的形式為A.255.255. 255;B類子網(wǎng)廣播地址的形式為B.B. 255. 255;C類子網(wǎng)廣播地址的形式為C.C.C. 255。和全局廣播不同,子網(wǎng)內(nèi)廣播只限于子網(wǎng)(subnet)內(nèi)部,有時(shí)又稱為定向廣播?梢詫P分組的目的地址設(shè)置為定向廣播地址,向子網(wǎng)內(nèi)所有主機(jī)發(fā)送廣播。在以太網(wǎng)內(nèi),定向廣播IP分組封裝為廣播幀,以便子網(wǎng)內(nèi)所有主機(jī)可以收到。路由器不會(huì)轉(zhuǎn)發(fā)定向廣播IP分組,它會(huì)將定向廣播IP分組丟棄。這種行為是合乎邏輯的,因?yàn)榧热皇亲泳W(wǎng)內(nèi)廣播,路由器就不該將這個(gè)分組廣播到其它子網(wǎng)中。從廣播的角度說(shuō),子網(wǎng)其實(shí)是一個(gè)IP廣播域。