內容簡介
本書在介紹一般計算機網路基本原理基礎上,強調以下三個方面:首先,在以區域網路為主的計算機網路原理基礎上,增加了電子電氣類專業在實際工作中所用到的現場匯流排、嵌入式和無線移動等網路知識;其次,介紹了基本的網路編程知識,提供了部分程式原始碼;最後,注重學生實踐套用能力的培養,每章都編寫了實驗指導,強調了實踐性和實用性,與相關網路技術的基本原理結合緊密。 全書分8章,介紹了網路體系結構,物理層,數據鏈路層,網路層,傳輸層,表示層(安全加密),套用層,嵌入式技術、移動和物聯網等新的網路技術內容,每一章除了基礎內容外,還介紹了較多的網路新技術。 本書可作為高等院校電氣與電子信息類本、專科專業的計算機網路或網路技術的教材,也可以作為其他專業學生、教師和網路技術人員的參考書。
前言
編寫本書的目的是使電氣與電子類專業學生在掌握一般計算機網路原理的基礎上,更注重對工業自動化監控網路、嵌入式網路和無線網路的知識掌握,引導學生進行網路設計和編程,培養學生的網路技術綜合實踐能力,使其成為高層次的面向網路技術設計的套用人才。
本書適用於課堂教學32~48學時,實驗學時16~24學時。
高等院校電氣與電子信息類專業的計算機網路課程一直延續計算機專業的“計算機網路”的教學內容和教材,但從理論和實踐中來看,所學的網路知識沒有體現出電氣與電子信息類的專業特點,與專業實踐是脫節的。通俗一點說,現有網路教材偏“軟”,對網路設計、編程和套用的介紹不夠,更多的是講一些網路原理和概念;而電氣與電子信息類專業對計算機網路知識的需求偏“硬”,不僅要掌握原理、設計和編程,更多的是套用於嵌入式網路、工業現場匯流排和無線通信等方面,而物理層和數據鏈路層協定的學習和套用對他們尤其重要(現有教材把重點放在了網路層和傳輸層)。例如在嵌入式系統中的計算機網路原理、設計和套用,一般要對OSI和TCP/IP體系結構進行精簡;現場匯流排適用於工業控制網路,不同於基於PC的區域網路技術;無線、移動和感測器網路也有別於區域網路技術;而嵌入、現場匯流排和無線移動越來越多地套用於信息系統,這些方面的套用應該是電氣與電子信息類專業學生未來在計算機網路方面主要從事的領域。現有的教材更適用於計算機專業學生,以講授區域網路和網際網路為核心內容。因此,特編寫本書以適應針對電氣與電子類專業的網路課程教學要求。
本書除了介紹網路技術外,還有不少篇幅引入了網路設計,目的是讓學生不但學習網路原理,還要掌握網路管理、調試和設計的能力。其主要特色如下:
嵌入式網路。嵌入式網路通信應時而生、迅速發展,成了嵌入式套用系統設計的關鍵性技術。本書在傳統計算機網路的基礎上重點增加了這部分內容,簡要介紹了一些嵌入式網路通信體系開發的硬體、軟體及通信的基礎知識,匯總了現在常見的有/無線通信形式及其實現,說明了嵌入式網路通信體系軟/硬體設計的核心思想。
協定編程。由於電氣與電子類專業沒有後續課程“網路編程”,因此在教程中增加了網路編程的內容。對於區域網路,增加以Socket技術為主的TCP/IP編程技術;對於現場匯流排,增加以數據鏈路層協定為主的通信編程。網路設計。除了對網路的“軟體編程”外,還增加了網路硬體電路設計內容。敘述軟/硬體設計實現的方法步驟,重點闡述了接口通信器件或模組的選擇與使用、基本配置,數據收發等底層驅動軟體的開發,通信協定的簡化與實現,應用程式的調用等。在內容安排上,精簡了區域網路和網際網路技術,突出嵌入、工業和無線套用的關鍵細節。例如,第2章介紹了工業控制網路中常用的光纖模組接口,據此可以了解工業控制光纖網路的基本設計;第3章介紹了工業現場匯流排常用的Modbus和CAN協定幀格式;第7章介紹了嵌入式Web網路技術;第8章介紹了ZigBee無線感測器網路。
實踐操作。每章的後面大都有幾個實驗指導,如第1章有兩個實驗,內容涵蓋網路原理、網路套用和網路管理幾個方面,實驗選題考慮融合當今網路工程的主流技術,適應基礎與驗證性、綜合和設計性兩種不同層次的要求。實驗指導共列出了22個實驗項目,可以選做,有的實驗內容比較簡單,可以在2學時的一次實驗中做兩個實驗項目。對於有一定編程難度的實驗給出了參考代碼,可將其作為原始碼加入編程項目,這些代碼已經過調試和驗證,可以直接使用。但有的嵌入式程式因CPU和開發工具軟體的不同,所定義的宏和接口函式會有所不同;PC/Windows平台也有可能因軟體版本不同會有所差別。
網路仿真。利用網路協定仿真軟體,輔助實驗教學系統,幫助理解計算機網路協定概念。通過網路協定仿真和分析工具,來模擬網路通信與實驗教學環境,特別是TCP/IP協定簇,可以完整地在網路仿真軟體上實現分析。通過實驗仿真,掌握網路程式設計、網路安全和故障性能分析等相關知識,實現對各種數據報的仿真傳送、捕獲解析和會話分析,直觀地看到網路協定的行為,將抽象的網路概念形象化,把枯燥的網路原理具體化,從而深入地理解和掌握網路協定的內部原理和運行機制。
加密安全。數據加密安全相關協定放在了TCP/IP體系結構的傳輸層(第5章)和套用層(第7章)之間,可以認為相當於OSI體系結構的表示層,解決了原來講述網路安全加密協定游離於網路體系結構外的問題,放在套用層前一章是為了強調加密安全對網路的重要性。
在本書的編寫過程中,參考了國內外計算機網路和現場匯流排相關領域的優秀教材,對於這些書籍的作者表示誠摯的感謝和敬意。
因編者水平有限,書中定有不妥甚至錯誤之處,歡迎批評指正。
編者
2013年12月
目錄
第1章網路體系結構(Network Architecture)1
1.1信息傳輸單位(Information Transfer Unit)1
1.1.1信息、數據和信號(Information,Data and Signal)2
1.1.2碼元和比特(Symbol and Bit)3
1.1.3幀、數據報、報文段和報文(Frame,Datagram,
Segment and Message)4
1.1.4信道、信源與信宿(Information Channel,Source
and Destination)5
1.2網路和協定(Network and Protocol) 6
1.2.1網路定義(Definition of Network)6
1.2.2網路協定(Protocol)7
1.2.3協定數據單元(Protocol Data Unit)8
1.3OSI網路體系結構(OSI Architecture)8
1.3.1OSI參考模型的制定(Design OSI Reference Model)9
1.3.2OSI各層的主要功能(Functions of all OSI Layers)9
1.4TCP/IP網路體系結構(TCP/IP Architecture)11
1.5現場匯流排網路(Field Bus)13
1.5.1匯流排定義及分類(Bus Definition and Classes)13
1.5.2現場匯流排定義和分類(Definition and Classes of
Field Bus)14
1.5.3現場匯流排的功能和體系結構(Function and
Architecture of Field Bus)16
1.6網路分類、歷史和發展(Networks Classes,History and Future
Development)17
1.6.1網路分類(Networks Classes)17
1.6.2分組交換的產生(Packet Switching)20
1.6.3計算機網路的發展(Development of Computer
Network)23
習題126
實驗指導11常用網路調試命令27
計算機網路技術與設計目錄實驗指導1
2認識網路體系結構及協定29
第2章物理層(Physical Layer)31
2.1信號(Signal)32
2.1.1有線電信號(Wire Signal)32
2.1.2光纖信號傳輸(Optical Fiber Signal)32
2.1.3無線信號(Wireless Signal)34
2.2傳輸介質(Transfer Media)35
2.2.1雙絞線(Twist Pair)35
2.2.2同軸電纜(Coaxial Cable)35
2.2.3光纜(Optical Cable)36
2.2.4無線通信(Wireless Communication)37
2.3編碼技術(Encoding Technology)39
2.3.1頻帶編碼(Frequency Band Encoding)39
2.3.2基帶編碼(Baseband Encoding)40
2.3.34B/5B和8B/10B編碼(4B/5B and 8B/10B Encoding)41
2.4信道復用(Multiplex Channel)43
2.4.1時分多路復用TDMA(Time Division Multiplex Access)43
2.4.2頻分多路復用FDMA(Frequency Division Multiplex Access)44
2.4.3碼分多路復用CDMA(Code Division Multiplex Access)45
2.5信息傳輸速率指標(Transfer Ratio)46
2.5.1頻寬和速率(Bandwidth and Rate)46
2.5.2奈氏定律(Nyquist Formula)47
2.5.3香農公式(Claude E. Shannon Equation)48
2.5.4頻寬與傅立葉分析(Bandwidth and Fourier Analysis)49
2.6物理層常用標準(Physical Layer Standards)50
2.6.1信號傳輸類型(Signal Transmission Classes)50
2.6.2串列傳輸技術(Serial Transmission)52
2.6.3EIA RS232接口標準(RS232 Interface Standard)53
2.6.4EIA RS485接口標準(RS485 Interface Standard)54
2.6.5USB匯流排的電氣特性(USB Bus Electrical Characteristics)55
2.6.6CAN匯流排的電氣特性(CAN Bus Electrical Characteristics)57
2.7乙太網的物理層(Physical Layer of Ethernet)58
2.7.1802.3區域網路的幾種傳輸媒體(Transmission Media of 802.3 LAN)58
2.7.2乙太網編碼方法(Ethernet Coding Way)59
2.7.3802.11無線傳輸物理層(Physical Layer)62
2.8MODEM和xDSL(MODEM and x Digital Subscriber Line)63
2.8.1xDSL技術原理(xDSL Tech Principle)64
2.8.2對稱DSL技術(Symmetrical DSL Tech)65
2.8.3非對稱DSL技術(Non Symmetrical DSL Tech)65
2.9物理層網路設備(Device of Physical Layer)66
2.9.1網路拓撲結構(Network Topology)66
2.9.2中繼器(Repeater)67
2.9.3集線器(Hub)68
2.9.4光纖模組(Optical Fibre Module)68
習題272
實驗指導21CDMA編解碼程式設計73
實驗指導22雙絞線RJ45接口製作74
實驗指導23RS232串口通信實驗76
實驗指導24RS485通信實驗78
第3章數據鏈路層(Data Link Layer)80
3.1鏈路、組幀及同步(Link,Framing and Sync)81
3.1.1組幀(Framing)82
3.1.2同步通信與異步通信(Synchronous Communication and
Asynchronous Communication)83
3.1.3幀格式(Frame Format)84
3.2鏈路層協定算法(Link Protocol Algorithm)85
3.2.1可靠性保證及幀校驗(Reliability Assurance and Check)85
3.2.2簡單流量控制(Simple Flow Control)86
3.2.3停止等待協定(StopandWait Protocol)87
3.2.4自動重發請求ARQ(Automatic Repeat reQuest)88
3.2.5流量控制(Flow Control)90
3.2.6信道共享算法(Channel Sharing Algorithm)92
3.3傳統的鏈路層協定HDLC和PPP(Traditional LinkLayer Protocol)96
3.3.1面向比特的同步協定HDLC(BitOriented Synchronous Protocols)96
3.3.2點到點協定PPP幀(PPP Protocol)98
3.4CSMA/CD協定(Carrier Sense Multiple Access/Collision Detect)99
3.4.1IEEE 802.3標準(Standard)99
3.4.2CSMA/CD協定算法(Protocol)100
3.4.3MAC幀的有效性(Effectiveness of MAC Frame)102
3.5CSMA/CA協定(CSMA/CA Protocol)104
3.5.1IEEE 802.11的工作方式(Working Method)104
3.5.2IEEE 802.11數據鏈路層衝突避免(Data Link Layer Collision
Avoidance)105
3.5.3IEEE 802.11數據鏈路層實現(Data Link Layer Implementation)107
3.6乙太網和令牌網(Ethernet & Token net)108
3.6.1廣播協定(Broadcast Protocol)108
3.6.2乙太網幀格式及MAC地址(Ethernet Frame Format and MAC
Address)108
3.6.3令牌環媒體訪問控制(Token Ring)111
3.6.4交換技術(Switch Technology)113
3.6.5網橋的工作原理(Working Principle of Network Bridges)114
3.6.6交換式乙太網(Switched Ethernet)116
3.6.7乙太網接口設計(Network Interface Circuit)117
3.7串口Modbus協定(Modbus Protocol for Serial Port)120
3.7.1Modbus協定簡介(Modbus Protocol Introduction)120
3.7.2兩種傳輸方式(Two Transmission Ways)121
3.7.3Modbus報文幀(Modbus Message Frame)122
3.8現場匯流排(Field Bus)CAN126
3.8.1CAN幀結構(CAN Frame Form)126
3.8.2CAN控制器(CAN Controller Introduction)128
3.8.3CAN通信結構設計(CAN Communication Hardware Design)131
習題3131
實驗指導31幀校驗編程134
實驗指導32數據鏈路層協定分析135
實驗指導33Modbus協定編程136
實驗指導34CAN協定編程138
第4章網路層(Network Layer)140
4.1IP協定組成(IP Protocol Form)140
4.1.1IP數據報的分片與重組(IP Datagram Fragment and Recombination)143
4.1.2IP首部校驗和(IP Header Checksum)145
4.2IP位址計算(IP Address Compute)145
4.2.1IP位址格式(IP Address Format)145
4.2.2網路掩碼(Net Mask)148
4.2.3無類域間路由CIDR (Classless InterDomain Routing)149
4.2.4網路地址計算(Network Address Calculation)150
4.2.5直接、有限廣播和回送地址(Direct and Finite Broadcast,Echo
Address)152
4.3路由計算(Static Routing)153
4.3.1虛電路服務與數據報服務(Virtual Circuit and Datagram)153
4.3.2數據報轉發(Datagram Forwarding)155
4.3.3路由表的建立過程(Setup Route List)157
4.4動態路由協定(Dynamic Routing Protocol)159
4.4.1理想的路由算法(Ideal Routing Algorithm)160
4.4.2路由選擇的不同策略(Routing of Different Strategies)160
4.4.3路由信息協定RIP(Routing Information Protocol)161
4.4.4開放最短路徑優先協定OSPF(Open Shortest Path First)164
4.4.5邊緣網關協定BGPv4(Border Gateway Protocol Version 4)165
4.5路由器(Router)166
4.5.1路由器的工作原理(Router Principle)166
4.5.2第三層交換機(Third Layer Switch)167
4.6IPv6169
4.6.1IPv6的特點(Characteristics of IPv6)169
4.6.2IPv6地址空間(IPv6 Address Space)170
4.7ARP及ICMP協定(ARP and ICMP Protocol)173
4.7.1地址解析協定ARP(Address Resolution Protocol)174
4.7.2反向地址解析協定RARP(Reverse Address Resolution Protocol)174
4.7.3控制報文協定ICMP (Internet Control Message Protocol)175
4.8NAT技術(Network Address Transmission Protocol)176
4.8.1NAT技術的原理和類型(Principle and Type of NAT)176
4.8.2套用NAT安全策略(Security Policy Using NAT)177
4.9虛擬專用網VPN(Virtual Private Network)179
4.9.1虛擬專用網原理(Principle of VPN)179
4.9.2隧道技術(Tunnel Technology)181
4.10IP多播和組管理協定IGMP(IP Multicast and Group Management
Protocol)182
4.10.1IP多播的概念(IP Multicast Concepts)182
4.10.2網際網路組管理協定IGMP(Internet Group Management Protocol)183
習題4184
實驗指導41網路層協定分析188
實驗指導42IP位址獲取189
實驗指導43路由器配置190
第5章傳輸層(Transmission Layer)191
5.1傳輸層的特徵(Characteristic of Transport Layer)193
5.1.1連線埠(Port)193
5.1.2連線技術(Connection Modes)194
5.1.3套接字(Socket)195
5.1.4TCP和UDP協定的網路層次(Net Level of TCP and UDP
Protocol)196
5.2傳輸控制協定TCP(Transmission Control Protocol)197
5.2.1TCP段頭結構(TCP Section Header)197
5.2.2編號與確認(Number and Confirmation)200
5.2.3流量控制(Flow Control)200
5.2.4擁塞避免(Congestion Avoidance)201
5.2.5重發機制(Retransmission Mechanism)202
5.3TCP的傳輸連線管理(TCP Connection Setup )202
5.3.1建立連線(TCP Setup Transport Connection)203
5.3.2釋放連線(TCP Release Transport Connection)204
5.4用戶數據報協定UDP(User Datagram Protocol)205
5.4.1UDP用戶數據報的首部格式(UDP Header)205
5.4.2UDP套用於RPC(UDP Used In RPC)206
5.5網關及網路設備(Gateway and Network Devices)206
5.5.1網關的工作原理(Principle of Gateway)206
5.5.2網路互連設備比較(Comparison of Network Interconnection
Devices)208
5.6網路編程(Network Programing)209
5.6.1WinSock API接口(WinSock Application Program Interface)209
5.6.2WinSock編程(WinSock Programming)210
5.6.3客戶機/伺服器模式 (Client/Server Model)212
5.7實時傳輸協定RTP(Realtime Transport Protocol)213
5.7.1連續媒體數據基本特徵(Continuous Media Data Basic
Characteristics)214
5.7.2UDP套用於RTP(UDP Used In RTP)217
5.7.3RTP協定結構及工作機制(Format and Mechanism of RTP
Protocol)218
習題5220
實驗指導51TCP/UDP協定分析223
實驗指導52TCP協定通信過程分析224
實驗指導53基於Socket的傳輸層網路編程225
第6章加密安全(Encryption & Security)228
6.1網路安全分類(Security Classes)229
6.1.1安全攻擊(Safety Attack)229
6.1.2安全服務(Safety Service)230
6.1.3安全機制(Safety Mechanism)232
6.2對稱數據加密(Symetric Data Encryption)233
6.2.1DES算法(Algorithm)233
6.2.23DES算法235
6.2.3AES和IDEA235
6.3RSA公鑰密碼體制(Rivest,Shamir & Adleman Public Key)236
6.3.1公開密鑰體制的提出(The Public Key Infrastructure Was
Proposed)236
6.3.2公鑰體制工作原理(Principle of Public Key Infrastruction)237
6.3.3RSA算法(RSA Algorithm)238
6.4報文鑑別(Message Authenticating)241
6.4.1報文鑑別的意義(Purpose of Message Authenticating)241
6.4.2報文鑑別碼(Message Authentication Code)241
6.4.3MD5報文摘要算法(MD5 Message Digest Algorithm)242
6.5數字簽名及公鑰管理(Digital Signature and Public Key Management)243
6.5.1數字簽名(Digital Signature)243
6.5.2數字證書和公鑰基礎設施PKI(Certificate and Public Key
Infrastructure)244
6.6防火牆(Firewall)245
6.6.1防火牆的概念(Fundamental Concepts of Firewall)246
6.6.2防火牆的類型(Classification of Firewall)246
習題6248
實驗指導61網路常規加密DES249
實驗指導62網路公鑰加密RSA252
第7章套用層(Application Layer)255
7.1C/S、B/S和P2P技術256
7.1.1C/S和B/S的概念(C/S and B/S Concept)256
7.1.2P2P技術(Peer to Peer)259
7.2HTML、HTTP和Web(Hyper Text Markup Language,Hyper Text
Transport Protocol & Web)261
7.2.1HTML(HyperText Markup Language)262
7.2.2HTTP(HyperText Transfer Protocol) 264
7.2.3Web設計流程(Flow of Web Design)267
7.3嵌入式Web技術(Embedded Web)268
7.3.1傳統控制與Web控制系統比較(Traditional vs. Web Control
System)268
7.3.2嵌入式與標準Web伺服器的差別(Embedded vs. Standard
Web Server)269
7.3.3嵌入式Web的實現方式(Implement Way of Embedded Web
Technology)270
7.4DNS和DHCP(DNS and Dynamic Host Contribution Protocol)272
7.4.1網際網路的域名結構(Internet Domain Name Structure)272
7.4.2域名高速快取(Cache of Domain Name)273
7.4.3DNS 域名解析工作過程273
7.4.4引導程式協定BOOTP(Boot Protocol)274
7.4.5動態主機配置協定DHCP(Dynamic Host Contribution Protocol)274
7.4.6RARP、BOOTP和DHCP的區別275
7.5FTP、TFTP、Telnet和SNMP協定276
7.5.1檔案傳送協定FTP(File Transfer Protocol)276
7.5.2簡單檔案傳送協定TFTP(Trivial File Transfer Protocol)277
7.5.3遠程登錄協定Telnet(Remote Login Protocol Telnet)277
7.5.4簡單網路管理協定SNMP(Simple Network Management
Protocol)278
7.6SMTP、POP3和IMAP郵件協定279
7.6.1簡單郵件傳送協定SMTP(Simple Mail Transfer Protocol) 279
7.6.2POP3協定280
7.6.3IMAP協定280
7.7現場匯流排套用層協定(Field Bus Application Layer Protocol)281
7.7.1CANopen協定結構(CANopen Protocol Structure)281
7.7.2CANopen通信對象(CANopen Communication Objective)282
7.7.3標識符的地址分配(Address Allocation of Identifier)283
習題7284
實驗指導71網路伺服器管理實驗285
實驗指導72HTML設計實驗286
實驗指導73嵌入式Web伺服器實驗288
第8章嵌入、移動和物聯網(Embedded,Mobile & IOT)289
8.1嵌入式網路(Embedded Access Network)289
8.1.1嵌入式系統的組成(Form of Embedded Access Network)290
8.1.2乙太網和CAN現場匯流排比較(Ethernet and CAN Comparison)291
8.1.3嵌入式TCP/IP協定棧(Embedded TCP/IP Protocol Stack)293
8.1.4嵌入網路的上位機通信(Communication of Embedded Network
With PC)296
8.2無線感測器網路——ZigBee(Wireless Sensor Network—ZigBee)297
8.2.1ZigBee概述(ZigBee Introduction)297
8.2.2ZigBee設備節點(ZigBee Device Node)299
8.2.3ZigBee網路拓撲結構(ZigBee Network Topology)299
8.3蜂窩移動通信(Cellular Mobile Communication)301
8.3.1GSM蜂窩移動通信(GSM Cellular Mobile Communication)301
8.3.2第三代移動通信(3G)303
8.3.3TDSCDMA技術305
8.3.4第四代移動通信的關鍵技術(4G Key Technology)307
8.4物聯網(Internet of Things)309
8.4.1物聯網定義(Definition of Internet of Things)309
8.4.2物聯網關鍵技術(Key Technology of Internet of Things)310
習題8311
實驗指導81ZigBee仿真實驗312
附錄314
附錄A網路協定分析工具Wireshark314
A.1什麼是Wireshark314
A.2Wireshark安裝315
附錄B路由交換仿真工具NetSim315
附錄C網路協定仿真工具NS2316
附錄D網路常見英語縮略辭彙317
附錄E網路常用標準325
參考文獻327